Zynq UltraScale+ Datenlogger mit 800 MByte/sec
![]() |
Das Projekt |
|
Eine der zentralen Aufgaben von Test- und Messsystem ist es, möglichst viele Messwerte aufzuzeichnen. Fallen dabei grosse Datenmengen in kurzer Zeit an, spielen FPGA basierte Lösungen ihre Vorteile wie inhärente Parallelität, extrem hohe Bandbreite, Flexibilität, Unterstützung der verschiedensten Schnittstellen sowie integrierte CPUs voll aus. Wird als Basis zudem ein FPGA Modul verwendet, reduziert sich das Hardware-Design meist auf die Entwicklung eines Base Boards mit tiefer Komplexität und wenigen Bauteilen, was sowohl das Projektrisiko wie auch die Entwicklungszeit und Kosten deutlich senkt. All diese Punkte haben einen Kunden überzeugt, von Enclustra einen Datenlogger entwickeln zu lassen, um ein bestehendes Messsystem zu erweitern. Um die Entwicklungszeit so kurz wie möglich zu gestalten, starteten die FPGA Experten die Entwicklung des Base Boards für das Enclustra Mercury+ XU8 SOM mit Xilinx Zynq UltraScale+ gleichzeitig mit der Firm- und Software Entwicklung. Als Betriebssystem auf dem im FPGA integrierten Vierprozessorsystem kommt Linux zum Zug, das auch die Daten auf die SSD-Disks schreibt und liest. Als Filesystem für die Logdaten kommt Ext4 zum Einsatz. Dank dem zum Mercury+ XU8 kostenlos gelieferten Linux Board Support Packet (BSP), war dieser Technologieentscheid schnell gefällt. Zwei weitere Schlüsseltechnologien beziehungsweise Vorgehensweisen halfen weiter, den Entwicklungsaufwand zu minimieren. Für die Firmware setzt Enclustra wenn immer möglich IP Cores ein – schliesslich soll das Rad nicht neu erfunden, sondern möglichst effizient ein Problem gelöst werden. Für die Zwischenspeicherung der Messdaten – bevor sie auf die SSD-Disks geschrieben werden – wurden mit dem Stream Buffer Controler IP Core virtuelle FIFOs realisiert. Dieser IP Core kann bis zu 16 unabhängige Datenströme gleichzeitig bedienen und unterstützt Speichergrössen von bis zu 4 GByte – mehr als genug für die allermeisten Anforderungen. Die Software in C# basierend auf ASP.NET Core ermöglichte die Integration des Datenloggers in eine bestehende Netzwerk Infrastruktur in Rekordzeit. Durch eine Web API lässt sich der Datenlogger über Netzwerk von einem übergeordneten System steuern. Ein lokales und schlankes Web-GUI basierend auf ASP.NET MVC mit Razor Pages hat sich für das Bring-up als sehr hilfreich erwiesen. Innert kürzester Zeit konnte so ein System mit zwei SATA SSD-Disks mit Hot-Plug-Gehäuse realisiert werden, welche die Messdaten kontinuierlich mit 800 MByte/sec aufzeichnen und auch wieder abspielen können. Die Flexibilität der FPGA Technologie ermöglichte es, das System zudem schon von Anfang an so auszulegen, dass in einem späteren Schritt anstatt der SATA Disks noch schnellere NVMe Disks im M.2 Gehäuse verwendet werden können. |
Verwendete Technologien |
| Xilinx® Zynq® UltraScale™+ | VHDL | Mentor Graphics ModelSim® | C# | ASP.NET Linux | SATA |
Enclustra Dienstleistungen |
| FPGA System Design | FPGA Hardware | FPGA HDL | Embedded Software |
