Auf einen Blick

Die wesentlichen Erwartungen in einen Standard sind sicherlich die Austauschbarkeit der Systeme verschiedener Anbieter und die Skalierbarkeit, um sich unterschiedlichen Anforderungen leicht anpassen zu können. Erfüllen die Standards die Erwartungen, sind sie sicher hilfreich und sinnvoll. Wie nahe kommen die angebotenen Standards dem Traum von einem absoluten Standard oder wie oft kommt die Ernüchterung, dass die Erwartungen im realen Einsatz leider nicht erfüllt werden? Wie sieht dies bei den Standards im Embedded-Markt aus? Und welche Fallstricke lauern beim Umstieg von einem zu einem anderen Modul, die demselben Standard folgen?

Dass Standards nicht immer sinnvoll sind, zeigen manche Regulierungen in der EU. Warum muss die Krümmung einer Banane normiert sein? Auf der anderen Seite zeigt sich der Segen von absoluten Standards am Beispiel einer Schraube. Weltweit kann jeder eine M3-Schraube herstellen oder herstellen lassen, jede M3-Mutter wird dazu passen. Wer diese herstellt und aus welchem Material, spielt in diesem Fall keine Rolle – es passt. Der offensichtliche Vorteil ist sicher die uneingeschränkte Verfügbarkeit und damit ein günstiger Preis. Bei der Skalierbarkeit taucht aber bereits das erste Problem auf. Benötige ich eine stärkere Schraube, also etwa eine M6, dann passt die M3-Mutter leider nicht mehr, und auch das vorgebohrte Loch wird nicht mehr passen. Vergleichbar sind hier sicher Embedded-Module und die dazugehörigen Applikationsboards.

TQMa6x, ein proprietäres ARM-Modul.

TQMa6x, ein proprietäres ARM-Modul.TQ

Standards im Embedded-Markt versprechen, dass alle Module, die diesem Standard folgen, kompatibel und damit austauschbar sind. Außerdem ermöglicht diese Austauschbarkeit die Skalierbarkeit der Systeme oder eine Hochrüstung mit einem entsprechend leistungsstärkeren Modul. Das heißt für den Anwender, er entwickelt ein Applikationsboard, das dem Standard folgt und kann dann zwischen den unterschiedlichen Herstellern auswählen und das Modul einfach aufstecken. Benötigt er mehr Leistung, nimmt er einfach das entsprechend leistungsstärkere Modul eines Herstellers und ersetzt das vorhandene Modul. Das hört sich erst einmal sehr gut an, leider sieht die Realität anders aus: In 90 % der Fälle ist eine Anpassung oder Änderung des Applikationsboards notwendig. Diese Erfahrung haben alle Entwickler gemacht, die diesen Schritt schon einmal gegangen sind. Man sollte hier also klar zwischen Marketingversprechungen und realen technologischen Fakten unterscheiden. Ein wesentlicher Unterschied ist auch zwischen Modulen mit einem x86-Prozessor oder mit einem ARM-Prozessor zu sehen.

Module kompatibel und austauschbar

Im Elektronik- und Embedded-Bereich sind absolute Standards aus der Vergangenheit bekannt. Dazu zählen unter anderem PC/104 und Compact-PCI. Die Basis ist hier jeweils nur die mechanische Abmessung und der eingesetzte Bus. Der Rest der Funktionen ist nicht definiert und Hersteller-spezifisch. Zu diesen Bussen, die ebenfalls zu den absoluten Standards zählen, gehören der ISA- und der PCI-Bus. Hier sind alle Signale in den mechanischen Abmessungen und Positionen beschrieben, genauso die Timings und sonstige Parameter. Da PC/104 und Compact-PCI ausschließlich den Standard über den Bus definieren, funktioniert hier die Austauschbarkeit zwischen einzelnen Modulen verschiedener Hersteller und verschiedener Leistungsklassen ohne Problem. Schließlich funktioniert der PCI-Bus eines Pentium-Prozessors genauso wie der PCI-Bus eines Power-PC-Prozessors. Hier ist nur die Verfügbarkeit der entsprechenden Treiber sicherzustellen und schon können in einem System alle Module dieses Standards eingesetzt werden.

QSys Embedded-PC-Plattform: Mainboard mit Standard x86.

QSys Embedded-PC-Plattform: Mainboard mit Standard x86.TQ

