Optimierung der Softwarestruktur und der Systemlatenz des ETI-SoC-Systems

  • Motivation

    Für die Erforschung und Entwicklung hoch performanter Antriebs- und Umrichtersysteme wurde am ETI eine eigene Signalverarbeitungsplattform auf Basis einer kombinierten Prozessor-/FPGA-Architektur (System-on-Chip Xilinx Zynq 7030) entwickelt. Im Vergleich zum Vorgängersystem bietet die hohe Integrationsdichte des SoC die Möglichkeit, eine große Anzahl physikalischer Größen im FPGA zu erfassen und mit geringer Latenz zu verarbeiten.
    Für eine schnelle Hardwareumsetzung eines in Simulink entworfenen Reglers kommt eine am ETI entwickelte C-Codegenerierung zum Einsatz. Damit können Regelalgorithmen auf einem ARM-Kern des SoC ausgeführt werden, was im Gegensatz zu einer Reglerimplementierung im FPGA weniger aufwändig ist.
    Um Regelalogrithmen mit immer kleineren Zykluszeiten im ARM-Kern ausführen zu können, ist eine geringe Latenz bei der Datenübertragung zwischen Messwerterfassung im FPGA und ARM-Kern nötig.

    Aufgabenstellung

    Ziel dieser Arbeit ist es, die bisherige Softwarestruktur des Systems zu optimieren. Bei der Kommunikation zwischen ARM-Prozessor und FPGA zum Austausch der Variablen des Reglers wurde bereits ein Verbesserungspotential bei der derzeitigen direct memory access (DMA) Implementierung erkannt, das es umzusetzen gilt. Für die Entwicklung der SoC-Software kommen die Entwicklungstools Xilinx Vivado und Xilinx Software Development Kit (XSDK) zum Einsatz. Zur Aufagbe gehört auch die Anpassung des C-Codegerüsts, das für die Simulink Codegenerierung verwendet wird.