Open Source im professionellen Einsatz
Linux-Magazin 01/2015
© Rainer Dorsch

© Rainer Dorsch

Raspberry-Pi-Klon Hummingboard im Praxistest

Beerenfalle

Mit Quadcore-Power, mehr Speicher und schnelleren Interfaces richtet sich das Hummingboard an Raspberry-Pi-Besitzer, die mit einem Aufstieg liebäugeln. Auf weitgehende Kompatibilität der Schnittstellen haben die Macher geachtet, doch der Teufel steckt, wie so oft, auch hier im Detail.

1155

Der israelische Hersteller Solidrun will mit dem seit Kurzem fertigen Hummingboard [1] das Amateur-SBC-Segment oberhalb des Raspberry Pi besetzen. Die Spezifikation des Einplatinencomputers beeindruckt: Er stößt leistungsmäßig in einen Bereich vor, der bis vor Kurzem x86-Prozessoren vorbehalten war.

Im Vergleich zum Raspberry  Pi trumpft das Hummingboard mit einer wesentlich flotteren CPU [2], mehr Speicher, einer nicht nur auf dem Papier deutlich schnelleren Netzwerkschnittstelle und durchsatzstarken Ports wie SATA und PCIe auf (siehe Tabelle 1).

Wie beim Raspberry Pi gibt es auch beim Hummingboard eine Produktfamilie mit mehreren Modellen. Der Befehlssatz der Hummingboards beschränkt sich nicht wie beim Raspberry  Pi auf ARMv6: Das verbaute Freescale-i.MX6-SoC (System on a Chip) enthält ein bis vier ARM-Cortex-A9-Rechenkerne, die den ARMv7-Befehlssatz implementieren. Das bringt für den Nutzer den großen Vorteil, dass er die Armhf-Binärpakete von Debian und seinen Derivaten benutzen kann, Solidrun muss also keine eigene Distribution pflegen. Ähnliches gilt auch für andere Distributionen. Bei so vielen Pluspunkten fällt bei vielen Einsatzzwecken der höhere Stromverbrauch der Hummingboards nicht ins Gewicht.

Mit einer mustergültig breit aufgestellten Community wie der Raspberry  Pi kann das Hummingboard allerdings 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-Kompatibilität zum Raspberry  Pi und die Softwarekompatibilität zu Debian und anderen Distributionen zu kompensieren, untersucht der folgende Praxistest.

Das Hummingboard weist einen modulareren Aufbau auf als die Raspberry-Pi-Hardware: Es besteht aus einem Micro-SOM, das mit einem Kühlkörper auf einem Carrierboard sitzt (Abbildung  2). Das Micro-SOM enthält im Wesentlichen ein i.MX6-SoC sowie Speicherbausteine. Insgesamt gibt es vier verschiedene Micro-SOMs und zwei verschiedene Carrierboards, die Solidrun nach dem Mix-and-Match-Ansatz konfiguriert, sodass die Hummingboard-Familie insgesamt aus acht Mitgliedern besteht.

Neben den beiden Carrierboards baut Solidrun auch noch eines für das in Abbildung  3 gezeigte Cubox-i-Gehäuse. Damit kann Solidrun mit einer Familie von vier Micro-SOMs und drei Carriern neben den Hummingboards auch die wohnzimmertaugliche Cubox-i-Produktfamilie mit reduzierter Schnittstellenzahl anbieten. Eine vollständige Dokumentation der Hardware wie Schematics, Gerber- und DXF-Dateien stellt Solidrun im Web [3] zur Verfügung.

Als Software kam auf dem Platzhirsch Raspbian und auf dem Herausforderer ein Jessie-Debian, also die Testing-Version von Debian 8.0, in Form des Solidrun-Image [4] zum Einsatz. Die Installation erfolgte in beiden Fällen durch ein einfaches Kopieren auf eine SD- respektive Micro-SD-Karte.

Abbildung 2: Das Hummingboard – hier noch ohne den Kühlkörper. Auf der linken Hälfte zu sehen ist das Micro-SOM-i2eX mit dem Freescale i.MX6 und zwei RAM-Bausteinen.
Abbildung 3: Bei der Cubox-i handelt es sich um eine wohnzimmertaugliche Variante des Hummingboard.

Tabelle 1

Die leistungsfähigsten Hummingboard- und Raspberry-Pi-Modelle

 

Hummingboard Professional i4pro

Raspberry Pi, Modell B+

