AVV-Systeme (Automatic Vehicle Variable) verwenden häufig handelsübliche Mikrocontroller oder digitale Signalprozessoren zur Implementierung von Verarbeitungs- und Regelkreisen. Diese überwachen die Last und steuern direkt Drehmoment, Drehzahl, Position und weitere antriebsrelevante Aspekte des Motors. Allerdings stoßen diese Geräte bei der Verarbeitung zunehmend komplexer Algorithmen für mehrachsige Antriebe an ihre Grenzen hinsichtlich Skalierbarkeit und Leistungsfähigkeit. Aktuell müssen Motorsteuerungen vernetzt werden, um die industrielle Automatisierung zu unterstützen. Mikrocontroller und digitale Signalprozessoren bieten jedoch nicht die nötige Flexibilität, um die vielfältigen bestehenden industriellen Netzwerkstandards zu erfüllen.
Aufgrund ihrer Flexibilität und Leistungsfähigkeit sowie der Vorteile hinsichtlich Integration und Designprozessen konzentrieren sich Entwickler nun verstärkt auf FPGAs für AVV-Systeme der nächsten Generation. Viele Motorsteuerungsingenieure sind jedoch auf DSP-Software oder -Algorithmen spezialisiert und verfügen nicht über RTL-Kenntnisse im FPGA-basierten Design.
Um diese durch den Spezialisierungsbedarf bedingte Diskrepanz zu überwinden, werden modellbasierte Entwurfstechniken wie MATLAB/Simulink zur besseren Modellierung dieser Algorithmen eingesetzt. Zusammen mit blockbasierten Entwurfswerkzeugen wie dem DSP Builder Advanced Blockset von Altera können DSP-Entwickler in einer vertrauten MATLAB-Umgebung arbeiten und automatisch optimierten RTL-Code generieren. DSP Builder ermöglicht die zeitliche Aufteilung logischer Operatoren wie Multiplizierer und Addierer und unterstützt Gleitkomma- und Festkommaarithmetik direkt in Hardware. Variable Präzisions-DSP-Blöcke auf dem FPGA können den präzisen Timing-Algorithmus mit seinem Festkomma- und Gleitkomma-DSP verarbeiten und rechenintensive Operationen wie die feldorientierte Steuerung (FOC) problemlos implementieren.
Ein weiterer wesentlicher Vorteil von FPGAs liegt in ihrer Fähigkeit, die meisten Funktionsblöcke eines Motorsteuerungssystems zu integrieren. Dies ist auf ihre Fähigkeit zurückzuführen, Regelkreise zu verarbeiten und parallele Prozesse zu unterstützen. Eingebettete Prozessoren wie der Altera® Nios® II (32-Bit-RISC-Softwareprozessor) können die verschiedenen Ein-/Ausgänge steuern und Filterung sowie die Anbindung externer Sensoren oder Geräte mit beliebigen digitalen Schnittstellenstandards ermöglichen, beispielsweise Sigma-Delta-, BISS-, ENDAT- oder Hyperface-Encoder. Mit einem Nios-II-Prozessor und einem kundenspezifischen Ethernet-MAC lässt sich sogar ein deterministisches Industrial-Ethernet-Protokoll wie EtherCAT oder PROFINET implementieren. Da FPGAs programmierbar sind, kann das Gerät rekonfiguriert und die Unterstützung für beliebige Sensorschnittstellen oder Industrial-Ethernet-Standards implementiert werden, ohne die physische Hardware zu verändern. Diese Flexibilität ist ein entscheidender Vorteil von FPGAs.
Die Fähigkeit eines FPGAs, jeden industriellen Ethernet- (oder seriellen Feldbus-)Standard zu unterstützen, ermöglicht es Entwicklern, beliebige Sicherheitsprotokollstandards oder -stacks problemlos in den Antrieb zu integrieren. Altera hat kürzlich ein Sicherheitsdatenpaket für seine FPGA-Bausteine und Entwicklungswerkzeuge angekündigt. Dadurch können Entwickler sicherheitsrelevante Funktionen in denselben FPGA wie die Antriebssteuerung integrieren und so die Kosten weiter senken. Die Vorzertifizierung des FPGA-Entwicklungsworkflows, der Entwicklungswerkzeuge und der Daten zur Gerätezuverlässigkeit verkürzt die Entwicklungs- und Sicherheitszulassungszeiten erheblich.
Im in Abbildung 2 dargestellten System ist der Sicherheitsbereich mit zwei Sicherheitssteuerungen realisiert. Diese Redundanz dient dem Schutz vor Systemausfällen. Durch den Vergleich der Ausgänge beider Sicherheitssteuerungen wird ein Ausfall einer Steuerung erkannt, und das System kann eine entsprechende Sicherheitsabschaltung durchführen. Die zweite Sicherheitssteuerung kann auf einem weiteren FPGA oder einem Mikrocontroller implementiert werden.
Vorteile von FPGAs für die Implementierung von DSP-Algorithmen
FPGAs bieten zahlreiche Vorteile hinsichtlich der Leistungsfähigkeit, wie zum Beispiel:
1. Schnellere Ausführung und Verarbeitungsgeschwindigkeit dank der Parallelität der FPGA-Hardware und der Skalierbarkeit auf größere Geräte bei Bedarf.
2. Reduzierte Wartezeiten durch die potenzielle Hardwarebeschleunigung zuvor in Software implementierter Aufgaben und die direkte Schnittstelle zwischen dem Regelalgorithmus und seinen Peripherieschnittstellen (A/D-Wandler, PWM, Positionsgeber usw.) durch die Integration in den FPGA.
3. Konstante Wartezeiten für hardwareimplementierte Algorithmen. Wartezeiten in Softwareimplementierungen sind schwer vorherzusagen und können bei unsachgemäßer Handhabung Echtzeitprobleme verursachen.
4. Die Synthese eines Simulink-Designs auf hoher Ebene direkt in eine FPGA-Implementierung mit DSP Builder erfordert keine fortgeschrittenen HDL-Kenntnisse seitens des Algorithmenentwicklers.
– Die Verwendung der Unfolding-Funktion ermöglicht die Kompensation von Wartezeiten, Verarbeitungsgeschwindigkeit und Ressourcenzuweisung.
– Die Unterstützung von Gleitkomma- und Festkommaarithmetik mit variabler Genauigkeit ermöglicht die Algorithmusoptimierung.
Migration von bestehendem C-Code auf eine FPGA-Plattform:
Entwickler können Anwendungen mithilfe von bestehendem C-Code auf FPGAs migrieren, sobald dieser auf einen Nios II Embedded-Prozessor portiert wurde. Der Code kann analysiert werden, um CPU-intensive Engpässe zu beheben oder Echtzeitaufgaben auf das FPGA auszulagern und so den Prozessor für andere Aufgaben zu entlasten. Entwickler können Funktionen auslagern, indem sie benutzerdefinierte, handgeschriebene RTL-basierte Befehle erstellen oder DSP-Hardwarebeschleuniger mit dem DSP Builder generieren.
Für neue Designs können Entwickler von Anfang an Simulink verwenden, um das gesamte System mit Blöcken zu modellieren, die in Software, DSP-Hardwarebeschleuniger oder benutzerdefinierte RTL-IP (Peripherieschnittstellen usw.) unterteilt sind.
Das Advanced Block Set von DSP Builder
erweitert die MATLAB-Entwicklungsumgebung um spezialisierte Simulink-Bibliotheken und ermöglicht so die schnelle und einfache Implementierung von DSP-Designs. Das Advanced Block Set basiert auf einer High-Level-Synthesetechnologie, die die Netzliste ohne Zeitlimit optimiert und die Hardware für das Ziel-FPGA mit der erforderlichen Taktfrequenz segmentiert. DSP Builder beschreibt die Hardware in VHDL und stellt Skripte bereit, die sich in den Quartus® II Software-Workflow und den ModelSim-Simulator integrieren.
Ist die Systemtaktfrequenz höher als die Daten- oder Abtastrate, kann ein Hardwareblock, wie beispielsweise ein Multiplizierer, potenziell mehrere Datenpunkte erneut verarbeiten. DSP Builder bezeichnet das Verhältnis von Taktfrequenz zu Abtastrate als „Fold-Faktor“. Durch Aktivieren des Fold-Faktors in DSP Builder können mehrere Datenpunkte auf den gemeinsam genutzten Hardwareblock zugreifen, was zu Ressourceneinsparungen führt.
Typisches Beispiel für Motorsteuerung, Tests und Ergebnisse:
Die feldorientierte Regelung (FOC) muss einen dreiphasigen sinusförmigen Motorstrom in Echtzeit steuern können, um ein gleichmäßig rotierendes Magnetfeld zu erzeugen, dessen Rotationsfrequenz der Frequenz der Sinuswellen entspricht.
Das Verfahren regelt die Amplitude des Stromvektors im 90°-Winkel zur Magnetflussachse des Rotors (Quadraturstrom), um
das Drehmoment zu steuern und die Gleichstromkomponente (0°) auf null zu halten.
Diese Lösung beinhaltet auch PI-Regelkreise für Position und Drehzahl, um die Rotordrehzahl und den Rotorwinkel zu steuern. Die für die in Abbildung 1 dargestellte Konstruktion benötigte Schnittstellen-IP lässt sich einfach mit dem SOPC Builder-Tool von Altera erstellen.
In einem typischen FOC-Regler tastet die Software die Eingangssignale mit 10–100 kS/s ab, und die FPGA-Taktfrequenz beträgt 50–100 MHz. Bei 100 kS/s muss ein neuer Messwert in weniger als 10 µs verarbeitet werden. Eine konstante und minimale Wartezeit ist vorteilhaft für die Leistungsfähigkeit des Regelalgorithmus.
Sobald der Algorithmus in Simulink mit einfacher Genauigkeit und der erwarteten Performance modelliert ist, wird die Hardware generiert, um die VHDL-Verbindungsliste für das gewählte FPGA mit einer Zieltaktfrequenz von 100 MHz zu erstellen. DSP Builder zeigt direkt die Wartezeit des Algorithmus sowie eine Schätzung des Ressourcenverbrauchs an. Um die genaue Ressourcennutzung zu ermitteln, wird der Entwurf anschließend mit der Quartus II-Software kompiliert.
Ein solcher Entwurf eignet sich zwar für die Festkomma-Implementierung, die Gleitkomma-Notation bietet Entwicklern jedoch zahlreiche Vorteile.
Vermeiden Sie aufwändige arithmetische Berechnungen und Skalierungsprobleme und verkürzen Sie so die Entwicklungszeit. Profitieren Sie von
überlegener Leistung dank inhärenter numerischer Stabilität.
Potenziell schnellere Regelkreisreaktionen durch den hohen Dynamikbereich.
Die FPGAs und Entwicklungswerkzeuge von Altera unterstützen sowohl Festkomma- als auch Gleitkomma-Lösungen.
Standardmäßig erzeugt DSP Builder eine vollständig segmentierte Darstellung, die in jedem Taktzyklus neue Eingangswerte verarbeiten kann. Die Entwickler vergleichen das Ergebnis dieser Konfiguration mit einer Konfiguration mit Splitting (siehe Abbildung 3). Außerdem vergleichen sie es mit demselben Algorithmus in Festkomma- und Gleitkommadarstellung (siehe Abbildung 4).
Die folgenden Ergebnisse zeigen, wie Splitting die Anzahl der Operatoren deutlich reduziert und so den Einsatz eines wesentlich kleineren Cyclone IV-Bausteins mit längerer Wartezeit ermöglicht, ohne die Anforderungen des Algorithmus zu beeinträchtigen. Die Regelkreisgeschwindigkeit ergibt sich aus der Summe von Warte- und Einschwingzeit des Algorithmus. 200.000 PWM-Schleifen bzw. Ausgänge pro Sekunde werden in 5 Mikrosekunden erreicht und erfüllen somit die geforderte Spezifikation.
Zusammenfassung der Ergebnisse
: 1. Mit Aufteilung:
– Reduziert den Bedarf an Logikelementen (LEs) und Multiplizierern, wodurch ein deutlich kleinerer FPGA möglich ist.
– Erhöht die Wartezeit, bleibt aber für den Algorithmus akzeptabel.
– Reduziert die Verarbeitungsgeschwindigkeit auf 1 MS/s, was immer noch 10-mal schneller ist als die für FOC benötigten 100 kS/s.
– Ermöglicht die Echtzeitverarbeitung von bis zu 10 Kanälen des FOC-Algorithmus.
2. 32-Bit-Gleitkomma- und Festkommazahlen nutzen Ressourcen ähnlich, die Wartezeit bei Festkommazahlen ist jedoch fast halb so lang. Ohne Aufteilung ist der Unterschied im Ressourcenverbrauch zwischen Gleitkomma- und Festkommazahlen deutlich größer.
3. Die Reduzierung der Genauigkeit auf 16 Bit verringert den Ressourcenbedarf aufgrund des schmaleren Datenpfads.
Zusammenfassung:
Aktuelle Mikrocontroller und digitale Signalprozessoren stoßen bei der Entwicklung von Bewegungssteuerungen der nächsten Generation an ihre Grenzen. FPGAs bieten die ideale Plattform für die Bewegungssteuerung, da sie Folgendes ermöglichen:
- Flexibilität zur Integration aller Funktionen in ein einziges Gerät.
- Genehmigte Entwicklungs-Workflows, Tools und IP-Adressen für Sicherheit sowie Daten zur Gerätezuverlässigkeit.
- Skalierbare Funktionen zur Verarbeitung mehrerer Kanäle und Unterstützung hochpräziser Gleitkommaoperationen.
- Zugriff auf eingebettete Prozessoren, Netzwerke und Schnittstellen-IP für Peripheriegeräte und Systemlösungen, was eine schnelle und einfache Systemintegration ermöglicht.
Viele Entwicklungsingenieure sind mit dem Einsatz von FPGAs in DSP-Anwendungen nicht vertraut. Daher ist es wichtig, Werkzeuge bereitzustellen, die die Effizienz steigern und die Entwicklungszeit verkürzen. Altera hat eine Reihe von Werkzeugen entwickelt, darunter SOPC Builder und DSP Builder, mit denen Anwender herkömmliche DSP-Entwicklungsabläufe nutzen und schnell ihre Motorsteuerungssysteme der nächsten Generation erstellen können.
Autor:
Kevin Smith, Designingenieur, Senior MTS, Altera.

