Academic Über NI Veranstaltungen NI Developer Zone Support Lösungen Online Store Kontakt MyNI

Dokumententyp: Tutorium
Von NI unterstützt: Ja
Veröffentlichungsdatum: 04.06.2007


Feedback


Ja Nein

Thematisch verwandte Links - Developer Zone

Thematisch verwandte Links - Products and Services

Grundlagen des grafischen Systemdesigns: Kürzere Entwicklungszeiten und Embedded-Design für alle

0 Bewertung(en) | 0.00 von 5
Drucken | PDF

Übersicht

Fast die Hälfte aller Entwicklungen gelangen zu spät oder überhaupt nicht auf den Markt und beinahe 30 Prozent scheitern nach der Markteinführung.1 Dies ist in vielen Fällen darauf zurückzuführen, dass Embedded-Systeme immer komplexer werden. Der Programmcode für ein Embedded-System ist in den letzten fünf Jahren zehnmal umfangreicher geworden.2 Da aber Embedded-Systeme immer weiter Verbreitung finden, benötigen viele Fachexperten, z. B. in den Bereichen Maschinenbau, Test, Steuerung und Regelung, Embedded-Technologien. Jedoch fehlen ihnen die Kenntnisse von Werkzeugen zu deren Realisierung. Mit steigender Komplexität von Embedded-Systemen und wachsender Nachfrage nach der Technologie wächst auch der Bedarf an einem neuen Ansatz beim Embedded-Design.

Das grafische Systemdesign ist eine revolutionäre Methode zur Lösung von Designaufgaben. Es kombiniert intuitive grafische Programmierung mit flexibler Standardhardware und unterstützt Ingenieure und Wissenschaftler dabei, Embedded-Systeme effizienter zu entwerfen, Prototypen davon zu erstellen und Ihre Anwendung schließlich in der Produktion einzusetzen. Das grafische Systemdesign ermöglicht die Verwendung einer einzigen Umgebung in allen Designphasen. Damit kann die Produktivität gesteigert, Kosten gespart und die Embedded-Technologie auch von Experten aus anderen Bereichen genutzt werden.

Grafische Programmierung beim Embedded-Design

Viele Embedded-Systeme arbeiten im autonomen Betrieb und müssen zahlreiche Aufgaben mit spezifischen Anforderungen hinsichtlich Timing gleichzeitig ausführen. Ein mögliches Beispiel dafür wäre ein System, das einen Linearantrieb steuert, mehrere Achsen regelt, die Beleuchtung steuert und Videodaten einliest. In einem solchen System müssen mehrere Prozesse deterministisch, in Echtzeit und parallel zueinander ablaufen. Hier mit einem textbasierten Werkzeug wie etwa C ans Werk zu gehen, würde die Komplexität beinhahe ins Unermessliche steigern.

Im Gegensatz dazu vereinfacht NI LabVIEW durch die Verwendung des Datenflussparadigmas komplexe Programmier- und Timing-Modelle erheblich. Vor über 20 Jahren entwickelte NI diese Komponenten und Technologien in Form der grafischen Entwicklungsumgebung LabVIEW. Mithilfe von Codierstrukturen integriert LabVIEW Timing in den Programmcode und die Darstellung von Parallelität wird einfach durch das Realisieren einer weiteren Schleife erreicht (s. Abb. 1).


Abbildung 1: Parallele zeitgesteuerte Schleifen in LabVIEW stellen intuitiv parallele Tasks dar

Die Implementierung dieser Stufe von Timing und Parallelität in Textcode stellt für viele Fachexperten eine Hürde dar, während sich die grafische Darstellung Ingenieuren und Wissenschaftlern viel leichter erschließt. Wird das LabVIEW-Paradigma auch auf Chips wie etwa FPGAs und Mikroprozessoren angewendet, wird deutlich, dass LabVIEW, mit derselben Konsistenz und Skalierbarkeit, auch deren parallele Architektur spielend bewältigt.

Eine weitere wichtige Anforderung ans Embedded-Design besteht darin, dass die Softwareplattform verschiedene Ansichten des Algorithmendesigns ermöglichen sollte. Dr. Edward Lee, Forscher im Bereich Embedded-Softwareplattformen an der University of Californa at Berkeley, bezeichnet die verschiedenen Designansichten als Berechnungsmodelle.3 Diese Modelle entsprechen der Art und Weise, wie Systeme aus der Sicht von Designern die Komplexität der Übertragung von Systemanforderungen in ein Softwaredesign minimieren helfen.

LabVIEW integriert inzwischen mehrere Berechnungsmodelle, so dass den Anforderungen der Designer von Embedded-Systemen in vielfältigen Branchen besser entsprochen werden kann. Zur Darstellung zahlreicher Algorithmen enthält LabVIEW heute textbasierte Mathematik, zeitkontinuierliche Simulation, Zustandsdiagramme und grafische Datenflussmodelle. Außerdem umfasst LabVIEW interaktive Werkzeuge zur Optimierung des Designs von digitalen Filtern, Regelmodellen sowie Algorithmen zur digitalen Signalverarbeitung. Der Entwurf dieser vertikalen Anwendungen wird damit weiter vereinfacht. Wie können diese Algorithmen nun auf flexible Standardhardware implementiert und die Erstellung des ersten Prototyps somit stark beschleunigt werden?

