Qseven-Modul Vier Antworten auf die »Kern«-Frage

Ein neues Modul auf ARM-Basis im »Qseven«-Formfaktor lässt sich mit vier verschiedenen Prozessorvarianten ausstatten und ist dadurch als Single-Core-, Dual-Core- oder sogar als Quad-Core-Universalplattform verwendbar. So bekommt der im Zusammenhang mit »Computer on Module«-Lösungen gern verwendete Begriff der Skalierbarkeit eine ganz neue Bedeutung.

Neben PC-typischen Schnittstellen wie PCI-Express, SATA, LAN und USB enthält der »Qseven«-Modulstandard auch Embedded-Interfaces wie CAN, I²C, SDIO und SPI. Daher bietet es sich an, diese Module sowohl mit x86-CPUs als auch mit RISC-Prozessoren auszustatten. Somit ist Qseven bisher der einzige öffentliche Modulstandard, der eine Brücke schlägt zwischen diesen beiden wesentlichen Prozessorarchitekturen. Es sind ohne weiteres Anwendungen beziehungsweise Basisboards denkbar, die wahlweise Module mit RISC-Prozessoren oder mit x86-CPUs aufnehmen können.

Bei der Entwicklung ist lediglich darauf zu achten, dass der Qseven-Standard den RISC-basierenden Modulen erlaubt, manche der »PC-typischen« Schnittstellen auszulassen beziehungsweise nicht mit der vollen Anzahl abzudecken. Unter der Bezeichnung »MSC Q7-IMX6« bringt MSC ein neues Qseven-Modul auf Basis des ARM-Prozessors »i.MX 6« von Freescale auf den Markt, der eine »Cortex-A9«-RISC-CPU mit einem, zwei oder sogar vier Kernen enthält. Diese Derivate sind untereinander vollständig kompatibel und können dadurch wahlweise auf dieselbe Platine gelötet werden.

Bei niedriger Stromaufnahme stellen die Chips mit bis zu 1,2 GHz Taktfrequenz viel Rechenleistung zur Verfügung und bieten zudem eine hohe Grafikleistung: Alle Modelle verfügen über die »Triple Play«-Grafikarchitektur von Freescale, die unter anderem Hardware zum Dekodieren von 3D-Videos (dual-stream) bis Full-HD-Auflösung (1080p) enthält. Dazu gehören auch die 3D-Grafikdarstellung mit vier Shadern mit bis zu 200 MTri/s (Million Triangles per second), eine separate 2D-BLT-Engine (Block Lower Triangular) für die Beschleunigung von Benutzerschnittstellen und eine zusätzliche 2D-OpenVG-Engine für vektorbasierte Grafik.

Schnittstellen-Vielfalt

Der Prozessor liefert schon fast alle für den Einsatz auf einem Qseven-Modul notwendigen Schnittstellen, MSC hat weitere, für die geplanten Anwendungen wichtige Funktionen hinzugefügt (siehe Bockschaltbild in Bild 1). So kann die CPU über zwei Bänke DDR3-DRAM zwischen 512 MByte und 4 GByte verfügen. Darüber hinaus gibt es auch noch zwei Typen von Flash-Speicher, die ebenfalls auf dem Modul verlötet sind: Ein NOR-Flash bis zu 128 MByte Größe nimmt den Bootloader auf, da es schnell ist und über eine parallele Schnittstelle ähnlich der eines DRAM verfügt.

Das zusätzliche NAND-Flash kann bis zu 8 GByte groß sein und wie eine Flash-Disk für Betriebssystem und Programme funktionieren. Darüber hinaus steht noch eine SATA-II-Schnittstelle (bis 3 GBit/s) zur Verfügung, um externe Daten- und Programmspeicher anzusprechen. Zu den weiteren Qseven-Schnittstellen gehören zwei USB-2.0-Interfaces, von denen eine Host oder Client sein kann.

Für einige Modulvarianten hat MSC die Anzahl der USB-Schnittstellen durch einen Hub-Baustein auf acht erhöht, um damit alle USB-Leitungen des Standards abzudecken. PCI-Express wird ebenso unterstützt wie Gigabit-Ethernet und AC’97-Audio. Auch Busse wie CAN, SMBus, I²C und SPI finden sich auf dem Modul. Als Grafikausgänge stehen HDMI v1.4 mit einer Auflösung bis 1920 x 1200 (WUXGA) sowie Zweikanal-LVDS mit 18 Bit oder 24 Bit zur Verfügung.

