UART Schnittstelle beim BananaPi

2014-12-17

Journaleintrag wie die UART Schnittstelle beim BananaPi funktioniert.

Motivation

Bei der Entwicklung von Software für eingebettete Systeme (in diesem Fall das BananaPi) besteht oft die Notwendigkeit gewisse Abläufe (z.B. das Booten des Systems) zu diagnostischen Zwecken (Fehlerfindung) sichtbar zu machen. Eine einfache Art und Weise dies zu bewerkstelligen kann in der Verwendung einer rein konsolenbasierten Lösung liegen. Hierbei dient ein Terminal als zeichenorientiertes “Anzeigegerät” für die Ausgabe. Hardwareseitig findet man, neben zahlreichen anderen Schnittstellen, fast immer eine serielle Schnittstelle (UART) vor, deren Datenkommunikation via Terminal sichtbar gemacht werden kann.

Das benötigte Setup, welches (auch) im Fall des BananaPi hardwareseitig aus einer UART2USB-Brücke und softwareseitig aus einem textbasiertem Terminalemulator besteht wird kurz vorgestellt. Im Wesentlichen werden zwei Punkte beschrieben, die für eine erfolgreiche Kommunkation beachten werden müssen.

Setup

Folgende Abbildung zeigt in vereinfachter Form das grundlegende Setup.

UART2USB-Brücke

Beim Anschluss des BananaPi an eine UART2USB-Brücke (CP2101 Silicon Labs) ist darauf zu achten, dass die Kanäle für TX/RX vertauscht sind. Dies ist vergleichbar mit der im BananaPi Wiki verwendeten UART2USB-Brücke (PL2303 Chip).

Terminalemulator

Bei dem verwendete Terminalemulator, minicom, müssen folgende zwei Parameter verändert werden:

A -   Serial Device:   /dev/ttyUSB0
F -   Hardware Flow Control:   No

Das Serial Device muss entsprechend dem USB-Port (meistens: /dev/ttyUSB0) angepasst werden. Darüber hinaus muss Hardware Flow Control deaktviert werden.

Fazit

In diesem Beitrag ist ein kleines Setup zur Entwicklung von hardwarenaher Software für das BananPi eingerichtet worden. Das Setup besteht hardwareseitig aus einer UART2USB-Brücke und softwareseitig aus dem minicom-Terminalemulator. Es wurde gezeigt, auf was für eine erfolgreiche Kommunikation geachtet werden muss. Unter Umständen lässt sich ein ähnliches Vorgehen für vergleichbare Kleinstrechner (z.B. Beagle Bone Black) anwenden.