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

Aktuelle Ausgabe

12/2019
RasPi-Alternativen

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Grußbotschaften

    Mit Sonic Pi zaubern Sie komplexe Sounds, die Sie bei Bedarf sogar noch während des Abspielens modifizieren.

  • Das Runde und das Eckige

    Mit dem MCP4725 ergänzen Sie einen RasPi um einem D/A-Wandler, der bei Bedarf noch weitere Funktionen erfüllt.

  • Alles unter Kontrolle

    Schon ein einfaches Mikrocontrollerboard wie das CY8CKIT-049-42xx bietet erstaunlich viele Möglichkeiten beim Ansteuern von Hardware.

  • Viele Kerne

    Das Spresense Development Board von Sony lässt sich mit der Arduino IDE programmieren und bringt auch ein eigenes Entwickler-SDK mit.

  • Exotische Früchte

    Der aus China stammende Orange Pi positioniert sich mit einem guten Preis und interessanten Features gegen die RasPi-Truppe. Kann er sich auch behaupten?

  • Flexibler Surfer

    Mit dem neuen RasPi 4 setzen Sie einen öffentlichen Webkiosk schnell und kostengünstig auf.

  • Auskunftsfreudig

    Viele Devices, so auch der E.ON-Aura-Controller, verwenden eine Schnittstelle namens REST, um Zustandsdaten zu übermitteln. Mit ein wenig Bastelei lesen Sie diese auch über Ihr Smartphone aus.

  • Doppelt gemessen

    Mit wenig Aufwand und einem Pi Zero realisieren Sie einen mobilen Zweikanal-Spannungsprüfer.

  • Elegant zusammengeführt

    Tizonia streamt Musik von Online-Quellen und lokalen Sammlungen. Die schlanke Architektur macht den Player zur guten Wahl für den Einsatz auf dem RasPi.

  • Kommunikativ

    Nicht jeder traut sich zu, sein eigenes Smartphone zu bauen. Allerdings kann jeder Linux-Nutzer den Raspberry Pi im Handumdrehen zu einem VoIP-Telefon aufrüsten.