SoC

Freescale i.MX6 Quad

Broadcom BCM 2835

ARM-Kern

Freescale i.MX6 Quad

ARM 1176JZF-S

ARM-Befehlssatz

ARMv7

ARMv6

Kerne, Taktrate

4 Kerne mit 1 GHz

1 Kern mit 700 MHz

CPU-Benchmark

je nach Benchmark [2] 2- bis 10-mal schneller als der Raspberry Pi

Referenz

GPU

Vivante GC2000

Broadcom Videocore IV

RAM

2 GByte

512 MByte

USB-2.0-Ports

2

4

Ethernet

1 GBit/s 1

100 MBit/s

IR

38-kHz-Receiver

38-kHz-Receiver

Video-Eingang

15-Pin-MIPI-CSI

15-Pin-MIPI-CSI

Video-Ausgang

HDMI

HDMI

GPIO-Header

26 Pins 2

40 Pins

PCIe

Mini-PCIe-Connector

E-SATA

M-SATA

Leistungsaufnahme

max. 10  W

max. 3  W

Preis

knapp 150  US-Dollar 3

33  Euro

1 maximal mögliche Bandbreite 470 MBit/s (SoC-Limitierung)

2 Formfaktor identisch zum Raspberry-Pi-Modell B

3 zuzüglich 19 Prozent Einfuhrumsatzsteuer

Test 1: Kompatibilität der Schnittstellen

Zum Prüfen der Schnittstellen-Kompatibilität untersuchten die Linux-Magazin-Tester exemplarisch vier einfache Anwendungen: die serielle Konsole über UART, das Ansteuern von LEDs via GPIO, die Serial-Peripheral-Interface-Kommunikation sowie das Einbinden des Raspi-Kameramoduls. Als Hardwareplattformen dienten ein Raspberry-Pi-Modell  B und ein Hummingboard Professional  i2EX (Abbildung 1, Tabelle  2).

Tabelle 2

Das getestete Hummingboard

Name

Hummingboard Professional i2EX

Hersteller

Solidrun

SoC

Freescale i.MX6 Dual

ARM-Kern

Cortex-A9

ARM-Befehlssatz

ARMv7

Kerne, Taktrate

2 Kerne mit 1 GHz

GPU

Vivante GC2000

RAM

1 GByte

USB-2.0-Ports

2

Ethernet

1 GBit/s 1

IR

38-kHz-Receiver

Video-Eingang

15-Pin-MIPI-CSI

Video-Ausgang

HDMI

GPIO-Header

26 Pins 2

PCIe

Mini-PCIe-Connector

E-SATA

M-SATA

Leistungsaufnahme

max. 7,5  W

Preis

103  Euro plus Versand

Bezugsquelle

http://www.ecservices.de

1 maximal mögliche Bandbreite 470 MBit/s (SoC-Limitierung)

2 Formfaktor identisch zum Raspberry-Pi-Modell B

Kreuzweise

Die serielle Konsole nahmen die Tester mit einem USB-nach-UART-Kabel PL2303HX und Minicom in Betrieb, indem sie »GND« , »5V« , »RX« und »TX« überkreuz mit dem GPIO-Header verbanden. Das klappte bei beiden SBC ohne Probleme. Beim Hummingboard ist zu beachten, dass dessen Stromversorgung über USB erfolgen muss und der Besitzer den 5-Volt-Pin nicht verbinden darf, da das PL2303HX-Kabel selbst nicht genügend Strom liefert. Dann aber bootet das Hummingboard über die serielle Konsole, welche die Arbeiten mit U-Boot deutlich erleichtert.

Den Aufbau für das Ansteuern einer LED via GPIO zeigt Abbildung  4. Der Schaltungsaufbau erfolgte auf einer Steckplatine, die die Tester über einen T-Koppler mit dem GPIO-Header des Raspberry beziehungsweise des Hummingboard verbanden. Für den Pi findet sich eine ausführliche Dokumentation der GPIO-Ansteuerung für mehrere Programmiersprachen, zum Beispiel auf [5].

Nach dem Anschließen einer LED mit einem Vorwiderstand an »GPIO7« (Pin  26) verläuft das Ansteuern problemlos, vorausgesetzt, dass der Bastler die irreführende Nummerierung auf dem GPIO-Header durchschaut. Das Listing  1 stellt den Ablauf dar, die LED blinkt synchron zur »0-1-0...« -Ausgabe.

