Wie man trotz immer komplexerer Produkteigenschaften die Entwicklungskosten senken kann

Hardware-Unabhängigkeit – Der Schlüssel zur guten Software

7. April 2009, 11:45 Uhr | Klaus-Dieter Walter
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Hardware-Unabhängigkeit – Der Schlüssel zur guten Software

Systemkonfiguration: Vor dem Einsatz in der Praxis benötigt ein Embedded-System in jedem Fall mehr oder weniger umfangreiche Konfigurationsdaten. Ausgehend von den Möglichkeiten der Benutzerschnittstellen kommen in diesem Funktionsbereich ein Browser-Interface (webbasierte Konfiguration), XML-Konfigurationsdateien, SNMP-Agenten (SNMP = Simple Network Management Protocol) oder ebenfalls ein CLI bzw. das binäre Kommando-API in Frage.

passend zum Thema

IT-Integration: Über LAN- oder WAN-Schnittstellen mit TCP/IP-Protokoll ist ein Embedded-System in heterogene IT-Umgebungen eingebunden. Dafür werden je nach Anwendungsfall unterschiedliche Software-Module benötigt. Sie reichen von der einfachen Socket-Kommunikation [6] über spezielle Protokolle wie Modbus oder SNMP bis zu hochkomplexeren SQL- oder OPC-Client-/Server-Funktionen mit XML-basierten Webservices.

Spezialfunktionen: Je nach Aufgabenstellung bietet ein Embedded-System die eine oder andere Spezialfunktion. Typische Beispiele sind ein integrierter Datenlogger (Langzeit-Datenaufzeichnung in einem NAND-Flash) und der automatische E-Mail-Versand von Alarm- bzw. Statusmeldungen per SMTP. Automatisierte Software-Updates im Feld und Teleservice-Schnittstellen fallen ebenfalls in diese Kategorie.

Solche Software-Funktionen lassen sich hardware- und plattform-abhängig in verschiedenen Programmiersprachen realisieren und in weiteren Projekten wiederverwenden. Empfehlenswert ist ein firmeninterner Baukasten mit dem entsprechenden Regelwerk, aus dem sich die Entwickler bedienen müssen. Dadurch ergeben sich auch Zeiteinsparungen in anderen Entwicklungsbereichen, zum Beispiel bei der Erstellung der Benutzerdokumentation. Werden immer die gleichen Konfigurationsschnittstellen benutzt, können auch für die Bedienungsanleitung Textbausteine wiederverwendet werden. Dass eine derartige Vorgehensweise auch qualitative Verbesserungen nach sich zieht, liegt auf der Hand. Schließlich werden die Baukastenbausteine durch jedes Projekt noch weitreichender getestet.

Das passende Computermodul auswählen

Eine weitere wichtige Vorentscheidung für ein erfolgreiches Embedded-Projekt ist die Auswahl des Computermoduls bzw. der COM-Familie. Zwischen den einzelnen COM-Konzepten gibt es sehr große Unterschiede. Die wichtigsten Kriterien sind Schnittstellen, Plattform, Verfügbarkeit und Preise. Im Idealfall sollte das zum Einsatz kommende COM bereits genau die Schnittstellen bieten, die für das zu entwickelnde Produkt benötigt werden. Über das Trägerboard werden dann lediglich die entsprechenden Schnittstellen-Treiberbausteine, das Netzteil und die erforderlichen Steckverbinder hinzugefügt. Bild 4 und Bild 5 zeigen Blockschaltung und Realisierung einer Bedieneinheit, wie sie zum Beispiel zur Bedienung und Visualisierung von Blockheizkraftwerken (BHKW) benötigt wird. Das COM hat – bis auf eine Ausnahme – alle benötigten Schnittstellen.

Die meisten COM-Familien und -Produkte nutzen ARM- oder x86-Prozessoren. Darüber hinaus gibt es auch einige Module mit Mips- oder Power-PC-Rechnerkernen. Ein COM-Format, das verschiedene CPU-Familien unterstützt, ist auf jeden Fall empfehlenswert. Dadurch reduzieren sich Abhängigkeiten, was zu Preisvorteilen in der Beschaffung führen kann.

9071304_tm_03.jpg
Bild 4. Blockschaltung einer Frontplatten-Bedieneineinheit mit LAN, CAN, 3 × UART, LCD und Touchscreen. Bis auf CAN sind alle Schnittstellen auf dem COM vorhanden.

Einige COM-Familien sind für spezielle Prozessor- und Bustypen entworfen worden. Typische Beispiele sind nanoETXexpress, Qseven und CoreExpress. Sie basieren auf Atom-CPUs. Verschwindet dieser MID-Prozessor (MID = Mobile Internet Devices) in seiner jetzigen Form wieder vom Markt, wird es derartige Module wohl auch nicht mehr geben. Bei der Auswahl eines COM sollte man sich daher auch intensiv mit der Frage beschäftigen: „Kann ich bei Verfügbarkeitsproblemen auf andere COMs ausweichen?“ Schließlich ist zumindest das zu entwickelnde Trägerboard sehr eng an das zum Einsatz kommende COM gebunden.

Zu den Preisen: Aus dem Blickwinkel der Verkaufspreisfindung für das eigene Produkt ist der Einzelpreis zur Beschaffung eines COM zunächst ein sehr wichtiges Kriterium. Daher muss vor der COM-Auswahl auch die Voraussetzung für einen objektiven Preisvergleich geschaffen werden. In einigen Fällen müssen zum Beispiel die Preise für RAM- und Flash-Speichermodule hinzuaddiert werden. Im anderen Fall sind diese Speicher bereits aufgelötet und im COM-Preis enthalten. Teilweise werden zusätzliche Kühlkörper zur Wärmeabfuhr benötigt. Bei einigen COMs sind diese bereits im Preis enthalten oder gar nicht erforderlich. Auch der Preis für das Trägerboard darf nicht außer Acht gelassen werden. Die jeweiligen COM-Busund Schnittstellensignale verursachen hier sehr unterschiedliche Anforderungen. Eine impedanzkontrollierte Leiterplatte als Modulträger für ein Modul mit PCI-Express verursacht andere Kosten als ein einfaches 4-Lagen-Multilayerboard.

9071305_af_04.jpg
Bild 5. Mechanisch besteht die Frontplatten-Bedieneineinheit aus drei Ebenen: Ganz unten das 5,7-Zoll-LCD mit Touchscreen. In der Mitte das Trägerboard. Oben das COM, das auf das Trägerboard gesteckt wird.

  1. Hardware-Unabhängigkeit – Der Schlüssel zur guten Software
  2. Hardware-Unabhängigkeit – Der Schlüssel zur guten Software
  3. Hardware-Unabhängigkeit – Der Schlüssel zur guten Software

Jetzt kostenfreie Newsletter bestellen!