Mit Quad-Core-Power, mehr Speicher und schnelleren Interfaces soll das HummingBoard dem Raspberry Pi Konkurrenz machen. Trotz weitgehender Kompatibilität der Schnittstellen steckt der Teufel hier, wie so oft, im Detail.
README
Mit dem HummingBoard präsentiert der israelische Anbieter SolidRun eine deutlich leistungsfähigere Alternative zum Raspberry Pi. Dieser Artikel untersucht, inwieweit der mit einer Quad-Core-CPU ausgestattete SBC sich tatsächlich als Ersatz für den RasPi eignet.
Der israelische Hersteller SolidRun tritt mit dem HummingBoard an, um das SBC-Segment oberhalb des Raspberry Pi abzudecken. Die Spezifikation des Einplatinencomputers beeindruckt: Er stößt leistungsmäßig in Bereiche vor, die bis vor Kurzem noch x86-Prozessoren vorbehalten waren. Im Vergleich zum RasPi trumpft das HummingBoard mit einer viel flotteren CPU, mehr Speicher, einer schnelleren Netzwerkschnittstelle und durchsatzstarken Interfaces wie SATA und PCIe auf (siehe Tabelle “HummingBoard vs. Raspberry Pi”).
HummingBoard vs. Raspberry Pi
|
|
HummingBoard Professional i2EX |
Raspberry Pi Modell B+ |
|---|---|---|
|
SoC |
Freescale i.MX6 Dual |
Broadcom BCM2835 |
|
ARM-Kern |
Cortex-A9 |
ARM1176JZF-S |
|
ARM-Befehlssatz |
ARMv7 |
ARMv6 |
|
Taktrate (Kern) |
1000 MHz |
700 MHz |
|
Anzahl Kerne |
2 |
1 |
|
CPU-Benchmark |
2x bis 10x RPi [10] |
Referenz |
|
GPU |
Vivante GC2000 |
Broadcom VideoCore IV |
|
RAM |
1028 MByte |
512 MByte |
|
USB-2.0-Ports |
2 |
4 |
|
Ethernet |
1 Gbit/s1 |
100 Mbit/s |
|
IR |
38-kHz-Receiver |
38-kHz-Receiver |
|
Videoeingang |
15-Pin MIPI CSI |
15-Pin MIPI CSI |
|
Videoausgang |
HDMI |
HDMI |
|
GPIO Header |
26 Pins2 |
40 Pins |
|
PCIe |
Mini-PCIe-Connector |
– |
|
eSATA |
mSATA |
– |
|
Leistungsaufnahme (max.) |
7,5 W |
3,0 W |
|
Preis3 |
103 Euro |
29 Euro |
|
Bezugsquelle |
||
|
1 maximal mögliche Bandbreite 470 Mbit/s (SoC-Limitierung) |
||
|
2 Formfaktor identisch zu Raspberry Pi Modell B |
||
|
3 zuzüglich Versandkosten (Stand: 14.11.2014) |
||
Wie beim RasPi gibt es auch beim HummingBoard eine ganze Produktfamilie mit mehreren Modellen. Der Befehlssatz der HummingBoards beschränkt sich aber nicht auf ARMv6: Das verbaute Freescale-i.MX6-SoC enthält bis zu vier ARM-Cortex-A9-Rechenkerne, die den ARMv7-Befehlssatz implementieren. Dies bringt den großen Vorteil mit sich, dass sich die Armhf-Binärpakete von Debian und dessen Derivaten direkt nutzen lassen; Ähnliches gilt auch für andere Distributionen. Angesichts dieser Pluspunkte fällt der höhere Stromverbrauch der HummingBoards in vielen Einsatzsparten nicht ins Gewicht.
Mit einer so breit aufgestellten Community wie der Raspberry Pi kann das HummingBoard jedoch nicht aufwarten. Der RasPi steht für gut dokumentierte Schnittstellen, viele kompatible Peripheriegeräte und Zukunftssicherheit bei der Software. Inwieweit es der HummingBoard-Familie gelingt, dies durch Schnittstellen- und Software-Kompatibilität zu kompensieren, untersuchen wir im Folgenden.
Die Hardware
Das HummingBoard gibt sich modularer als der Raspberry Pi: Es besteht aus einem Micro-SoM, das samt eines Kühlkörpers auf einem Carrier-Board sitzt (Abbildung 1). Das Micro-SoM enthält im Wesentlichen das i.MX6-SoC sowie die Speicherbausteine. Insgesamt gibt es vier verschiedene Micro-SoMs und drei verschiedene Carrier-Boards, sodass die HummingBoard-Familie insgesamt aus acht Mitgliedern besteht [1].
Neben zwei Carrier-Boards für das HummingBoard baut SolidRun auch noch eines für ein kleines Kompaktgehäuse und kann so neben den HummingBoards auch die wohnzimmertaugliche CuBox-i-Produktfamilie (Abbildung 2) mit reduzierter Schnittstellenzahl anbieten.

