Altera

FPGAs in embedded Anwendungen

18. Mai 2011, 14:31 Uhr | Iris Stroh
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Ist VHDL eine Hürde?

Inwieweit ist es also überhaupt noch ein Problem, dass Entwickler von embedded Anwendungen typischerweise mit VHDL keine Erfahrung haben?

Auch trotz des Spektrums an Entwicklungs-Tools müssen embedded Entwickler anfänglich eine Lernkurve durchlaufen. Nur mit der Zeit lässt sich begreifen, wie alle Elemente eines Systems zusammengesetzt werden. Um diese Lernkurve aber möglichst schnell zu durchlaufen, bieten wir umfassendes Trainings-Material, einschließlich Tutorials, Beispielsprojekte und Entwicklungs-Kits, mit dem wir dem Entwickler helfen, das für ihn neue Konzept zu begreifen.

Geht es um Embedded-Prozessor-orientierte Anwendungen stellen wir auch System-Generation-Tools wie QSYS zur Verfügung. Damit kann ein Entwickler einfach mithilfe von bereits vorentwickelten IP-Blöcken sein embedded System aufbauen, ohne allzu viel Wissen über FPGAs haben zu müssen. Das System kann dann zur Software-Entwicklung auf ein Entwicklungs-Kit geladen werden. Und mit der Zeit kann der Entwickler dann auch sein eigenes IP hinzufügen, weil er ja immer vertrauter mit der Technologie wird.

Inwieweit spielt es für den Erfolg beziehungsweise Misserfolg von FPGAs im Embedded Bereich eine Rolle, dass auf den FPGAs keine Analog-/Mixed-Signal-Funktionen wie A/D-Wandler, Operationsverstärker etc. zu finden sind?

FPGAs werden in einer riesigen Vielfalt von Anwendungen genutzt. Damit wäre es schwierig, A/D- oder D/A-Wandler zu definieren, die allen Anforderungen dieser Vielfalt von Applikationen gerecht werden. Somit ist es gegenwärtig effizienter, diese Funktionen außerhalb des FPGAs zu halten. Und ehrlich gesagt: Wir glauben auch nicht, dass dies einen negativen Einfluss auf den Erfolg von FPGAs in embedded Anwendungen hat.

Welche Kriterien sollte ein Entwickler berücksichtigen, wenn er bei einem Neu-Design darüber entscheidet, ob ein FPGA als Co-Prozessor oder als komplettes SoC genutzt wird?

Es gibt eine ganze Vielzahl von Kriterien, die von Projekt zu Projekt ganz unterschiedlich ausfallen. Generell lässt sich aber sagen, dass bei neuen Designs Betrachtungen über folgende Punkte gemacht werden müssen: Rechenleistung; Leistungsaufnahme; Möglichkeiten für künftige Weiterentwicklungen sowohl leistungsmäßig als auch mit Blick auf Anschlussfähigkeit; Wartung; Kosten.

Es ist eindeutig festzustellen, dass immer mehr Kunden FPGAs als Komplettlösung in Form eines Single-Chip-Ansatzes wählen. Das liegt unter anderem daran, weil sie oft Bedenken bezüglich der Lebenszeit ihres embedded Prozessors haben und FPGAs bekannt für die langfristige Verfügbarkeit sind und der dafür geschriebene Code natürlich auch leicht portiert werden kann.

Ein wichtiger Vorteil von FPGAs besteht in ihrer Anpassbarkeit an sich verändernde Standards. Aber ist nicht gerade die Industrie der Zielmarkt, der sich im Vergleich zu kurzlebigen Consumer- oder Kommunikationsprodukte durch lange Laufzeiten und stabile Standards auszeichnet? Auch wenn es für Industrial Ethernet mehrere Varianten gibt, mittlerweile haben sich ein paar etabliert und diese werden langfristig Bestand haben. Da sind ASSP-Entwicklungen also durchaus sinnvoll…

