Embedded Systeme
Erfolgreiche Designmethoden
Eine Vielfalt an Werkzeugen bei der Systemintegration, die notwendige Wiederverwendbarkeit von Programmcode und die Verwaltung der Systemsicherheit – alles Kriterien, die es beim Entwurf heutiger Embedded Systeme zu berücksichtigen gilt. – Welche Designmethoden aber werden all diesen Anforderungen überhaupt gerecht?
Teams, die Embedded Systeme entwerfen, sehen sich mehreren He-rausforderungen gegenüber, die alle die Zeit bis zur Markteinführung beeinflussen können. Dazu gehören etwa die Systemintegration mit vielfältigen Werkzeugen sowie die notwendige Wiederverwendbarkeit von Programmcode. Darüber hinaus sollten die Verwaltung der Systemsicherheit und mögliche Engpässe in Bezug auf Big Data bereits zu Beginn der Entwicklung eines Systems bedacht werden. Damit sich die Fähigkeiten eines Teams optimal nutzen lassen, sollten aktuelle Designmethoden daraufhin untersucht werden, ob sie sich an wechselnde Anforderungen anpassen lassen und innovative Designs hervorbringen können.
Die Systemintegration verwalten
Die Mehrzahl der Designprojekte konzentriert sich vor allem auf den Umgang mit den Einschränkungen, die sich aus dem Budget und dem verfügbaren Personal ergeben. Einen grundlegenden Kostenfaktor bilden die Werkzeuge, die ein Designteam nutzt, da die typischen Iterationen bei der Integration, dem Test und der Fehlerbehebung von Hard- und Software kostspielig sind. Design- und Modellier-Werkzeuge auf Systemebene – etwa System C, Labview oder UML – erhöhen die Effizienz durch die Wiederverwendbarkeit von Designs und die Abstraktion von Standardaufgaben wie die Entwicklung von Middleware. So können sich die Teams darauf konzentrieren, das für jedes Projekt einzigartige Intellectual Property (IP) zu entwickeln.
Der Trend zu einer einheitlichen Programmiersprache und einem einheitlichen Ansatz für die Hardware- und Software-Entwicklung macht sich auch bei FPGA-Herstellern bemerkbar, zum Beispiel beim High-Level-Synthesewerkzeug AutoESL für FPGAs von Xilinx und OpenCL für FPGAs, DSPs und GPUs von Altera. Dieser Wandel wird vor allem von den zunehmend verbreiteten Architekturen mit mehreren Komponenten vorangetrieben, die beispielsweise Mikroprozessoren mit DSPs, GPUs und FPGAs kombinieren. Diese kommen besonders häufig in Systemen zum Tragen, bei denen Zuverlässigkeit und Flexibilität eine wichtige Rolle spielen. Solche Werkzeuge helfen dort, wo Hardware- und Software-Ingenieure oftmals mit der parallelen Entwicklung voneinander abhängiger Tasks kämpfen, und ermöglichen sogar den Einsatz kleinerer, untereinan-der austauschbarer Teams anstelle von Spezialisten für jedes Werkzeug.
Wiederverwenden von Hardware und Programmcode
Viele Projekte sind Upgrades einer bestehenden Anwendung und nutzen deshalb in neueren Versionen denselben Prozessor beziehungsweise dieselben ICs. Die Wiederverwendung von Hardware ist jedoch bei Designs für schnelllebige Märkte nicht immer sinnvoll, wenn die Wettbewerbsfähigkeit erhalten bleiben soll. Da das Moore‘sche Gesetz für die Geschwindigkeit und Speicherkapazität von ICs nach wie vor gilt, müssen Manager bei Design-Entscheidungen künftige Fortschritte bereits berücksichtigen, damit die Lösungen brauchbar bleiben. Wenn die Zeit bis zur Markt-einführung der kritischste Aspekt eines Projekts ist, kann jede Wiederverwendung von IP in den Design-, Test- und Verifizierungsphasen ausschlaggebend sein.
S.E.A. integrierte Open-Source-Sicherheitssoftware, GPS-Treiber und NTP-Kommunikationsprotokolle in eine Zustandsüberwachungslösung auf Basis des Betriebssystems NI Linux Real-Time.
© National InstrumentsEmbedded Designer müssen unbedingt auf neue Hardware skalieren und dabei Programmcode von früheren Projekten oder Open-Source-Communities wiederverwenden können. Open-Source-Software und -Betriebssysteme sind nach wie vor erfolgreich und entwickeln sich immer weiter, wie der zunehmende Einsatz von Eclipse und Android zeigt. Die Vorteile dieser Werkzeuge müssen allerdings alle möglichen damit verbundenen Risiken ausgleichen.
Der jeweilige Nutzen von Open-Source-Werkzeugen hängt von verschiedenen Faktoren ab, etwa den Projektanforderungen, den Fertigkeiten der Entwickler sowie dem Zustand, der Zertifizierung und der Reife der entsprechenden Open-Source-Software. Wenn Open-Source-IP zur Verfügung steht, ist es nicht wirtschaftlich, Funktionalität wie Systemsicherheit, Datenbanken, Web-Schnittstellen und Treiber für die Geräte-Anbindung neu zu schreiben. Da die Studenten immer vertrauter mit Open-Source-Werkzeugen und -Communities werden, da sie zunehmend in den Lehrplänen zur Software-Entwicklung integriert sind, bringen die Berufsanfänger das Wissen darüber bereits mit und ziehen diese Tools industriellen Lösungen unter Umständen sogar vor.
Ein gutes Beispiel aus der Industrie für die Vorteile eines Open-Source-Betriebssystems zeigt die S.E.A.-Datentechnik, die mit einem solchen Betriebssystem eine Struktur- und Zustandsüberwachungsplattform der nächsten Generation entwickelt hat. Das Unternehmen brauchte eine universelle Lösung, die flexibel genug für verschiedenste Sensor- und Signaltypen ist und damit die stets wechselnden Anforderungen der Endanwender erfüllen muss. S.E.A. nutzte die Offenheit von Linux, um die Linux-Applikation einer vorherigen Lösung zu portieren, die bereits sichere VPN- und Firewall-Funktionalität sowie GPS-Treiber und Kommunikationsprotokolle mit Network Time Protocol (NTP) zur Verfügung stellt. Damit konnten Investitionskosten für zusätzliche Hardware zur Systemsicherheit eingespart werden. Die Lösung von S.E.A. basiert auf der Standardplattform CompactRIO mit dem Software-designten Controller cRIO-9068 und dem Betriebssystem Linux Real-Time von NI. Wolfram Koerver, Geschäftsführer von S.E.A., erklärt: „Mit dieser Plattform können wir unseren Kunden Software-Technologien bieten, die bisher quasi unmöglich waren beziehungsweise eine lange Entwicklungszeit und hohe Investitionkosten notwendig gemacht hätten.“
Anpassen an neue Komponenten
Systemdesigner müssen häufig unterschiedliche Zielgeräte und Kommunikationsprotokolle integrieren. Abhängig von der jeweils nötigen Komplexität wird dafür bisher oftmals anwenderdefiniertes Design eingesetzt. Zwar stellt die anwenderdefinierte Entwicklung mit ASICs den Designern die größtmögliche Flexibilität für ihre Hardware-Anforderungen zur Verfügung, doch der Zeitaufwand für das komplette Design und der Preis für dessen Umarbeitung bei künftigen Upgrades hebt die günstigen Anschaffungskosten von universeller Standard-Hardware schnell wieder auf.
Für komplexe Herausforderungen mit besonders zuverlässiger Hardware sind deshalb FPGAs das Mittel der Wahl. Sie bieten neben Determinismus die Möglichkeit, ihre Funktionalität für künftige Designs, im Gegensatz zu ASIC-Designs, immer wieder neu durch Software zu definieren. Mit Designwerkzeugen auf Systemebene können auch Anwender ohne Kenntnisse in digitalen Hardware-Beschreibungssprachen FPGAs effizient nutzen. Aus diesem Grund nimmt die Verbreitung von FPGAs in vielen Branchen zu.
Die Automatisierungsbranche hat ein erhebliches Wachstum erfahren, was die Integration sowohl von Prozessoren als auch von FPGAs in Automatisierungs-systemen betrifft. Programmable Automation Controller (PACs) kommen dabei mit anspruchsvolleren Steuer-, Regel- und Überwachungsanwendungen besser zurecht als Speicherprogrammierbare Steuerungen. Einige PACs verwenden bereits ein FPGA zum Implementieren anwenderdefinierter Funktionalität wie etwa spezielle Analog-I/O, Motorsteuerungs-Algorithmen mit niedriger Latenz sowie klassische Protokolle für die industrielle Kommunikation, ohne dass dafür eigene Hardware entworfen werden muss.
Big Data und Systemsicherheit
In einer zunehmend vernetzten Welt müssen Embedded Systeme Unmengen von Daten sicher speichern, kommunizieren und zur Entscheidungsfindung heranziehen können. Ein aktuelles Beispiel zeigt das Unternehmen LocalGrid Technologies. LocalGrid errichtet kleine Solar- und Windkraft-Lösungen zur Energie-Erzeugung. Das Unternehmen sammelt während des laufenden Betriebs der Anlagen Daten hoher Auflösung mit Hilfe eines intelligenten Systems, das über ein sicheres, verteiltes Netzwerk eine Echtzeit-Analyse und -Steuerung erlaubt. Der eigentliche Wert der Daten liegt darin, dass das Unternehmen sie bei außergewöhnlichen Ereignissen – etwa ein plötzlich auftretender Abfall der erzeugten Strommenge – direkt auf dem System analysieren und verarbeiten kann. Zur Integration solcher Intelligenz auf dem System und für das durchsatzstarke Streaming mit minimaler Latenz auf Festplatte wurde eine SoC-Technologie gewählt (System on a Chip), die aus Prozessor und FPGA auf demselben Chip besteht.
LocalGrid erstellt kleine Lösungen zur Energie-Erzeugung mit Hilfe der kommerziellen Standardplattform CompactRIO. Diese umfasst ein Zynq-7000 All Programmable SoC auf Basis eines ARM-Prozessors von Xilinx sowie der Systemdesignsoftware Labview.
© National InstrumentsDa jeder Generator anwenderdefiniert ist, lohnt es sich finanziell nicht, jedes System von Grund auf neu zu erstellen. Unter Einsatz der rekonfigurierbaren I/O-Technologie (RIO) von Labview entwickelte LocalGrid eine intelligente Netzlösung und implementierte Schutzmaßnahmen für die Anlagen in ihrer eigenen Software LocalGrid DataFabric, die auf NI Linux Real-Time ausgeführt wird. Ein Teilnehmer an diesem Projekt ist eines der größten kommunalen Energieversorgungsunternehmen in Nordamerika. Dort sollten intelligente Steuerung und Überwachung genutzt werden, um viele Einschränkungen zu überwinden. Das intelligente Überwachungsprojekt mit LocalGrid gehört zu den ersten Versuchen in diesem wichtigen Bereich. Die Lösung ermöglicht Versorgungsunternehmen und Stromanbieter im Umkreis von Toronto, die sogenannten MicroGrid-Lösungen, die auch in der Zukunft anpassbar und erweiterbar sind, schnell und kostengünstig zu implementieren.
Autorin: Deborah Yagow ist Produkt-Managerin für Embedded Software bei National Instruments.












