Lernen Sie LabVIEW FPGA auf NI myRIO - Hello World!

National Instruments DIAdem: Online-Selbstlernkurs - Beispielvideo (Juli 2019).

$config[ads_text] not found
Anonim

Lernen Sie LabVIEW FPGA auf NI myRIO - Hello World!


In Verbindung stehende Artikel

LabVIEW FPGA auf NI myRIO verwenden:

Teil 1: Was ist LabVIEW FPGA?
Teil 2: Hallo Welt (Blinkt eine LED)
Teil 3: Analogwerte lesen
Teil 4: FIFOs
Teil 5: Code von Drittanbietern

Überblick

Dies ist Teil 2 von LabVIEW FPGA mit NI myRIO-Artikelserie. Im letzten Artikel ging es um die Grundlagen, was ein FPGA ist, wie man ein LabVIEW-Projekt erstellt, wie man auf das eingebettete myRIO-Gerät zugreift, und wir haben sogar unsere erste FPGA-Anwendung geschrieben. Dieser Artikel zeigt, wie wir das, was wir gerade gelernt haben, mit der realen Welt verbinden können. Es wird erläutert, wie Sie auf die digitalen Eingangs- und Ausgangsports des myRIO zugreifen und wie Sie Daten aus früheren Code-Schleifen-Iterationen verwenden können, indem Sie ein Konzept in LabVIEW namens Schieberegister verwenden. Dann verbinden wir eine einfache Leuchtdiode mit einer der Digitalleitungen des myRIO und lassen sie blinken, indem Sie sie jede Sekunde ein- und ausschalten.

Verdrahtung der Hardware

Zuerst benötigen wir eine Leuchtdiode (LED) zum Schalten. Es wird empfohlen, eine 3, 3 V-LED zu verwenden, da das myRIO nur 3, 3 Volt auf den digitalen Leitungen bereitstellen kann. Wie wir in späteren Artikeln sehen werden, wird es beim Lesen noch weiter gehen können. Beachten Sie, dass eine normale 5V-LED ebenfalls funktioniert, aber möglicherweise nicht so hell ist. Dann müssen wir einen Wert für unseren Strombegrenzungswiderstand berechnen, der zwischen der LED und der digitalen Leitung in Reihe geschaltet wird. Dies ist erforderlich, da lichtemittierende Dioden sehr empfindlich sind und ohne einen Widerstand zur Begrenzung des Stroms die digitale Leitung und die Masse des myRIO im Wesentlichen "verkürzen". Während es den myRIO nicht unbedingt brechen würde, könnte es leicht die LED blasen. Ganz zu schweigen davon, dass das Ignorieren des Strombegrenzungswiderstands insgesamt als eine schlechte Verdrahtungspraxis angesehen wird. Es gibt eine Menge fantastisches Material zu diesem Thema online und wir werden nicht zu sehr auf die Theorie eingehen. Wenn wir uns das Verdrahtungsschema ansehen (Abbildung 1), können wir sehen, dass der Widerstand, R wie folgt gefunden werden kann:

Abbildung 1 Schaltplan

Abbildung 2 Der 330Ohm-Widerstand wurde um die Anode der LED gedreht und die Verbindungen zum myRIO wurden über zwei Buchsen-Buchse-Verbindungen hergestellt.

Schreiben des FPGA-Codes

Wie im ersten Artikel wollen wir ein neues LabVIEW-Projekt erstellen, es als "myRIO FPGA Series 2.lvproj" speichern und die NI myRIO als Zielgerät hinzufügen. Dann müssen wir ein neues VI erstellen und es im selben Verzeichnis wie " FPGA.VI " speichern . Innerhalb dieses VIs müssen wir eine while-Schleife ( A ) erstellen, um sicherzustellen, dass unser Code kontinuierlich ausgeführt wird. Wie letztes Mal werden wir eine falsche boolesche Konstante an die Stoppbedingungsterminal ( B ) anschließen, um sicherzustellen, dass unser Code niemals beendet wird. Dann müssen wir die DIO0- Ressource von Port C des Projekts ( C ) auf unser FPGA-VI ziehen und ablegen, wie in Abbildung 3 gezeigt. Standardmäßig befindet es sich im Lesezustand, also klicken Sie mit der rechten Maustaste auf die DIO0-Ressource Wählen Sie "Zum Schreiben ändern". Dann erstellen wir eine weitere boolesche Konstante, mit der wir jede Schleifeniteration ( D ) invertieren. Um den Wert der vorherigen Schleifeniteration beizubehalten, werden wir die Schieberegister ( E ) verwenden. Stellen Sie sich ein Schieberegister als einen Speicherblock vor, der sich "merkt", was mit ihm beim letzten Mal verbunden war. Um ein Schieberegister hinzuzufügen, verbinden Sie die Daten zuerst mit der While-Schleife, dann mit der rechten Maustaste auf das Terminal und wählen Sie "Durch Schieberegister ersetzen …". Auf diese Weise können wir den Wert jedes Mal, wenn die While- Schleife läuft, weiter invertieren und somit die LED ein- und ausschalten. Dann sollten wir etwas Timing ( F ) hinzufügen, sonst wird unser Code die LED viel zu schnell für uns sehen, um zu sehen! Stellen Sie sicher, dass das Timing auf Millisekunden konfiguriert ist, indem Sie auf die Timing-Funktion doppelklicken und "Counter Units" bis "mSec" ( G ) auswählen. Schließlich können wir auch einen Indikator erstellen, um zu überprüfen, ob unsere invertierende Logik tatsächlich wie erwartet funktioniert ( H ).

Abbildung 3 LabVIEW-FPGA-Code mit den zugehörigen Erläuterungen

Ausführen des FPGA-Codes

Wenn Sie das Tutorial korrekt befolgt und das FPGA-VI ausgeführt haben, sollten Sie nach dem Kompilieren nun sowohl die LED-Anzeige an der Frontplatte als auch die tatsächliche LED gleichzeitig sehen. Herzlichen Glückwunsch, Sie haben jetzt die Hardware-I / O-Anbindung über FPGA in mehreren einfachen Schritten mit LabVIEW und NI myRIO erfolgreich implementiert. Sie können versuchen, den Timing-Wert wie in ( F ) in Abbildung 3 gezeigt zu ändern und zu sehen, wie sich die Frequenz der LED-Umschaltung ändert. Alternativ können Sie auch versuchen, die Anode der LED mit einer anderen DIO-Leitung zu verbinden, den Code zu ändern und neu zu kompilieren, um sicherzustellen, dass Sie verstehen, was das Tutorial behandelt hat.

Im nächsten Artikel werden wir behandeln, wie Sie diese LED nicht nur blinken lassen, sondern auch die Helligkeit ändern können. Außerdem steuern Sie dies über einen variablen Widerstand, das als Potentiometer bezeichnet wird!

LabVIEW FPGA-Code

Nächster Artikel in der Serie: Lesen von Analogwerten und PWM mit LabVIEW FPGA