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

06/2019
Home Improvement

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Verschlungene Pfade

    Mit Schleifen, Fallunterscheidungen und Funktionen programmieren Sie komplexe Skripte auf einfache und elegante Weise.

  • Extrem genau

    Mit einem A/D-Wandler messen Sie bei Bedarf Spannungen. Der MCP3424 macht dabei konstruktionsbedingt eine gute Figur.

  • Verbindungsaufnahme

  • Süßer Wecker

    Dem RasPi fehlen sowohl eine Echtzeituhr als auch ein BIOS, ein zeitgesteuertes Wecken erfordert also Zusatzkomponenten. Hier springt der Witty Pi Mini in die Bresche, ein µHAT von UUGear.

  • Windows to go

    Das Aufsetzen zuverlässiger und sicherer Remote-Desktop-Lösungen erfordert einiges Know-how. Die RasPi-basierte Pinbox von Pintexx reduziert den Konfigurationsaufwand auf ein Minimum.

  • Prima Klima

    In Museen ist es Pflicht, zu Hause nützlich: das permanente Prüfen und zentrale Erfassen der Feuchtigkeit und Temperatur in Räumen.

  • Auf einen Blick

    Ein maßgeschneiderter Infoscreen auf RasPi-Basis mit stromsparendem E-Ink-Display zeigt Termine, Bilder, Mitteilungen und Wetterinformationen an.

  • Sanft berührt

    Mit einem RasPi und dem Controllermodul PiXtend lassen sich mühelos Roboterarme ansteuern und deren Bewegung automatisieren.

  • Popcorn-Kino

    Mit Kodi 18.0 unterstützt LibreELEC 9.0 jetzt die von vielen Streaming-Diensten genutzte DRM-Verschlüsselung. Die Integration von Netflix, Amazon und Co. erfordert allerdings Handarbeit.

  • So nah und doch so fern

    Der RasPi kommt häufig als Server oder Steuerrechner für spezielle Zwecke zum Einsatz. Mit Anydesk erhalten Sie dazu eine Steuersoftware mit grafischer Oberfläche.