Abbildung 2: Bei der CuBox-i handelt es sich um eine wohnzimmertaugliche Variante des HummingBoards.
Die Schnittstellen
Um zu prüfen, inwieweit sich die Schnittstellen des HummingBoard kompatibel zu jenen des RasPi verhalten, untersuchen wir im Folgenden vier einfache Anwendungen: eine serielle Konsole über UART, das Ansteuern von LEDs via GPIO, die Serial-Peripheral-Interface-Kommunikation sowie das Einbinden des RasPi-Kameramoduls. Als Test-Hardware dienten ein Raspberry Pi Modell B und ein HummingBoard Professional i2EX. Als Software kam auf dem RasPi Raspbian und auf dem HummingBoard Debian “Jessie” (die “Testing”-Version von Debian 8.0) in Form des Images von SolidRun [2] zum Einsatz. Die Installation erfolgt in beiden Fällen durch ein einfaches Kopieren auf eine SD- respektive Micro-SD-Karte.
Die serielle Konsole nahmen wir mit einem USB-nach-UART-Kabel PL2303HX und Minicom in Betrieb, indem wir GND, 5V, RX und TX (überkreuzt) mit dem GPIO-Header verbanden. Das klappte bei beiden SBCs ohne Probleme. Beim HummingBoard gilt es zu beachten, dass dessen Stromversorgung über USB erfolgen muss und Sie den 5V-Pin nicht verbinden dürfen, da das PL2303HX-Kabel selbst nicht genügend Strom liefert.
Den Aufbau für das Ansteuern einer LED via GPIO [3] zeigt Abbildung 3. Wir verbanden die Steckplatine über einen T-Koppler mit dem GPIO-Header des RasPi beziehungsweise des HummingBoard. Nach dem Anschließen einer LED mit einem Vorwiderstand an GPIO7 (Pin 26) verlief das Ansteuern vom RasPi aus problemlos. Listing 1 stellt den Ablauf dar; die LED blinkt synchron zur Ausgabe 0-1-0....
Eine gute GPIO-Dokumentation für das HummingBoard finden Sie im Blog von Gert Leenders [4]. Die Ansteuerung funktioniert weitgehend identisch wie beim RasPi (Listing 2), allerdings gibt es doch zwei kleine Unterschiede: Pin 26 lässt sich beim HummingBoard gar nicht als GPIO konfigurieren, deshalb kommt Pin 22 zum Einsatz. Zudem fällt die Nummerierung der GPIOs unterschiedlich aus: Pin 22 ist beim HummingBoard GPIO 67, beim Raspberry Pi GPIO 25.
Listing 1
# mount -t debugfs none /sys/kernel/debug # cat /sys/kernel/debug/gpio GPIOs 0-53, bcm2708_gpio: gpio-16 (led0 ) out hi # echo "4" > /sys/class/gpio/export # echo "out" > /sys/class/gpio/gpio4/direction # cat /sys/kernel/debug/gpio GPIOs 0-53, bcm2708_gpio: gpio-4 (sysfs ) out lo gpio-16 (led0 ) out hi root@pi:/home/pi# val=1 # while : ; do > echo $val > /sys/class/gpio/gpio4/value > echo $val > sleep 1 > val=$((1-$val)) > done 0 1 0 1 [...]