Benutzerspezifisch anpassbare Standardplattformen zur Prototypenerstellung

Wie bereits erwähnt, erreichen viele Designs den Markt zu spät, gar nicht, oder scheitern nach der Einführung – deshalb muss etwas unternommen werden, um Produkte mit höherer Qualität schneller zur Marktreife zu bringen. Eine mögliche Lösung liegt in der Verbesserung der Prototypenerstellung durch die Integration realer Signale und realer Hardware in den Designprozess zu einem früheren Zeitpunkt. So können qualitativ hochwertige Designs iterativ verbessert und Probleme früher erkannt (und behoben) werden.

Wie in Abbildung 2 dargestellt, kann LabVIEW mithilfe des LabVIEW FPGA Module  die Algorithmen- und Logikentwicklung bereits kombinieren. Das LabVIEW FPGA Module implementiert LabVIEW-Designs auf FPGAs in NI-Hardware.

 


[+] Bild vergrößern

Abbildung 2: Typischer Soft- und Hardware-Designprozess mit separatem Software- und Hardwaredesign

Wird heutzutage anwenderdefinierte Hardware für die Produktion erstellt, ist es problematisch, Software und Hardware parallel zu entwickeln, da die Software nicht auf der entsprechenden Hardware getestet wird, bevor die Phase der Systemintegration erreicht wird. Allerdings sollte die Softwareentwicklung auch nicht ausschließlich in der Theorie stattfinden, denn werden I/Os erst dann eingefügt und das Design mit realen Signalen erst dann geprüft, wenn die Systemintegration ansteht, werden Fehler zu spät entdeckt.

Die meisten Entwickler lösen dieses Problem, indem sie auf einer Evaluierungskarte einen Prototypen ihres Systems erstellen. Diese Karten verfügen jedoch oftmals nur über wenige analoge und digitale I/O-Kanäle und selten über Bildverarbeitung, Motorsteuerung oder die Fähigkeit, I/Os zu synchronisieren. Außerdem müssen Designer häufig viel Zeit für die Entwicklung anwenderdefinierter Karten für Sensoren oder spezielle I/Os aufwenden, nur um einen lauffähigen Prototypen fertigzustellen.

Der Einsatz flexibler Standardplattformen für die Prototypenerstellung kann diesen Prozess optimieren (s. Abb. 3) und macht einen Großteil der Arbeit für die Hardwareverifizierung und den Entwurf der Karte überflüssig. Genau wie PCs, die man einfach durch Zusammenstecken von Speicher, Motherboard und Peripheriegeräten in Betrieb nehmen kann, sollen Plattformen für die Prototypenerstellung durch das grafische Systemdesign standardisiert werden.


Abbildung 3: Durch grafisches Systemdesign optimierter Entwicklungsprozess

Meist muss die Plattform für die Prototypenerstellung dieselben Komponenten umfassen wie das endgültige System. Zu diesen Komponenten zählen häufig ein Echtzeitprozessor für die deterministische Ausführung von Algorithmen, programmierbare Logik für Hochgeschwindigkeitsverarbeitung oder Anbindung von Echtzeitprozessoren an andere Komponenten sowie verschiedene Arten von I/Os und Peripheriegeräten (s. Abb. 4). Falls die Standard-I/Os nicht allen Anforderungen genügen, sollte die Plattform nach Möglichkeit auch noch erweiterbar und benutzerspezifisch anpassbar sein.


Abbildung 4: Komponenten eines typischen Embedded-Systems

National Instruments hat mehrere Arten von Plattformen für die Prototyperstellung im Angebot, so z. B. NI CompactRIO, das alle grundlegenden Bausteine für ein Embedded-System enthält. Der Controller integriert einen 32-bit-Prozessor, auf dem ein Echtzeitbetriebssystem läuft. Die CompactRIO-Backplane enthält ein FPGA, das Hochgeschwindigkeitsverarbeitung implementieren kann und Schnittstellen zu I/O-Modulen konfiguriert und bereitstellt, die Optionen für Analog- und Digitalein- und -ausgänge sowie Counter/Timer-Funktionalität umfassen. Jedes der Module lässt sich direkt an Sensoren und Aktoren anbinden und integriert Signalkonditionierung und Isolierung. Auch ein Modulentwicklungskit ist erhältlich, mit dem Entwickler die Plattform erweitern können, so dass auch anwenderdefinierte Module realisiert werden können.

