Datenkommunikation per USB

Peripherie über USB an Android-Plattformen anbinden

13.03.12 | Autor / Redakteur: Gordon Lunn * / Holger Heller

Roboterarm: Steuerung über eine Android-Plattform, die das Open Accessory Framework unterstützt
Bildergalerie: 3 Bilder
Roboterarm: Steuerung über eine Android-Plattform, die das Open Accessory Framework unterstützt

Neuere Android-basierte Produkte bieten nun volle USB-On-the-Go-(OTG-)Funktion und somit Host- als auch Device-Funktion. Wie gestaltet sich damit die Peripherie-Anbindung?

Android verzeichnet in jüngster Zeit eine hohe Marktakzeptanz und etabliert sich als führendes Betriebssystem (OS) im Bereich tragbarer Consumergeräte. Samsungs Galaxy- und HTCs Desire-Smartphones, sowie Blackberrys Playbook und Amazons Kindle-Fire Tablet-PCs nutzen es. Dank des zugrundeliegenden Open-Source-Modells wurden bereits eine Unmenge an Android-Apps (Java-basiert) entwickelt.

Dennoch ist das Leistungsangebot dieses OS noch lange nicht ausgeschöpft – Anwender stehen erst am Anfang aller Möglichkeiten. Die Hersteller erkennen nun die Vorteile von Android-Geräten, die sich auch an externe Hardware anschließen lassen. Eine Marktprognose der Analysten von DisplaySearch besagt, dass im Jahr 2016 an die 100 Mio. Android-Tablets pro Jahr vermarktet werden.

IDC sagt voraus, dass Android-Smartphones zu diesem Zeitpunkt mehr als 45% des Gesamtmarkts einnehmen werden. Die Prozessor-Architekturen, die sich in aktuellen Android-Produkten finden, basieren meist auf einem ARM-Core, wobei das OS optimiert wurde, um die Hardware innerhalb der Produktplattform zu unterstützen.

Anbindung von Android an Peripherie

Das Android OS basiert auf einem Linux-Kernel – womit sämtliche Prozessmanagement-, Speichermanagement- und Sicherheitsaspekte für seinen zuverlässigen Betrieb abgedeckt sind. Normalerweise ist der Zugriff auf das OS vom Gerätehersteller gesperrt, damit Anwender es nicht verändern können. Die minimal erforderlichen Treiber zum Support der Plattform-Hardware sind im OS selbst enthalten. Das OS durchläuft regelmäßige Updates, wobei mit jeder neuen Version zusätzliche Funktionen unterstützt werden. Dies wird auch so weitergehen.

Durch die Möglichkeit, externe Hardware wie Sensoren, Motorsteuerungen, Home-Automation-Systeme etc. anzuschließen, lässt sich das volle Potenzial von Android nutzen.

Für Mobiltelefone war der Anschluss von Peripherieeinrichtungen als weniger wichtig erachtet; aber die zunehmende Verbreitung der Tablet-PCs weckt und rechtfertigt den Bedarf dieser Funktion innerhalb des Android-Leistungsangebots. In herkömmlicher Hardware wie Laptops und Desktop-PCs gibt es eine Vielzahl von Verbindungen (plus Treiber-Support) zur Anbindung von Peripherie wie Mäusen, Tastaturen, Drucker, Scanner etc. In Tablet-PCs sind eine kompakte Größe, ein geringes Gewicht und minimaler Stromverbrauch wichtige Designkriterien. Deshalb ist es unwahrscheinlich, dass Tablets mit all diesen Verbindungen zur Verfügung stehen werden.

USB OTG als Host und Device

Viele Android-Plattformen werden nun mit USB On The Go (OTG) ausgestattet. Damit kann ein USB-Anschluss als Host oder als Device (Slave) fungieren. Die OTG-Anschlüsse in einigen Android-Produkten werden nur USB-Device-Funktion bieten, d.h. sie können nur als USB Device an einen USB Host angeschlossen werden. Neuere Produktgenerationen können jedoch die volle OTG-Funktion übernehmen und Host- sowie Device-Funktion bereitstellen.

Eine der möglichen Fragen bei Android-Plattformen, die an verschiedene Peripherie angebunden werden, ist, ob die Treiber innerhalb des OS die erforderliche Unterstützung bieten. Bei der Anbindung an eine Peripherie, für die ein spezieller Treiber geladen werden muss heißt das, dass der Anwender sein Android-Produkt „rooten“ muss, um die notwendige Erlaubnis für die Installation des Treibers zu erhalten. Dies kann eindeutig Probleme bereiten:

  • Das Rooting eines Android-Produkts kann die Garantie des Herstellers ungültig machen.
  • Rooting ist nicht wirklich eine Aufgabe, die ein durchschnittlicher Anwender durchführen sollte (oder kann).

Application Programming Interface ab Android 3.1

Zum Glück ist das Android OS ab der Version 3.1 (Honeycomb) in der Lage, dieses Problem anzugehen. Die Integration eines API-Layers (Application Programming Interface) in die neuesten Android-Versionen ermöglicht die direkte Entwicklung eines Treibers in Java. Damit erübrigen sich die Erlaubnisprobleme und die Implementierung wird vereinfacht. Es ist auch nicht mehr länger nötig, das Produkt zu rooten, damit der Treiber durch das Ändern des Erlaubnisstatus geladen werden kann. Allerdings müssen die Treiber immer noch geladen werden, wobei das Android-Gerät als USB Host fungiert und die Peripherie mit Strom versorgen muss.

Der Android Open Accessory Mode ist eine weitere Option. Das Framework ermöglicht die Anbindung von Peripherie an ein Android-Produkt (Smartphone, Tablet-PC etc.), bei dem im Gegensatz zum herkömmlichen Ansatz das Android-Produkt als USB Device und die Peripherie (das Zubehör) als USB Host agieren. Dies ist das komplette Gegenteil der herkömmlichen USB-Anbindung, bei der die Peripherie die Rolle des Device einnimmt und über den Host mit Strom versorgt wird.

Hinzu kommt, dass der Strom für den Anschluss durch die Peripherie geliefert wird und nicht vom Android-Produkt. Damit wird sichergestellt, dass das Produkt nicht seine eigene Batteriekapazität opfern muss, indem es an externe Hardware angeschlossen ist.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben
Wenn die Leute wüssten das alles was Sie tun und alle Bilder die Gesichter haben tief im System...  lesen
posted am 12.06.2013 um 12:13 von Unregistriert


Mitdiskutieren

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 31572480 / HF & Kommunikationstechnik)

Analog IC Suchtool