Untersucht man die erfolgreichen Standards im x86-Markt, wie beispielsweise COM Express, stellt man fest, dass zwar alle Prozessor-Funktionen abgebildet werden. Es können, je nach Prozessor oder Chipsatz, jedoch einige definierte Funktionen im Standard nicht unterstützt werden, weil der Prozessor oder der Chipsatz diese Funktion nicht liefert. So sind etwa im COM-Express-Standard acht USB-2.0-Schnittstellen definiert, die jedoch von den wenigsten Prozessor/Chip-Set-Kombinationen unterstützt werden. Meist stehen zwischen vier und sechs USB-2.0-Schnittstellen zur Verfügung. Auch die im COM-Express-Standard-Pinout Version 2 festgelegten 24 PCI Express Lines sind in aller Regel nicht komplett unterstützt. So liefert das Modul eines Anbieters, bestückt mit einem Intel-Atom-Prozessor N2600 / N2800 / D2550 und Chipsatz NM10 nur 2 x PCIe x1, ein weiteres Modul des gleichen Anbieters, bestückt mit einem Embedded-Intel-Core-i7 / i5 / i3-Prozessor und Chipsatz QM67 bietet 5 x PCIe x1. Zusätzlich bietet das Modul eine zweite LVDS-Schnittstelle, sowie 2 x SATA III. Dieses Beispiel zeigt, dass selbst im Bereich eines echten Standards wie COM Express eine 100-prozentige Kompatibilität und damit eine garantierte Austauschbarkeit nur bedingt möglich sind. Ist das Design auf den Low-end-Atom-Prozessor ausgelegt und optimiert, heißt das aber bei höherem Leistungsbedarf und damit dem Einsatz des leistungsstärkeren Moduls eine Änderung des Mainboards, also ein neues Design und Layout. Sicher lassen sich bei diesem Schritt einige Schaltplanteile übernehmen und auch eine Softwareanpassung scheint relativ einfach.

Im ARM-Modul-Bereich sind die Abweichungen noch deutlich signifikanter. So bietet ein Hersteller SMARC-Module mit einem Freescale-, NVIDIA- und einem TI-Prozessor. Die in den Spezifikationen angegebenen zwei CAN-Schnittstellen, sind bei der Freescale- und TI-Lösung vorhanden, bei der NVIDIA-Lösung jedoch nicht. Die spezifizierten drei PCIe-x-1-Schnittstellen sind bei der Freescale-Lösung über einen Brückenchip realisiert, die NVIDIA-Lösung bietet 2 x PCIe x1 und die TI-Lösung bietet keine PCIe-x-1-Schnittstelle. Auch hier ist die Frage nach der Austauschbarkeit der Module eines Herstellers, die alle dem SMARC-Standard folgen, erlaubt. Und wie finden sich die neuen Schnittstellen, wie unter anderem USB 3.0 in den aktuellen Standards wieder? Kommen neue Standards oder neue Definitionen und sind diese wiederum kompatibel zu den bisherigen Standards?

1:1-Vergleich der Funktionen

Außerdem sind die Applikationsboards meist auf eine Anwendung und Leistung optimiert. Die reale Welt zeigt, dass beim Bedarf von mehr Leistung auch das Applikationsboard auf diese Mehrleistung optimiert wird. So ist einfach nachzuvollziehen, dass ein Porsche-Motor in einem Polo-Chassis nicht optimal funktionieren kann, genauso natürlich umgekehrt.

Es lohnt sich also ein 1:1-Vergleich der Funktionen, die am Stecker des Moduls zur Verfügung stehen, um zu entscheiden, ob ein einfacher Austausch ohne Änderung des Applikationsboards möglich ist. So bleiben Überraschungen beim Einsatz eines Moduls eines anderen Herstellers oder bei der Hochrüstung mit einem leistungsstärkeren Modul aus. In jedem Fall wird der Wunsch nach einem absoluten Standard bei Embedded-Modulen ein Traum bleiben. Dies zeigt allein schon die Fülle an Standards in diesem Bereich.

Diagramm zur Systemintegration.

Diagramm zur Systemintegration.TQ

Trotzdem haben Standards ihre Berechtigung. In vielen Fällen, in denen nicht der komplette Funktionsumfang des Moduls / Prozessors genutzt wird, wird es eine Reihe von kompatiblen Modulen verschiedener Hersteller geben, die tatsächlich austauschbar sind. Auch die Wiederverwendung von Teilen des alten Applikationsboards im neuen Design hilft natürlich, Kosten beim neuen Design zu sparen. Je weniger Kompromisse bezüglich der angebotenen Funktionen und den im Standard geforderten Funktionen gemacht werden müssen, desto besser ist ein Standard. Weichen jedoch die vom Prozessor angebotenen Funktionen stark von den im Standard definierten Funktionen ab, kann man davon ausgehen, dass das Preis-/Leistungsverhältnis eines Standardmoduls nicht optimal ist.

TQ als führender Lösungsanbieter für innovative Technologien trägt den Anforderungen vom Markt Rechnung und bietet sowohl proprietäre als auch Standard-Module an. Dabei sind die ARM-basierten Module auf den Prozessor optimiert, bei den Standards liegt der Fokus auf der Entwicklung von Applikationsboards unter Nutzung der Standard-Module der TQ-Partner.