Darüber hinaus bietet CompactRIO einen industriellen Formfaktor (-40 bis 70 °C, 50 G Stoßfestigkeit) mit geringem Platzbedarf (3,5 x 3,5 x 7,1 Zoll) und niedrigem Stromverbrauch (typ. 7 bis 10 W). Damit eignet es sich nicht nur hervorragend für die Prototypenerstellung, sondern auch für den Einsatz von Anwendungen in den Bereichen In-Vehicle, Maschinensteuerung oder vorbeugende Wartung.

Anwenderdefinierte Einsatzmöglichkeiten

Wie vorher erwähnt, kann CompactRIO aufgrund seines Formfaktors, der hohen Lebensdauer und der günstigen Kosten also nicht nur bei der Erstellung von Prototypen, sondern auch in der Produktion eingesetzt werden. Trotzdem kann es vorkommen, dass kleinere, anwenderdefinierte Designs benötigt werden. Um diesem Bedarf nachzukommen, können Entwickler ihre Investition in Software wahren, indem sie Programmcode mit dem LabVIEW Embedded Development Module  auf jeden beliebigen 32-bit-Prozessor portieren.

Das LabVIEW Embedded Development Module bietet alle bisher behandelten Vorteile der grafischen Programmierung und beinhaltet eine Vielzahl von sofort einsetzbaren Analysefunktionen, integrierten I/Os und interaktiver, grafischer Fehlerbehebung. Dieses Modul kann jeden 32-bit-Mikroprozessor ansprechen und bietet eine offene Architektur, die eine Vielzahl bestehender C-basierter Werkzeuge von Drittanbietern und verschiedene Betriebssysteme integrieren kann. So können individuelle Embedded-Systeme realisiert werden. Ist die Integration vollendet, können Anwender zu 100 Prozent grafisch programmieren und Fehler in ihrer Anwendung interaktiv beheben. Die Erzeugung von Programmcode, der in alle auf dem Markt verfügbaren Zielgeräte eingebunden werden kann, verleiht Anwendern optimale Flexibilität bei der Auswahl der Zielgeräte.

Dank dieser neuen Technologie können viel mehr Ingenieure, Wissenschaftler und Fachexperten als zuvor die für ihre Zwecke geeigneten Algorithmen und Anwendungen entwickeln, die Logik programmieren, einen Prototyp des Systems erstellen und ihn dann auf dem Zielgerät ihrer Wahl einsetzen.

Zusammenfassung

Es wird Zeit für einen neuen Ansatz beim Design elektronischer Systeme. Das grafische Systemdesign kombiniert eine Software- mit einer Hardwareplattform, welche die Entwicklungskosten senkt und die Zeit bis zur Marktreife verkürzt. Eine Softwareplattform, die mehrere Berechnungsmodelle integriert, reduziert den Zeitaufwand für die Implementierung von Spezifikationen in ein Design. Eine flexible Plattform aus Standardhardware, welche die Softwareplattform unterstützt und anwenderseitig anpassbare Komponenten bietet, verkürzt die Zeit bis zum ersten Prototypen, da kein Kosten- und Zeitaufwand für die Erstellung individueller Hardware anfällt. Darüber hinaus führt die Prototypenerstellung mit realen I/Os zu Designs von höherer Qualität – damit werden die heute so häufig auftretenden Fehlschläge von Designs vermieden. Schließlich maximiert die Verwendung einer durchgängigen grafischen Software vom Entwurf über die Prototypenerstellung bis hin zum Einsatz auf dem Zielsystem die Wiederverwendbarkeit des Programmcodes und erleichtert den Übergang zum endgültigen Serieneinsatz. Mit LabVIEW steht dabei eine einzige grafische Plattform für das Design, die Prototypenerstellung und den Einsatz eines Embedded-Systems zur Verfügung.

Literaturverzeichnis

1 Embedded Software Development: Issues and Challenges. Juli 2003

2 http://www.techonline.com/community/related_content/21543

3 Dr. Edward A. Lee, Advances in Computers (M. Zelkowitz, editor), Vol 56, Academic Press, London, 2002 

 

 

0 Bewertung(en) | 0.00 von 5
Drucken | PDF

AGB
Dieses Tutorium ("Tutorium") wurde von National Instruments ("NI") entwickelt. Auch wenn National Instruments dieses Tutorium technisch unterstützt, ist es jedoch möglich, dass dieses Tutorium nicht umfassend getestet und überprüft wurde. NI übernimmt weder Garantien bezüglich der Qualität des Tutoriums noch bezüglich der weiteren technischen Unterstützung neuer Versionen ähnlicher Produkte und Treiber. DIESES TUTORIUM WIRD IM "IST-ZUSTAND" ZUR VERFÜGUNG GESTELLT UND NI ÜBERNIMMT KEINERLEI GARANTIEN. AUSFÜHRLICHERE ERLÄUTERUNGEN ZU ANDEREN EINSCHRÄNKUNGEN ENTNEHMEN SIE BITTE DEN NUTZUNGSBEDINGUNGEN AUF NI.COM (http://ni.com/legal/termsofuse/unitedstates/us/).