Der Neue in der Klasse

Intels Arduino-kompatible Entwicklerplattform

Trends & News | News

Gemeinsam mit den Arduino-Entwicklern bringt Intel seine sparsame System-on-a-Chip-(SoC-)Architektur in Stellung. Intels derzeit kleinster Prozessor ist nicht nur die erste x86er-Architektur mit Arduino-Lizenz, sondern auch das bislang schnellste Pferd im Arduino-Stall.

Die Ankündigung konnte zu keinem besseren Zeitpunkt stattfinden. Die Maker Faire Rome ist quasi ein Heimspiel für Arduino. Auf der Eröffnungskonferenz bestätigten Massimo Banzi (Miterfinder des Arduino) und Intel-CEO Brian Krzanich offiziell die Kooperation beider Firmen und stellten den Intel Galileo als neue Entwicklungsplattform für Hardware-Hacker vor. Gegenüber den bislang auf dem Arduino befindlichen Mikrocontrollern bietet der Galileo einen gewaltigen Leistungsschub. Sowohl die traditionelle ATmega32U4-8-Bit-RISC-MCU als auch der 32-Bit-ARM-Cortex-M3 (SAM3X8E) mit immerhin 84 MHz müssen sich der Rechenleistung des Intel Quark SoC X1000 unterordnen.

Die Quark-CPU ist der vom Umfang kleinste Prozessor in Intels Portfolio, derzeit im 32-nm-Prozess gefertigt. Er besitzt einen 4860X-32-bittigen Kern und läuft mit 400 MHz Taktrate. Je nach Belastung kann er sich selbstständig auf die Hälfte oder ein Viertel der Frequenz drosseln, um Strom zu sparen. 16 KByte L1-Cache und zusätzliche 512 KByte SRAM On-Die sind vorhanden, Hyperthreading kennt er wie der Pentium nicht. Dafür verfügt die CPU über Power Management in Form der ACPI-3.0-Spezifikation. Für die gerade einmal 15 mm × 15 mm große CPU ist kein zusätzlicher Lüfter oder Kühlkörper nötig. Theoretisch lassen sich bis zu zwei GByte DDR3-Speicher adressieren, auf dem Galileo sind 256 MByte DRAM vorhanden. Der ECC-geschütze Hauptspeicher hat einen Durchsatz von gerade einmal 800 Megatransfers pro Sekunde, was zwei Transfers pro Clock Cycle bei 400 MHz Bustakt entspricht. Als Betriebssystem entschied sich Intel für ein minimalistisches Yocto-Linux, welches sehr wenig Platz beansprucht und sich auf einem 8 MByte großen SPI-Flashspeicher befindet.

Die Ausstattung des Galileo-Entwicklerboards kann sich sehen lassen, für Bastelspaß sorgen ein Micro-SD-Slot, ein 10/100-MBit-FastEthernet-Anschluss, ein USB-2.0-Host und -Client jeweils als Micro-Ausführung sowie ein Mini-PCI-Express-Anschluss. Mini-PCI-Express konnte man im ARM-Lager bislang mit der Lupe suchen. Einsatzmöglichkeiten für eine kompatible PCI-Express-Karte sind schnell gefunden, zumal solche Karten nicht einmal besonders teuer sind. Entsprechende WLAN-Adapter kosten knapp 10 Euro. Intel bietet dafür ein spezielles ISO-Image an, welches den Einsatz von WLAN-Karten ermöglicht. Für andere Kartentypen sind die entsprechenden Treiber selbst zu installieren.

Arduino-Schnittstelle

Die wohl bedeutsamste Schnittstelle bilden die zum Arduino UNO R3 kompatiblen Buchsen, mit denen sich sowohl 3,3-V- als auch 5-V-Shields betreiben lassen. Dem Galileo stehen darüber insgesamt 14 digitale Ein-/Ausgänge zur Verfügung, 6 lassen sich für Pulsweitenmodulation (PWM) verwenden. Über einen AD7298-Analog-Digital-Wandler mit 12-Bit-Auflösung sind weitere 6 analoge Eingänge vorhanden. Es finden sich auch I2C-Bus, SPI-Bus und ein UART TTL (5 V/3,3 V).

Ein 6-poliger ICSP-Anschluss stellt einen weiteren SPI-Bus bereit. Ein zweiter UART-Bus liefert eine RS-232-Schnittstelle über die 3,5-mm-Audiobuchse, ein Audioeingang ist nicht vorhanden. Ein Wermutstropfen ist der langsame I2C-Port-Expander, mit gerade einmal 100 kHz Bustakt. Eine einfache I2C-Anfrage dauert dann im Schnitt 2 ms, was sich auch in unseren Messungen zeigte. Durch Software-bedingte zusätzliche Verzögerungen ist die Frequenz der GPIO-Ausgabe laut Intel auf sehr geruhsame 230 Hz eingeschränkt. Weiterhin gibt es einen Anschluss für eine 3-V-Batterie, um die vorhandene Echtzeituhr des Quark X1000 zu aktivieren, und einen JTAG-Adapter. Zu guter Letzt zieht der Galileo vom Netzteil bis zu 3 A bei 5 V.

