Entwicklung einer Adapterplatine für Fahrzeug-Radar
Der Kunde
Ein Unternehmen, das sich auf KI und Automotive Perception spezialisiert hat.
Die Herausforderung
Ziel des Projektes war es, Daten vom Sensorboard zu empfangen und an einen PC weiterzuleiten. Dazu müssen die empfangenen Daten auf dem FPGA in einer definierten Reihenfolge organisiert werden, um über 10G-Ethernet an einen PC übertragen zu werden.
Unser Kunde hatte den Prototypen eines RF-Radars mit einem Sensor-IC von Analog Devices entwickelt, das ein Funksignal sendet und dessen Reflexionen einfängt.
Unsere Aufgabe war die Entwicklung einer Adapterplatine, die über FMC mit dem Xilinx ZCU102 EVB und dem Radarboard des Kunden verbunden werden kann.
Die Adapterplatine überträgt Signale zwischen der Sensorplatine und der ZCU102: 900 MBits/s pro LVDS-Datenleitung (16 Leitungen), Takte und Managementsignale.
Die Lösung
1. Hardware-Design
Unsere Hardware-Ingenieure haben eine Adapterplatine entwickelt, die die Sensorplatine des Kunden und den ZCU102 EVB miteinander verbindet. Der Adapter sorgt auch für die Stromversorgung und Spannungsumwandlung für die Sensorplatine.
- Entwicklung der Dokumentation
- PCB-Entwurf
- Entwicklung einer Bibliothek
- PCB-Tracing
- Simulationen und Tests
2. Softwareentwicklung
Unsere FPGA-Ingenieure haben die FPGA-Firmware und eine Bare-Metal-Anwendung für den Cortex R5 entwickelt. Die FPGA-Firmware führt die folgenden Prozesse aus:
- Empfang von LVDS-Daten von der Sensorplatine,
- Parsing und Überprüfung der Konsistenz der empfangenen Daten
- Umwandlung der Daten zu benutzerdefinierten Paketen und Übertragung der Pakete über 10G-Ethernet mittels RTP- und UDP-Protokollen
Die Cortex-R5-Anwendung übernimmt die Konfiguration und Verwaltung der FPGA-Logik und der Sensoren.
Die Anwendung besteht aus den folgenden Schichten:
- Treiber für FPGA-IP-Cores
- Treiber für die Sensoren
- HAL
- Anwendungslogik
Außerdem bietet die Anwendung eine CLI über UART, mit der der Benutzer verschiedene Parameter der FPGA-IP-Kerne und Sensoren konfigurieren und verwalten kann.
Für das automatisierte Testen, Verwalten und Konfigurieren des gesamten Systems über UART unter Verwendung der CLI und der Dienstprogramme des Kunden wurden Python-Skripte geschrieben.
Außerdem haben die Promwad-Ingenieure einen Pfad für die Konfiguration der Sensoren, den Empfang von FTP-Paketen und die Low-Level-Steuerung entwickelt.
Darüber hinaus haben sie implementiert:
- Eingangspfad
- Serieller und paralleler Busempfang
- Datenverarbeitung: Parsing, Merging
- Debugging
- Hochfahren
Der wirtschaftliche Nutzen
Der Kunde hat eine komplexe Lösung für Computer Vision, Automotive Perception und andere Nischen erhalten. Die Lösung kann problemlos auf benutzerdefinierten Hardwareplattformen eingesetzt werden, die den Anforderungen der Kundenplattform entsprechen. Ein Beispiel für eine mögliche Hardware-Lösung ist ein SoM mit Xilinx FPGA.
Schwerpunkte des Projekts:
- LVDS-Datenempfang/Parsing, Prüfung und Paketbildung
- 10G-Ethernet-Stack
- Treiber für FPGA-IP-Cores
- Anwendungslogik auf Benutzerebene
- Python-Skripte
- Integration und Debugging
- Hochfahren auf der Hardware des Kunden