Raspberry Pi: USB - Universal Serial Bus

ELektronik-KOmpendium.de
Online

Preis auf Anfrage
Vergleichen Sie diesen Kurs mit ähnlichen Kursen
Mehr ansehen

Wichtige informationen

  • Kurs
  • Online
Beschreibung

Raspberry Pi: USB - Universal Serial Bus Abhängig vom Modell weist der Raspberry Pi einen bis vier USB-Ports auf. Der USB ist eine universelle externe Schnittstelle für alle möglichen Peripheriegeräte, die am Raspberry Pi betrieben werden sollen. Typischerweise Tastatur, Maus, USB-Sticks, WLAN-Adapter und ähnliches. USB 2.0 hat eine Übertragungsgeschwindigkeit von bis zu 480 MBit/s. Das sind umgerechnet 60 MByte/s. Wobei es sich eher um einen theoretischen Wert handelt. In der Regel erreicht man an einem USB-2.0-Port kaum mehr als 30 MByte/s. Und das auch nur bei der Übertragung großer Dateien oder einen lange andauernden Datenstrom. Aber nicht bei der Übertragung einer Vielzahl kleiner Dateien, wie es typisch ist.

Wichtige informationen

Was lernen Sie in diesem Kurs?

WLAN

Themenkreis

Der USB am Raspberry Pi

Anzeige aller USB-Geräte in der Baustruktur:

lsusb -t

Die Architektur des Raspberry Pi weist einen kleinen Schönheitsfehler auf, der dazu führt, dass er nicht für alle Anwendungen gleichermaßen geeignet ist. Insbesondere, wo es auf schnelle I/O-Verbindungen ankommt.
Der System-on-Chip des Raspberry Pi hat nur einen einzigen internen USB-Port. An diesem USB-Port hängen alle externen USB-Ports und der Ethernet-Port dran. Das heißt in der Konsequenz, dass sich die Netzwerk-Schnittstelle und alle externen Geräte, die per USB mit dem Raspberry Pi verbunden sind, sich die Gesamtbandbreite von 480 MBit/s teilen müssen. Damit ist die I/O-Leistung des Raspberry Pi auf maximal 60 MByte/s, in der Praxis auf ca. 30 MByte/s beschränkt. Auch dann, wenn die angeschlossenen Geräte schneller arbeiten können.

Diese Einschränkung muss man immer dann berücksichtigen, wenn der Raspberry Pi zwischen zwei Schnittstellen vermitteln soll. Beispielsweise als Router, Gateway oder Bridge. Das bedeutet, man nutzt auf der einen Seite den Ethernet-Port und auf der anderen Seite einen weiteren Ethernet- oder WLAN-Adapter an einem USB-Port. Dann muss der Datenverkehr zweimal durch den internen USB-Port. Einmal hinein und ein zweites Mal hinaus. Das bedeutet, man reduziert die I/O-Leistung des internen USB-Ports um die Hälfte. Unabhängig davon wie viele USB-Ports der Raspberry Pi tatsächlich hat.

Einschränkungen
  • Beim Kopieren von einem USB-Datenträger auf ein Laufwerk im Netzwerk, erreicht der Raspberry Pi 2 knapp 11 MByte pro Sekunde. Beim Vorgänger sind es nur knapp 4 MByte pro Sekunde.
  • Das Betriebssystem von einem USB-Stick zu booten ist eine gute Idee, weil die SD-Karte viel besser angebunden ist, als der USB.
Stromversorgung über den USB

Bekanntlich werden USB-Geräte fast ohne Ausnahme über den USB gespeist, an deren Host sie angeschlossen sind. Bei der Stromentnahme sind diese Geräte teilweise recht schonungslos, was an USB-Ports an handelsüblichen PCs kein Problem darstellt. Obwohl es hier Grenzen gibt, geben sich die Motherboard-Hersteller nicht die Blöße, schwache USB-Ports einzubauen.

An einem Raspberry Pi ist das allerdings ein Problem, weil hier Maus und Tastatur und vielleicht auch noch der eine oder andere USB-Stick angeschlossen werden. Wenn man dann mit externen Festplatten oder stromhungrigen WLAN-Adaptern kommt, dann bricht die Stromversorgung des Raspberry Pi zusammen. Aus dem Grund wird generell empfohlen, dass USB-Geräte über einen aktiven USB-Hub angeschlossen werden.