Natürlich gibt es viele bekannte Standards für Industrial Ethernet, aber sie sind immer noch Veränderungen unterworfen. Denn auch heute noch versuchen die jeweiligen Vertreter den Marktanteil ihres Standards zu vergrößern. Außerdem werden die Standards insofern noch verändert, dass damit auch künftige Anforderungen von sehr leistungsfähigen industriellen Systemen adressiert werden können. Deshalb gibt es hier auch heute noch keine neuen ASSPs oder Mikroprozessoren, die mehrere IE-Standards unterstützen.

Was sind für Sie die wichtigsten Vorteile von FPGAs in industriellen Anwendungen?

Der größten Vorteile von FPGAs in der Industrie sind ihre Flexibilität und die Möglichkeit, alles in einen einzigen Baustein zu integrieren. Hinzu kommen noch lange Verfügbarkeit und ein verbessertes Verhältnis zwischen Systemkosten/Lebenszeit.

Können Sie die Vorteile vielleicht noch an einem konkreten Applikationsbeispiel erläutern?

Ja, nehmen wir das Beispiel »Motorsteuerungen«. Eine Motorsteuerung ist ein nichtlinearer Prozess mit zeitabhängigen Parametern. Um der hohen Dynamik bezüglich der Stromänderung in der Motorsteuerungselektronik gerecht zu werden, ist ein Motor-Controller mit hoher Rechenleistung notwendig. Viele Motorsteuerungs-Implementierungen mit MCUs bzw. DSPs nutzen eine einfache Software-Regelschleife und einen Standard-PWM-Funktionsblock. Eine derartige Architektur kann natürlich keine optimale Performance liefern, um sehr effiziente Motorsteuerungen realisieren.

FPGAs hingegen bieten Vorteile bezüglich der Leistungsfähigkeit, Leistungsaufnahme, Sicherheit, Zuverlässigkeit, Systemkosten und Flexibilität. So lassen sich beispielsweise relativ einfach spezielle, leistungsfähige Logikfunktionen in der FPGA-Logik realisieren. Im Vergleich zu der Software, die auf den generischen MCU- oder DSP-Blöcken läuft, erlauben diese speziellen Hardware-Schaltungen Regelschleifen mit deutlich höheren Frequenzen für die Steuerung der Motorströme und des Drehmoments. Damit kann der Motor-Controller z.B. kritische Informationen über den Betriebszustand des Motors während des Betriebs extrahieren und diese an den Haupt-Controller der Applikation schicken, um vor einem eventuellen Motorfehler rechtzeitig zu warnen.

Außerdem können mit FPGAs in Motorsteuerungen Komponenten und Zusatzfunktionen flexibel arrangiert und hinzugefügt werden. So können beispielsweise rechenintensive Funktionen wie DSP-Blöcke parallel zur Basis-Steuerungsfunktion laufen. Derartige Funktionen können einstellbar ausgeführt sein, mit Echtzeit-Motor-Parametern und Status-Abschätzungen für die Steigerung der Performance. Diese Funktionen können mit oder ohne Rückkopplungsschleifen bzw. mit oder ohne Sensoren arbeiten.

Hinzu kommt noch, dass die Implementierung der entsprechenden Funktionen auf einem Mikrocontroller oder DSP oftmals nicht möglich ist oder Kompromisse bei der Performance erfordert. Hardware-Funktionen in einem FPGA können unabhängig voneinander parallel laufen. So erreicht eine FPGA-basierte Motorsteuerung eine deterministische Performance und Zuverlässigkeit im Unterschied zu MCUs und DSPs mit ihrer seriellen Befehlsausführung.

Und noch einmal: Auch bei Motorsteuerungen kommt der Vorteil von FPGAs zum Tragen, dass sie einen Schutz vor Produkt-Obsoleszenz bieten. Darüber hinaus können Entwickler mit FPGAs ihre Systeme schnell und einfach modifizieren bzw. aufrüsten sowie auf neue FPGA-Generationen portieren, während der Übergang auf eine neue Mikrocontroller-Generation oder gar andere -Architektur mit hohem Software-Aufwand und langen Entwicklungszeiten verbunden ist.


  1. FPGAs in embedded Anwendungen
  2. Ist VHDL eine Hürde?

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!