Eine gute GPIO-Dokumentation für das Hummingboard liefert das Blog von Gert Leenders  [6]. Die Ansteuerung funktioniert weitgehend identisch wie beim Raspberry  Pi (Listing  2) – mit zwei kleinen Unterschieden: Pin  26 lässt sich beim Hummingboard gar nicht als GPIO konfigurieren, deshalb nahmen die Tester Pin  22. Zudem fällt die Nummerierung der GPIOs unterschiedlich aus: Pin  22 ist beim Hummingboard GPIO  67, beim Raspberry Pi GPIO  25.

Abbildung 4: Der Raspberry Pi und das Hummingboard mit einer Steckplatine.

Listing 1

Blinkende LED mit dem Raspberry Pi

01 # mount -t debugfs none /sys/kernel/debug
02 # cat /sys/kernel/debug/gpio
03 GPIOs 0-53, bcm2708_gpio:
04  gpio-16  (led0                ) out hi
05 # echo "4" > /sys/class/gpio/export
06 # echo "out" > /sys/class/gpio/gpio4/direction
07 # cat /sys/kernel/debug/gpio
08 GPIOs 0-53, bcm2708_gpio:
09  gpio-4   (sysfs               ) out lo
10  gpio-16  (led0                ) out hi
11 root@pi:/home/pi# val=1
12 # while : ; do
13 >   echo $val > /sys/class/gpio/gpio4/value
14 >   echo $val
15 >   sleep 1
16 >   val=$((1-$val))
17 > done
18 0
19 1
20 0
21 1
22 [...]

Listing 2

Blinkende LED mit dem Hummingboard

01 # mount -t debugfs none /sys/kernel/debug
02 # cat /sys/kernel/debug/gpio
03 [...]
04 GPIOs 64-95, gpio-2:
05  gpio-67  (pin22               ) in  hi
06  gpio-68  (PCIE RESET          ) out hi
07  gpio-69  (gpio-ir-recv        ) in  hi
08  gpio-70  (pin15               ) in  hi
09 [...]
10 # echo 67 > /sys/class/gpio/export
11 # echo out > /sys/class/gpio/gpio67/direction
12 # cat /sys/kernel/debug/gpio
13 [...]
14 GPIOs 64-95, gpio-2:
15  gpio-67  (pin22               ) out lo
16  gpio-68  (PCIE RESET          ) out hi
17  gpio-69  (gpio-ir-recv        ) in  hi
18  gpio-70  (pin15               ) in  hi
19 [...]
20 # val=1
21 # while : ; do
22 >   echo $val > /sys/class/gpio/gpio67/value
23 >   echo $val
24 >   sleep 1
25 >   val=$((1-$val))
26 > done
27 1
28 0
29 1
30 0
31 [...]

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

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

Linux-Magazin kaufen

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

Deutschland

Ähnliche Artikel

  • Türöffner

    Ein Optokoppler, ein Mosfet, ein Raspberry Pi, ein Webserver mit SQL-Datenbank und ein wenig Skript-Magie reichen aus, um einen Haustüröffner zu bauen. Der öffnet vom Smartphone aus die Tür oder spielt sogar je nach Gast andere Klingeltöne ab.

  • Kern-Technik

    Der Linux-Kernel abstrahiert und verwaltet die Zugriffe auf GPIOs, also jene Ein- und Ausgabekanäle, die beispielsweise auf dem Raspberry Pi zu finden sind. Wer sich mit einem eigenen Treiber dort einklinkt, kann mit erheblich schnelleren Peripheriezugriffen rechnen.

  • Gnublin

    Dass Embedded Linux kein Hexenwerk sein muss, zeigt das Gnublin-Board der Hochschule Augsburg. Wer lernen will, wie er auf einem ARM-Linux Sensoren ausliest, Schalter benutzt und LEDs schaltet, ist bei dem kleinen Rechner richtig. Gegen Aufpreis gibt es eine stattliche Liste an Zubehör.

  • Kern-Technik

    Interrupts informieren die CPU über externe Ereignisse und im Kern warten passende Interrupt-Service-Routinen. Programmieren und testen lässt sich das Ganze prima auf einem Raspberry Pi.

  • Neue Version des Raspberry Pi vorgestellt

    Die Macher des Raspberry Pi haben ihren Klassiker, das zwei Jahre alte Model B, behutsam aktualisiert. Der Preis bleibt für das Model B+ jedoch gleich.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.