Raspberry-Pi-Klon SolidRun HummingBoard aus Israel

© Rainer Dorsch

Quad-Power

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

http://www.ecservices.de

http://www.reichelt.de

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.

Abbildung 3: Der Raspberry Pi und das HummingBoard mit einer Steckplatine.

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
[...]

Listing 2

 

# mount -t debugfs none /sys/kernel/debug
# cat /sys/kernel/debug/gpio
[...]
GPIOs 64-95, gpio-2:
 gpio-67  (pin22               ) in  hi
 gpio-68  (PCIE RESET          ) out hi
 gpio-69  (gpio-ir-recv        ) in  hi
 gpio-70  (pin15               ) in  hi
[...]
# echo 67 > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio67/direction
# cat /sys/kernel/debug/gpio
[...]
GPIOs 64-95, gpio-2:
 gpio-67  (pin22               ) out lo
 gpio-68  (PCIE RESET          ) out hi
 gpio-69  (gpio-ir-recv        ) in  hi
 gpio-70  (pin15               ) in  hi
[...]
# val=1
# while : ; do
>   echo $val > /sys/class/gpio/gpio67/value
>   echo $val
>   sleep 1
>   val=$((1-$val))
> done
1
0
1
0
[...]

Der zweite Test gilt der Inbetriebnahme des Serial Peripheral Interface (SPI[5]). Für den Raspberry Pi gibt es dazu viele Beschreibungen [6]. Das verwendete Programm spidev_test.c kommt zusammen mit dem Kernel-Quellcode und implementiert einen Loopback-Test, bei dem MOSI- und MISO-Pins am GPIO-Header verbunden werden (Listing 3). Das funktioniert aber nur, wenn spidev_test.c zu dem auf dem Raspberry Pi laufenden Kernel passt.

Zur SPI-Kommunikation mit dem HummingBoard existiert nur wenig Dokumentation. Im Test luden wir das Kernel-Modul spi_imx, das aber weder das gewünschte Gerät in /dev erstellte noch Einträge in Logfiles hinterließ. Erst der Einsatz eines alternativen Debian-Images [7] für das HummingBoard von Igor Pecovnik ließ die SPI-Geräte erscheinen, wenn auch unter etwas anderem Namen. Daraufhin klappte der Loopback-Test auch auf dem HummingBoard (Listing 4).

Listing 3

 

$ gcc spidev_test.c -o spidev_test
$ ./spidev_test -s 100000 -D /dev/spidev0.0
spi mode: 0
bits per word: 8
max speed: 100000 Hz (100 KHz)
FF FF FF FF FF FF
40 00 00 00 00 95
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
DE AD BE EF BA AD
F0 0D

Listing 4

 

# gcc spidev_test.c -o spidev_test
# ./spidev_test -D /dev/spidev1.0
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)
FF FF FF FF FF FF
40 00 00 00 00 95
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
DE AD BE EF BA AD
F0 0D

Das Kameramodul lässt sich auf dem Raspberry Pi problemlos integrieren und unter Raspbian in Betrieb nehmen. Dazu konfigurieren Sie es zunächst mit raspi-config und können nach einem Reboot sofort mit raspistill -o image.jpg Fotos aufnehmen. Für das HummingBoard fand sich trotz intensiver Suche im Netz keine Anleitung, wie man die Kamera in Betrieb nimmt. Allerdings scheinen andere Kameratypen zu funktionieren, was der Autor aber mangels verfügbarer Hardware nicht überprüfen konnte.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Fünf Alternativen zum Raspberry Pi

    Die RasPi-Konkurrenz aus Fernost lockt mit mehr und schnelleren Kernen, größerem Speicher und mehr Anschlüssen – aber lohnt sich ein Umstieg wirklich?

  • Experimente zu Clustering und Lastverteilung mit dem RasPi

    Der Raspberry Pi eignet sich vorzüglich als Server fürs LAN. Koppeln Sie mehrere der Geräte zusammen, haben Sie im Handumdrehen einen Cluster.

  • Editorial 05/2013

    Der Raspberry Pi hat die IT-Landschaft um ein kreatives Element erweitert. Mit dem Raspberry Pi Geek begleiten wir die Entwicklung, bieten eine Plattform für die duetschsprachige Community und liefern Tipps und Anregungen für die eigenen Projekte mit dem Mini-PC.

  • Editorial RPG 03/2015

    Als die Raspberry Pi Foundation das überarbeitete Modell B+ präsentierte, waren durchaus einige RasPi-Fans ein wenig enttäuscht. Die vier USB-Ports und die stabilere Stromversorgung kamen vielen Bastlern gelegen, doch die RasPi-Community wartete sehnlich auf ein Modell mit mehr Leistung. Der unerwartet schnell präsentierte Raspberry Pi 2 versöhnt die Gemeinschaft nun wieder.

  • Druckreif

    Vom 3D-Druck bis zur ausgefeilten Cocktail-Maschine mit Arduino-Herz – die Make Munich hat gezeigt, das Selbermachen hoch im Kurs steht. Wer dabei auf einen Pi Zero setzen will, braucht gute Kontakt und eine Portion Glück, so wie die Redaktion des RasPi-Geek, die so einen umfassenden Bericht ins Blatt heben konnte.

Aktuelle Ausgabe

12/2018
Coole Projekte

Diese Ausgabe als PDF kaufen

Preis € 7,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Bytes und Beats

    In Sonic Pi können Sie mit wenigen Codezeilen Klänge manipulieren, Beats zusammenstellen und ganze Songs komponieren.

  • Klein, aber fein

  • Trick or treat

    Das traditionelle RPG-Gruselkabinett glänzt dieses Jahr mit einer innovativen Umsetzung mittels Pneumatik und Elektropneumatik sowie ST-Programmierung.

  • Unter Kontrolle

    Traditionell stellen wir alljährlich ein selbst gebautes Halloween-Gespenst vor. Die pneumatischen und elektronischen Grundlagen erklärt dieser Artikel.

  • Go Pi Go!

    Der Bausatz GoPiGo3 liefert Bauteile und Software für ein kleines Roboterauto. Zusammen mit einem RasPi als Gehirn programmieren Sie den Roboter per Mausklick.

  • Handlicher Helfer

    Während die Folien der Präsentation durchlaufen, liefert ein kleiner Dokumentenserver auf Basis des GL-AR300M-ext zusätzliche Informationen aus.

  • Wiederverwertet

    Mithilfe eines einfachen Python-Programms recyceln Sie ein ausgedientes Smartphone als drahtlos angebundenes RasPi-Display.

  • Herzenssache

    Steigt beim Krimi der Herzschlag bedrohlich an? Mit einem Pulsmesser in Eigenbau ermitteln Sie einfach und kostengünstig, ob der Herzschlag noch in verträglichen Bereichen liegt.

  • Fernbedient

    Mit der Fernbedienung den RasPi steuern. In der Theorie möglich, in der Praxis oft beschwerlich. Die Libcec liefert praktische Tools zur Fehlersuche.

  • Musikwürfel

    Mit Musikcube machen Sie Ihre eigene Sammlung fit fürs Streamen. Der terminalbasierte Audioplayer lässt sich Fernsteuern und bietet eine App für Android-Smartphones.