Die LVDS-Kanäle lassen sich auch als zwei verschiedene einkanalige LVDS-Ausgänge verwenden, von denen jeder auf eine Auflösung bis 1280 x 720 kommt - besonders praktisch bei Anwendungen mit zwei oder mehr Anzeigen, wenn diese nicht mehr als die genannte Auflösung haben müssen. Weil der interne Grafikcontroller des i.MX 6 sogar bis zu vier unabhängige Anzeigen unterstützt, ist die parallele Darstellung von drei verschiedenen Inhalten auf zweimal LCD und HDMI durchaus möglich.

Neben den genannten Schnittstellen gibt es auf dem Modul noch weitere, die der Qseven-Stecker allerdings nicht mehr aufnehmen kann. Daher hat MSC die Interfaces für UART, SPI MIPI-CSI und BT.656 Camera auf einen eigenen »Feature-Stecker« gelegt, der auf dem Modul selbst angeschlossen wird. Besonders die beiden Kameraschnittstellen sollten bei der hohen Rechenleistung des Prozessors und der Encoder-Performance des Grafikcontrollers gute Dienste leisten können. Doch auch die serielle UART-Schnittstelle ist attraktiv zum Beispiel in industriellen Steuerungsanwendungen, spart sie doch einen externen Controller ein, um serielle Schnittstellen wie RS-232 oder RS-485 beispielsweise aus USB zu erzeugen.

Industrieller Temperaturbereich

Trotz hoher Rechen- und Grafikleistung und vieler Funktionen liegt die Verlustleistung des Moduls unter 5 W. Darüber hinaus ist es in allen Bestückungsvarianten für den vollen industriellen Temperaturbereich verfügbar und eignet sich daher gut für industrielle Anwendungen im Außenbereich. Mit der von Freescale garantierten Lieferzeit des Chips von zehn Jahren ist zudem die Forderung nach einer möglichst langen Verfügbarkeit des Moduls erfüllt.

Mit den verschiedenen Varianten des Moduls, die auch zu einer großen Bandbreite des Einstandspreises führen, lässt sich auf nur einem Basis- oder Applikationsboard eine große Vielfalt an verfügbarer Systemleistung und vom Benutzer wahrnehmbaren Grafikfeatures erreichen. Stark unterschiedliche Leistungsklassen des gesamten Zielsystems können Entwickler des Endgeräts praktisch allein durch die Wahl des geeigneten Prozessormoduls aus der Q7-IMX6-Serie vollständig in der Hardware implementieren.

Für die Software ergeben sich dadurch weite Spielräume, die je nach Abstufung vorhandene Mehrleistung in ein Mehr an nutzbaren Features umzusetzen. Die Basis-Software jedoch, die Implementierung des Betriebssystems und die benötigten Treiber, bleibt in allen Fällen absolut gleich. Treiber und OS-Unterstützung stehen für alle wesentlichen Embedded-Betriebssysteme zur Verfügung, allen voran für Linux und Windows Embedded Compact 7.

Durch die ARM-Cortex-A9-Architektur des Prozessors ist auch die Unterstützung durch das kommende Windows-8-RT-Betriebssystem gewährleistet. Auch wenn sich die Modulfamilie wegen der enormen Bandbreite an Rechen- und Grafikleistung für sehr viele Embedded-Anwendungen eignet, sind einige Applikationsgebiete doch besonders naheliegend.

Hier wären zuerst alle Formen von Mensch-Maschine-Schnittstellen zu nennen (Human-Machine-Interfaces, HMI), bei denen das Qseven-Modul für die grafische Darstellung zuständig ist und im Hintergrund mehr oder weniger ausgeprägte Rechenaufgaben zu lösen hat. HMIs sind zumeist im industriellen Umfeld bei Maschinensteuerungen zu finden, kommen aber auch für die Bedienung von Medizingeräten oder Steuerungen in der Haustechnik beziehungsweise in Kassensystemen zum Einsatz. Von hier ist es nicht weit zu den »Point of Information«-Anzeigen (POI) und den großen »Digital Signage«-Display-Systemen.

Über den Autor:

Peter Eckelmann ist Product Marketing Manager bei MSC.