FPGA-Technologie

FPGA-basierte Analyse eines proprietären Bussystems mit NI LabVIEW FPGA und Single Board RIO

Seite: 2/2

Anbieter zum Thema

Das Datenaufkommen angemessen aufnehmen

Das Single Board RIO 9631 von National Instruments stellte sich als sehr gut geeignete Hardware heraus. Mit seinem Xilinx Spartan-3 FPGA, einem Echtzeit-Mikrocontroller mit 266 MHz von Freescale sowie einem 10/100BASE-TX Ethernet-Port erfüllt es alle gestellten Anforderungen, um das Datenaufkommen angemessen aufzunehmen, weiterzuverarbeiten und abschließend auch ausreichend performant anderen Anwendungen zur Verfügung stellen zu können. Zusätzlich bietet dieser Hardware-Ansatz weitere Reserven, um diese Applikation sinnvoll weiter entwickeln zu können.

Zum Nachbereiten der Daten, speichern und visualisieren fiel die Wahl auf einen Standard-PC. Dieser empfängt die vorverarbeiteten Befehls- und Prozessdaten via Ethernet, speichert diese in einem Logfile ab und stellt diese bei Bedarf auch grafisch dar.

Der Aufbau der Software und wie sich der Datenzyklus des K_Bus aufnehmen lässt

Für das Single Board RIO 9631 kommt LabVIEW inklusive FPGA- und Real-Time Modul zum Einsatz. FPGA-seitig wurden mit LabVIEW-FPGA-Modulen verschiedene State-Machines erstellt, welche deterministisch und parallel zueinander arbeiten.

Diese State-Machines sind jedoch ähnlich wie bei einem Petri-Netz logisch miteinander verbunden. Daher bestehen teilweise Abhängigkeiten untereinander, welche synchronisierenden Charakter haben. Nur so ist es möglich, den gesamten K_Bus Datenzyklus korrekt und in der entsprechenden Reihenfolge aufzunehmen.

Die empfangenen Messdaten werden vorverarbeitet

Über einen DMA-FIFO werden die erfassten Daten an den Real-Time-Mikrocontroller übergeben. Der Microcontroller wurde mit dem Real-Time-Modul von LabVIEW programmiert und VxWorks diente als Betriebssystem. Die empfangenen FPGA-Daten werden dort vorverarbeitet, indem sie geordnet und von weiterhin nicht mehr benötigten Teilen befreit werden.

Ein Vorteil ist der verminderte Datenverkehr via TCP-Verbindung vom Single Board RIO zum PC. Da eine TCP-Verbindung keine echtzeitfähige Verbindung darstellt, werden die vorverarbeiteten Daten vorerst im RAM des Echtzeit-Mikrocontrollers abgelegt bis sie versendet werden.

Um die Verluste der aufgenommenen, verarbeiteten und übertragenen Daten zu vermeiden, müssen die einzelnen Tasks auf dem Real-Time-Mikrocontroller auf ihr zeitliches Verhalten kontrolliert werden.

Mit den Funktionalitäten aus den LabVIEW-Real-Time-Modulen ist das möglich. Anzumerken ist, dass der FPGA- und Echtzeitcode auf eine variable Prozessdatenlänge ausgelegt ist. Das bedeutet, dass die Prozessdaten unabhängig von Art und Anzahl der angeschlossenen I/O-Baugruppen automatisch in korrekter Länge aufgenommen, vorverarbeitet und an den PC versendet werden.

Gewonnene Messdaten erfassen und analysieren

Die erstellte PC-Applikation gliedert sich in zwei wesentliche Funktionseinheiten. Der Teil zur Erfassung baut die TCP-Verbindung zum sbRIO-9631 auf, verarbeitet die empfangenen Daten nach und speichert diese in einem Logfile ab.

Der Analyseteil öffnet ein beliebiges Logfile, selektiert benutzerdefiniert einzelne I/Os und stellt deren zeitlichen Verlauf grafisch dar. Mit dieser Applikation kann der Anwender Rückschlüsse über die korrekte Datenerfassung einzelner I/O-Baugruppen ziehen.

Der Einsatz von FPGA-basierter Hardware in Zusammenarbeit mit NI LabView FPGA- und Real-Time Modul bildet damit die Grundlage für eine schnelle, flexible und auch kompakte Lösung und eröffnet Optionen und Möglichkeiten, die es so bisher nicht gab.

* * Dennis Schmidt, Sören Baro und Erik Münz arbeiten im Prüfmittelbau Automation bei WAGO Kontakttechnik in Minden.

(ID:28712790)