Intel gibt sich beim Ausflug in die Maker-Szene größte Mühe. So ist nicht nur der Galileo eine offiziell Arduino-lizenzierte Entwicklungsplattform, auch das Hardware-Design, der Schaltplan und die dazugehörige Software sind offengelegt. Zusätzlich kommen Universitäten in den Genuss von insgesamt 50 000 Galileos, die Intel über die nächsten eineinhalb Jahre an bis zu 1000 Lehrstätten verschenkt.

Konkurrenten

Der Neuling stellt für den Raspberry Pi und BeagleBone Black keine wirkliche Bedrohung dar. Zu unterschiedlich sind die Systeme zueinander. Auf eine Grafikausgabe hat Intel gänzlich verzichtet und in puncto Rechenleistung insbesondere bei Gleitkomma-Arithmetik sticht der Galileo zwar die ARM-Cortex-M3- und -M4-Architektur aus, gegen den ARM11 oder ARM Cortex-A8 muss er sich aber geschlagen geben. Zudem ist seine I/O-Leistung sowohl digital als auch analog mehr als bescheiden. Jedoch ist nun der Fuß in der Tür und Arduino betont, dass es sich hierbei nur um das erste lizenzierte Board handelt – die Partnerschaft steht noch am Anfang. Bis zum Erscheinen des Arduino Tre im nächsten Jahr, der ein Tandem aus Atmels ATmega32U4 und dem AM335x 1GHz ARM Cortex-A8 von Texas Instruments wird, bleibt Intel erst mal an der Leistungsspitze der Ardunio-kompatiblen Geräte.

Mit der x86-Architektur verändert sich auch die Programmierung im Arduino-Mikrokosmos. Für den Galileo steht eine Arduino IDE mit der Versionsnummer 1.5.3 auf der Intel-Webseite zum Download bereit. Damit lassen sich die sogenannten Sketches, also wahlweise Programme in C oder Java (Processing), erstellen und hochladen. Unter dem Menüpunkt Werkzeuge deutet die Obergruppe „X86 Boards“ darauf hin, dass der Galileo der Vorbote einer größeren Produktserie ist. Bei den ersten Programmierversuchen stößt man schnell auf noch fehlende Funktionalität. So ist beispielsweise die random()-Funktion momentan nicht verfügbar und auch bei gängigen Optimierungstechniken versagt der Compiler noch seinen Dienst. Der Galileo wird aber erst Ende November ausgeliefert, die Entwicklungsumgebung ist also noch in Arbeit. Jedoch akzeptiert die Arduino IDE nun klaglos AT&T-Assembler-Syntax, so konnte der cpuid-Befehl mühelos Herstellerkennung und Funktionsumfang des Quark X1000 auslesen. In der Gleitkommaarithmetik hängt dann der Quark-SoC die Arduino-Kollegen mühelos ab, bei Ganzzahlen ist das Ergebnis nicht mehr ganz so überzeugend. Man merkt, dass nur eine Integer ALU vorhanden ist.

Mit der Programmierung eröffnet sich ein gewaltiges Potenzial. Sollten die Hersteller professioneller Programmierwerkzeuge diese Plattform unterstützen, so ist der Galileo für die große x86er-Entwicklergemeinde die erste Wahl, wenn es darum geht, Steuerungen umzusetzen oder Sensoren zu bedienen. Intel selbst gibt sich auf seiner Webseite bescheiden, so soll der Galileo Lichtinstallationen oder Kleinroboter steuern.

Fazit

Bis auf die sehr gemütliche Reaktionszeit hat der Galileo seine Hausaufgaben gemacht. Er ist keine Konkurrenz zum Raspberry Pi oder den leistungsfähigen ARM-Entwicklerboards, Intel bietet aber eine Alternative zu den bisherigen Mikrocontrollern von Atmel und Microchip. Ein Preis steht noch nicht endgültig fest, daran wird sich aber zeigen, ob der Intel Galileo und sein Quark X1000 SoC seine Nische finden.

Für Bastler, die für ihre Projekte eine Ardunio-kompatible Plattform mit langsamer Ein-/Ausgabe, aber mit schnellen Rechenoperationen benötigen, ist der Galileo momentan eine Verlockung. Im neuen Jahr wird sich das Arduino-Team mit dem bereits angekündigten Tre mit seinem ARM Cortex-A8 die Performance-Krone zurückholen. (ogo)

Artikel kostenlos herunterladen

weiterführende Links

Infos zum Artikel

Kapitel
  1. Arduino-Schnittstelle
  2. Konkurrenten
  3. Fazit
0Kommentare
Kommentieren
Kommentar verfassen
Anzeige

Anzeige

weiterführende Links
  1. Zu diesem Artikel hat die Redaktion noch folgendes zusammengestellt:

    Links (2)

Anzeige