Mobile Embedded Systeme Entwicklung WLAN und Linux-basierter Mobilgeräte

Autor:Dipl.-Ing. Marc-Oliver Borck, Geschäftsführer der synertronixx GmbH Moderne TCP/IP-basierte Netzwerk Applikationen erfordern zusehends den Einsatz von Wirelesslösungen nach WLAN Standard, um bei größeren Installationen den Verkabelungsaufwand zu minimieren oder Handheld Geräte ans lokale Netzwerk anzubinden (Bild 1). Die schnelle Inbetriebnahme, Wartbarkeit und Transparenz von Software wird hierbei immer wichtiger. In Anbetracht des stetig wachsendem Codeumfangs der Software, der Integration von Netzwerkfunktionalität und des dadurch notwendigen Einsatzes von professionellen Betriebssystemen und eingebetteten Protokollstacks wie TCP/IP oder USB stoßen traditionelle Entwicklungsmethoden hierbei an Ihre Grenzen. Der Einsatz PC-basierter Rechnerlösungen war daher in der Vergangenheit bei Wireless Anwendungen obligatorisch. Low-Power Design reduziert Verlustleistung und Kosten Bei räumlich beengrten Platzverhältnissen stoßen diese jedoch schnell an ihre Grenzen. Der Einsatz von Lüftern mit den dadurch bedingten Zuverlässigkeits- und Geräuschproblemen sowie der geringe Temperaturbereich schränken zudem die Einsatzgebiete ein. Abgesehen von ökonomischen und ökologischen Aspekten wird nicht zuletzt durch die bevorstehende Energieeffizienzverordnung die Minimierung der Leistungsaufnahme zusehends relevant. Bedingt durch den hohen Stromverbrauch scheiden x86 Plattformen in Handheld Geräten generell aus. Eine ARM Core basierte 32-Bit RISC Prozessorlösung, die in den meisten Handys, Organizern und neuerdings auch in Nettops zum Einsatz kommt, ist aufgrund der geringen Leistungsaufnahme und der hohen Performance für Embedded Systeme prädestiniert. Ebenso ermöglicht der Austausch stromfressender, Multichip DDR-II Speichermodule durch Mobile bzw. Low-Power SDRAM sowie der Wechsel von Festplatten auf Flash basierte Massenspeichersysteme erhebliche Einsparungen beim Energieverbrauch. Wird keine aufwändige Eigenentwicklung in Betracht gezogen, bedeutet dieses den Einsatz eines geeigneten Embedded Systems. Embedded-Linux Lösungen sorgen für Transparenz Ohne passendes Betriebssystem ist ein Embedded System nicht funktionsfähig. Neben vielen kommerziellen Betriebssystemen rückt in letzter Zeit Linux zusehends in den Fokus vieler Anwender. Durch die Verfügbarkeit aller Codeteile im Quellcode gewährleisten Embedded Linux Lösungen ein?Maximum an technischer Transparenz und Offenheit, Lizenzkostenfreiheit, Stabilität und Skalierbarkeit. Neben der Erfüllung der technischen Spezifikationen kommt dem Einsatz des Betriebssystems eine strategische Bedeutung zu.Für den Einsatz von IEEE802.11b als Netzwerklayer in Wireless Applikationen spricht, dass sich mit TCP/IP ein ausgereifter Kommunikationsstandard etabliert hat. Mit dem Einzug von WLAN ergeben sich allerdings Restriktionen, die beim Embedded Design berücksichtigt werden müssen. Da Funkstrecken prinziepiell offene Verbindungen darstellen, spielen Kriterien wie die Verschlüsselung und der Schutz gegen unberechtigte Zugriffe von außen eine wichtige Rolle. Viren, Trojaner und Hackerangriffe bedrohen auch die TCP/IP-Netzwerke von Embedded Systemen. Schäden sind hier sogar deutlich folgenreicher als in vielen anderen IT-Bereichen. Da Embedded-Systeme teilweise Motoren und Aktoren ansteuern, können unbefugte Zugriffe nicht nur eine unerwünschte Datenverbreitung verursachen, sondern durch gezielte Datenmanipulation auch zur störung der Funktionsfähigkeit bis hin zu irreversiblen Schäden der Hardware führen. Kryptografische Verfahren und die Integration der notwendigen Middleware und Administratorentools sind daher wichtige Anforderungen für den Einsatz eines Betriebssystems auf Embedded Systemen. Linux bzw. Unix wurde von Beginn an als Netzwerkbetriebssystem konzipiert; die vorhandenen Sicherheitsmerkmale sind seit jeher eine der herausragendsten Mermale von Linux. Zudem lassen sich verschiedene Connectivity- und Sicherheitsdienste wie HTTP, FTP, Secure Socket Layer (SSL) und IPsec problemlos integrieren. IPsec stellt hierbei die Sicherheitsarchitektur für die Kommunikation über IP-Netzwerke zur Verfügung und gewährleistet die Vertraulichkeit, Authentizität und Integrität der Verbindung. SSL ist im OSI-Modell (Bild 2) oberhalb der TCP angesiedelt. Es arbeitet transparent, so dass es Protokollen ohne eigene Sicherheitsmechanismen abgesicherte Verbindungen zur Verfügung stellen kann. Socket-Computer bieten eine Lösung für die Installation Allerdings bedeutet die Installation von Linux auf proprietärer Hardware viel Arbeit, da Linux in Controllerapplikationen individuell an die spezifische Hardware angepasst werden muss. Wird bei PCs vorausgesetzt, dass grundlegende Funktionalitäten wie z.B. das Speichersetup oder ein BIOS zum Booten und Installieren des Betriebssystems zur Verfügung stehen, verfügen Embedded Systeme über keine standardisierte Hardware. Trotz Open-Source Software müssen bei Embedded Linux Systemen Speicherkonfigurations- und Treiberfunktionalitäten meist selbst erstellt werden – ein oft unterschätzter Zeit- und Kostenaufwand. Zudem unterscheiden sich die verschiedenen ARM Cores in subtilen Details, die Voraussetzung für den Einsatz eines Betriebssystems sind. Eine Möglichkeit zur Lösung dieser Probleme und der Beherrschung der Gesamtkomplexität ist der Einsatz von Socket-Computern. Socket-Computer sind hochintegrierte, äußerst kompakte, lüfterlose System-on-Modules (SoM) und integrieren auf dem Format einer halben Scheckkarte (27 x 83mm) den Prozessor, Speicher, USB, ein 10/100 MBit Fast Ethernet Interface, I/Os und seriellen Schnittstellen. Je nach Ausführung kommt optional ein IEEE802.11b Interface sowie eine bis zu 2GByte große Flash Disk zum Einsatz, so dass auf den Einsatz sämtlicher rotierender Komponenten verzichtet werden kann. Taktfrequenzen bis zu 520MHz der ARM9 und XScale Prozessoren erlauben auch den Einsatz rechnenintensiver Applikationen. Für embedded Anwendungen werden diese auf ein applikationsspezifisches Trägerboard aufgesteckt. Kundenspezifische Erweiterungen beschränken sich somit auf Modifikationen des Trägerboards, wodurch Entwicklungszeit und Kosten erheblich gesenkt werden.(Bild 3) Socket Computer im mobilen Einsatz Das batteriebetriebene Logistksystem LogIn ist ein Beispiel für den Einsatz von Socket-Computern im mobilen Einsatz. Permanent steigende Teilevielfalt, fallende Preise und stetig kürzere Lieferzeiten führten vielfach zur Einführung des Supermarktprinzips in der Logistik. Mit Hilfe des LogIn-Systems kann der Produktionsmitarbeiter autark und beleglos bestellen, ohne seinen Arbeitsplatz zu verlassen zu müssen. Die Verantwortung für Nachbestellungen verlagert sich so von der Logistik in die Produktion, wodurch der Materialfluss bedarfsgerecht optimiert wird. Sowohl die Entnahme aus dem Lager als auch die Buchung im ERP-System verlaufen parallel ohne Quittungsbeleg. Da diese Abläufe dezentral erfasst und an das ERP-System weitergeleitet werden, ergibt sich ein erheblicher Verdrahtungs- und Installationsaufwand, sofern für diese Applikationen ein kabelgebundenes Netzwerksystem, wie z.B. Ethernet eingesetzt wird. Wird ein WLAN Interface direkt in das Logistiksystem integriert, können Gateways eingespart und so durchgängige Kommunikationsstandards innerhalb des gesamten Unternehmens etabliert werden. Geringe Leistungsaufnahme und minimale Bootzeit Basis des Gerätes ist der Socket-Computer SCB9328, der einen 200 MHz getakteten ARM920T Prozessor, ein Ethernet-Interface, diverse I/Os sowie jeweils 16 MByte RAM und Flash beinhaltet. Wesentlicher Aspekt bei der Auswahl war geringe Leistungsaufnahme von nur 0,7Watt und das 16-bit Speicherinterface, das eine einfache Erweiterung der Hardware ermöglicht (Bild 4). Durch den Einsatz des Socket-Computers konnte die Entwicklungszeit bis zum ersten, funktionalen Prototypen auf 6 Wochen reduziert werden. Weitere Funktionalität ist im Anschluss durch Softwareerweiterungen implementiert worden, so dass ein strukturierter Entwicklungsprozess gewährleistet wurde. Eine wichtige Forderung war die Minimierung der Bootzeit des Systems. Auf Tastendruck des Bedieners wird das gesamte Rechnersystem innerhalb von ca. 5s hochgefahren und über WLAN eine Serververbindung aufgebaut. Konventionelle Linux Installationen sind bedingt durch den immanenten Distributionsoverhead nicht in der Lage, schnelle Boot-Zeiten zu gewährleisten. Um das geforderte Verhalten zu realisieren, müssen wesentliche Voraussetzungen gegeben sein: – Die Größe des Kernelimages muss optimiert werden, um in der Bootphase das Datentransfervolumen klein zu halten. Nicht benötigte Kernelfunktionen wurden aus dem Code eliminiert. – Da bei Embedded Systemen alle Ausgaben des Kernels und des Bootloaders auf die serielle Konsole erfolgen, wurden alle Kernel Boot Ausgaben aus dem Code entfernt. – Automatismen, die zur Bootzeit die Konsistenz des Systems überprüfen, wurden deaktiviert. Durch diese Optimierungsmaßnahmen konnte das Footprint des Kernels auf 1,1MB reduziert werden (Bild 5). Neben der Kernelgröße beeinflusst auch der Speicherdurchsatz signifikant die Bootzeit. Eine wesentliche Verringerung der Interrupt Latenz- und Bootzeit bei Embedded Systemen ist durch Early Async Page Support, Bank-Interleaving und Burst Streaming Technologie möglich, der Datendurchsatz wird hierdurch um bis zu 150% beschleunigt. Hiervon profitiert in direkter Folge auch die WLAN Performance, trotz Abarbeitung der kompletten Treiber- und TCP/IP-Protokollstacks sowie der Verschlüsselung ergibt sich eine Datenrate von 3 Mb/s., was mehr als 50% der theoretisch unter IEEE802.11b erzielbaren Nettodatenrate entspricht. Fazit