Ab dem Raspberry Pi Modell B+ ist die Stromversorgung insbesondere über den USB für externe Geräte deutlich stabiler. Mit dem Modell B+ wurde auch ein Parameter eingeführt, der steuert, wie viel Strom USB-Geräte am USB-Anschluss entnehmen dürfen.
Standardmäßig ist der Strom auf 600 mA begrenzt. Insgesamt darf der Raspberry Pi 1,2 A (1.200 mA) an die USB-Geräte weitergeben. Das geht aber nur dann, wenn das Netzteil entsprechend leistungsfähig ist.

Um das Maximum von 1,2 A (1200 mA) aus einem USB-Port ziehen zu können, muss man das in der Datei "/boot/config.txt" mit der Zeile "safe_mode_gpio=4" (alte Firmware) bzw. "max_usb_current=1" (aktuelle Firmware) freischalten, um die maximale Stromentnahme von 600 mA aufzuheben. Diese Grenze gibt es, damit der Raspberry Pi bei einem stromhungrigen USB-Gerät nicht instabil wird und sich abschaltet.

  • Hinweise zur Stromversorgung des Raspberry Pi
USB-Troubleshooting

Gelegentlich kommt es vor, dass USB-Geräte am Raspberry Pi nicht richtig funktionieren. Hierzu zählt Architektur-bedingt auch der Ethernet-Port des Raspberry Pi. Der hängt am einzigen internen USB-Port. In der Regel sind USB-Probleme dann meist auch Netzwerk-Probleme.

USB-Probleme haben aber nichts mit dem Raspberry Pi zu tun, sondern mit einer schlechten Stromversorgung. Die Ursache ist in der Regel immer ein minderwertiges Netzteil oder Ladegerät, dass nicht genug Strom liefert und in der Folge die Versorgungsspannung einbricht.
Bewegt sich die Versorgungsspannung unter eine bestimmte Grenze, versucht ein Raspberry Pi den Absturz durch Abschalten interner Komponenten zu verhindern. Dadurch verringert er den Stromverbrauch. Stimmen die Spannungswerte wieder nimmt er die Komponenten wieder in Betrieb.
Wenn der interne USB aufgrund schlechter Stromversorgung abgeschaltet wird, dann gehen dabei auch die Netzwerk-Verbindungen über Ethernet und/oder einen USB-WLAN-Adapter verloren. Wenn der USB wieder in Betrieb genommen wird, dann bleibt dabei aber oft die Netzwerk-Verbindung weg. In der Regel muss der Raspberry Pi neu gestartet werden. Bedarfsweise könnte man auch die Netzwerk-Verbindungen manuell reinitialisieren.

In der Regel löst man das USB-Problem so, dass man stromhungrige USB-Geräte über einen aktiven USB-Hub betreibt oder gegen energieschonendere Geräte austauscht. Besser ist es man besorgt sich ein Netzteil, dass seinen Namen verdient und über ausreichend Power verfügt, bei kurzzeitig erhöhter Stromentnahme eine stabile Spannungsversorgung zu gewährleisten.

Weitere Informationen zum USB
  • USB 1.0/1.1
  • USB 2.0
  • USB 3.0/3.1
  • USB-Steckerbelegung
Weitere verwandte Themen:
  • Raspberry Pi: Anschlüsse und Komponenten
  • Externe Anschlüsse eines Raspberry Pi
  • Raspberry Pi: Belegung GPIO (Banana Pi und WiringPi)
  • Raspberry Pi: Belegung Audio-Video-Signal am 4-poligen Klinken-Stecker
  • Raspberry Pi: HDMI - High Definition Multimedia Interface
  • Raspberry Pi: GPIO - General Purpose Input Output

Hinweis: Dieses Tutorial ist Teil einer Aufgaben und Übungen mit dem Raspberry Pi-Reihe, die für Lern- und Ausbildungszwecke erstellt wurde. Die dargestellte Lösung ist Teil einer konkreten Aufgabenstellung, die Schüler, Auszubildende und Studenten, lösen sollen. Deshalb muss der hier aufgezeigte Weg nicht der Optimalfall sein.


Vergleichen Sie diesen Kurs mit ähnlichen Kursen
Mehr ansehen