Raspberry Pi als Prototyping-Plattform Von der Idee zur Serie mit 96Boards

Viele Entwickler nutzen die auf dem Markt verfügbaren Community-Boards als Grundlage für ihren »Proof Of Concept« und um ihre Ideen anhand einer bewährten, funktionierenden Plattform bewerten zu können. Eines der weltweit beliebtesten Community-Boards ist der Raspberry Pi.

Der Raspberry Pi wurde als Einplatinen-Computer in »Kre­ditkartengröße« gebaut. Ziel dieser Entwicklung war ursprünglich, Entwicklern und Ingenieuren die Möglichkeit zu bieten, mehr über Computer und Informatik bzw. Elektronik zu lernen, wobei viele Anwender ihn nutzten, um mehr über Programmierung und die Nutzung von High-Level-Betriebssystemen wie Linux zu erfahren. Wie kann man ein Community-Board nutzen, um dann im nächsten Schritt zur Vorproduktion und schließlich zur Massenproduktion überzugehen?

Häufig kann man das Board aus vielerlei Gründen nicht in der Originalausführung verwenden, da dieses Board üblicherweise nicht für den Einsatz in Produktionsumgebungen bestimmt war. Es unterstützt keine industriellen Temperaturen (–40 °C bis +85°C), es wurde nicht für die Massenproduktion getestet und hat noch einige weitere Einschränkungen. In anderen Fällen, unter anderem für die Produktion in hohen Stückzahlen, setzen viele Kunden vermehrt auf die Entwicklung eines eigenen Boards, das die in die Community-Boards eingebauten Applikationsprozessoren verwendet. Diese Boards dienen somit als wichtiges Referenzdesign.
Eine der größten Community-Plattformen, die nun einen ganz anderen Weg einschlägt, ist die von Linaro gegründete Initiative »96Boards« [1]. Linaro möchte mit dieser Initiative Industrie und Open-Source-Community zusammenbringen, um Hand in Hand an wichtigen Projekten zu arbeiten, exzellente Tools bereitzustellen, die branchenweite Fragmentierung zu verringern und allgemeine Softwaregrundlagen für alle anzubieten.

Die 96Boards-Spezifikationen

Die 96Boards-Hardwarespezifikation definiert im Gegensatz zum Raspberry Pi verschiedene standardisierte Formfaktoren. Die Raspberry-Pi-Platine nutzt nur Broadcom-SOCs, und der Formfaktor wechselt von Board zu Board. 96Boards bietet nun eine breite Auswahl aus einer Vielzahl verschiedener SOCs zu unterschiedlichen Preisen. 96Boards ist die erste offene Spezifikation, die eine Plattform für die Bereitstellung von kompatiblen, kostengünstigen 32-bit- und 64-bit-Cortex-A-Boards mit geringem Platzbedarf aus der Palette der ARM-SoC-Anbieter definiert.

Standardisierte Erweiterungsbusse für Peripherie-I/O, Display und Kameras ermöglichen dem Hardware-Ökosystem, eine Reihe kompatibler Add-On-Produkte zu entwickeln, die für die gesamte Lebensdauer der Plattform garantiert auf jedem beliebigen 96Boards-Produkt funktionieren werden. Es gibt derzeit drei 96Boards-Spezifikationen für kostengünstige ARM Cortex-A und Cortex-M Entwicklungsplatinen:

Die Consumer-Edition (CE) zielt auf die mobilen, embedded und digitalen Home-Segmente.
Die Enterprise-Edition (EE) ist für die Netzwerk- und Serversegmente bestimmt.
Die IoT-Edition (IE) bedient die Zielgruppe des Internet of Things (IoT) und die Embedded Segmente.

Einer der wichtigsten Erfolgsfaktoren der 96Boards Consumer-Edition war das Dragonboard 410C, eines der weltweit ersten ARMv8-64-bit-Entwicklungsboards, das in großen Stückzahlen produziert und zum attraktiven Preis von 75 US-Dollar erhältlich war. Das Dragonboard 410C war nicht nur eines der ersten günstigen ARMv8-64-bit-Entwicklungsboards, das in die Massenproduktion ging, sondern auch eines der ersten 96Boards-Markenprodukte.

Im Laufe des letzten Jahres haben Qualcomm, Linaro und Arrow einen starken Software- und Ökosystemsupport rund um das Dragonboard 410C aufgebaut. Entwickler, die sich für diese Plattform entscheiden, profitieren von einer Vielzahl zur Verfügung stehender Betriebssysteme, unter anderem Android, Debian Linux, OpenEmbedded, Ubuntu Core und Windows 10 IoT. Diese Betriebssysteme sind mit vielen verfügbaren IoT-Entwicklungskits kompatibel, beispielsweise mit Amazon Web Services (AWS), AT&T M2X, Brillo, IBM Bluemix Watson und Microsoft Azure.
Auf der embedded world 2017 wird Arrow dem Markt eine Reihe neuer 96Boards präsentieren: »Meerkat« (das »Erdmännchen«) ist klein, schnell, hat eine Reihe von Kommunikationsfähigkeiten und kommuniziert in einer großen Gruppe. Basierend auf der 96Boards-Spezifikation ist es mit einem NXP i.MX7D Prozessor, einem Dual-Core-ARM-Cortex-A7 mit bis zu 1,2 GHz und Cortex-M4 ausgestattet. Das Board bietet folgende Verbindungsmöglichkeiten: WLAN 802.11 b/g/n 2,4 GHz, Bluetooth 4.1, ein USB 2.0 OTG Micro AB, zwei USB 2.0 HOST, On-Board-BT- und WLAN-Antenne, I/O-Schnittstellen, ein 40-Pin-Low-Speed-(LS-)Erweiterungsstecker gibt Zugang zu zwei UART, SPI, I2S, I2C x2, GPIO x12, Gleichstromversorgung (DC), RGMII, CAN, PWM und weitere Schnittstellen basierend auf den zwölf GPIO-Leitungen (außerhalb der 96Boards-Spezifikationen). Die zweite I/O-Schnittstelle basiert auf einem 60-Pin-High-Speed-(HS-)Erweiterungsstecker, der folgende Schnittstellen unterstützt: SDHC/SDIO, 2L-MIPI DSI, 2L-MIPI CSI, I2C, USB 2.0 HOST & USB 2.0 HOST HSIC. Wird eine Add-On-Tochterkarte verwendet, ist das Board außerdem mit Arduino kompatibel. Als Betriebssystem kommt ein Debian-basiertes Linux-Betriebssystem zum Einsatz.
Das auf 96Boards-Spezifikationen ba­sierende »Chameleon96« enthält ein Intel Cyclone-V-SoC-FPGA mit 110K Logikelementen, einen Dual-Core-ARM-Cortex-A9 bis zu 800 MHz Taktrate pro Kern und ist für 32-bit-Betrieb geeignet. Das Chameleon96 erfüllt sämtliche 96Boards-Spezifikationen (mit Ausnahme der MIPI-SDI-Schnittstelle) und die meisten optionalen Spezifikationen. Das Board unterstützt von Beginn an Linux und bietet erweiterte Verarbeitungsleistung, WLAN, Bluetooth und GPS – all das auf einem Board in der Größe einer Kreditkarte. Es wurde speziell zur Unterstützung leistungsintensiver Funktionalität entwickelt, unter anderem auch für Multimedia.