USB universeller serieller Bus



Ähnliche Dokumente
USB Stack - Design der Systemschnittstelle. Franz Hirschbeck AKBP II, WS 2003/04

Kurze Einführung zu USB

USB - unbekannter serieller Bus

5. Digitale Schnittstellen und Vernetzung im Überblick

Installationshandbuch (deutsch)

USB in Embedded Systemen. Referat von Peter Voser Embedded Development GmbH

Berührungslose Datenerfassung. easyident-usb Stickreader. Art. Nr. FS-0012

Entwurf und Inbetriebnahme einer Entwicklungsplatine für PIC-Controller mit USB-Schnittstelle

Serielle Busse: Literatur. Serielle Busse: Agenda. Serielle Busse: USB vs Serielle Busse: Motivation. PC-Technologie Serielle Busse 91

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

USB Starter 1/85 Prof. Dr.-Ing, Hermann

USB. Autor Valentin Lätt Datum Thema USB Version V 1.0

Anleitung zur Nutzung des SharePort Utility

USB Stack - Design der Systemschnittstelle

4. Wie groß sind die genormten Spannungspegel für die RS232/V.24-Übertragung? Welcher Pegel stellt die '1' dar?

Diplomarbeit. Fakultät Elektrotechnik und Informationstechnik. Studiumrichtung Nachrichtentechnik. Dmytro Farber

Schnittstellen des Computers

Peripherie Komplexe serielle Schnittstellen

Sie finden im Folgenden drei Anleitungen, wie Sie sich mit dem Server der Schule verbinden können:

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)

USB - Warum ist es besonders gut? Ausarbeitung zum Fachseminar WS 09/10 Hochschule Rhein Main von Miriam Boryczewski

Universal Serial Bus

USB. Susanne Grein Hochschule RheinMain Fachseminar 2009

Switching. Übung 7 Spanning Tree. 7.1 Szenario

Telefonmodem ISDN DSL VDSL. Telekom 1&1 Telefónica/O2. Vodafone Unitymedia HSE Medianet

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

s.beat DAP-10X White Paper USB Stromversorgung am Apple Macintosh und deren Auswirkung

EasyWk DAS Schwimmwettkampfprogramm

Tutorial about how to use USBView.exe and Connection Optimization for VNWA.

>> Bitte zuerst lesen... Einleitung. Installation des ZyXEL Prestige 630-I

serielle Schnittstelle/USB-Schnittstelle für das Velbus-System

Es gibt zwei Wege die elektronischen Daten aus Navision zu exportieren.

TIPES Fernabschlag Programm Beschreibung

Konfigurationsanleitung Tobit David Fax Server mit Remote CAPI Graphical User Interface (GUI) Seite - 1 -

Festigkeit von FDM-3D-Druckteilen

Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform

3. Anlegen eines WIN CC Projektes

Installation. Windows. E-mP Ernst-mechanische Produkte Auf die Bell Linkenheim-Hochstetten Deutschland

USB Universal Serial Bus

Handbuch USB-Isolator

PC-Umzug: So ziehen Sie Ihre Daten von Windows XP nach Windows 8 um

Beschreibung EtherNet/IP Prozessschnittstelle

Wir bringen Ihre USB Geräte ins Netz Ohne Wenn und Aber!

CARD STAR /medic2 und CARD STAR /memo3 Installation des USB-Treibers (Administrator-Tätigkeit) Stand

Re:connect. Extension Kit für Multimedia-Modul. Dominating Entertainment. Revox of Switzerland. D 01

Kurzanleitung So geht s

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Adami CRM - Outlook Replikation User Dokumentation

Wenn keine Verbindung zwischen den Computern besteht, dann bist du offline.

Hinweise zur Installation der USB Treiber für Windows XP 32bit

Anleitung für DT-TPC Tel Modul

Agentur für Werbung & Internet. Schritt für Schritt: -Konfiguration mit Apple Mail

Benutzung der LS-Miniscanner

Leichte-Sprache-Bilder

Erstellen einer in OWA (Outlook Web App)

Einführung der neuen 10- -Banknote der Europa-Serie

ISK 200 Treiberinstallation

Drahtlosnetzwerke automatisch konfigurieren mit WCN (Windows Connect Now) unter Windows Vista

HYPERCOM MEDHYBRID EINRICHTUNG UNTER CHREMASOFT

Es können nur Werte ausgelesen werden, Es kann -NICHT- geschaltet werden!!

oder ein Account einer teilnehmenden Einrichtung also

Kommunikation mehrerer PCs über Hubs

Pflichtenheft. Projektteam. Rexford Osei - Frey Michael Weichert Thomas Thutewohl. Pflichtenheft Seite 1 von 7

Barcodedatei importieren

Gewerbebetrieb Freier Beruf Heimarbeitsplatz

Wir machen neue Politik für Baden-Württemberg

Lizenzen auschecken. Was ist zu tun?

Walther- Übungsaufgabe 24. Januar 2016 Rathenau- Routing Name: Gewerbeschule Freiburg DHCP Klasse: E3FI1T Seite 1 Punkte: /20 Note:

Kommunikations-Parameter

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Kontaktlinsen über die neue Website bestellen eine Kurzanleitung

6. Peripheriegeräte und Schnittstellen

HYPERCOM MEDHYBRID EINRICHTUNG UNTER TURBOMED

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

HorstBox (DVA-G3342SD) Anleitung zur Einrichtung der Telefonie

Car-Net über WLAN Aufbau einer Internet-Verbindung über WLAN zur Nutzung von Car-Net

Bluetooth Low Energy Demo mit dem Apple iphone 4s

Einrichtung eines Zugangs mit einer HBCI-Chipkarte bei der Commerzbank

Domaintransfer von Switch zu switchplus

Guide DynDNS und Portforwarding

Professionelle Seminare im Bereich MS-Office

Web Interface für Anwender

Kurzanleitung /Kompalitätstest Barcode. Sie haben zwei Möglichkeiten unsere Barcode/Strichcodes für Ihren eigenen stationären Einzelhandel zu nutzen.

ORGA 6000 in Terminalserver Umgebung

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

M-net -Adressen einrichten - Apple iphone

e-books aus der EBL-Datenbank

ARCO Software - Anleitung zur Umstellung der MWSt

Neuer Releasestand Finanzbuchhaltung DAM-EDV E Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...

3 Wie bekommen Sie Passwortlevel 3 und einen Installateurscode?

Outlook-Daten komplett sichern

Car-Net über WLAN Aufbau einer Internet-Verbindung über WLAN zur Nutzung von Car-Net

BEDIENUNGSANLEITUNG. ba76147d01 04/2013. MultiLab User PC SOFTWARE ZUR BENUTZERVERWALTUNG

Anleitung über den Umgang mit Schildern

9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.

Fax einrichten auf Windows XP-PC

Erklärung zu den Internet-Seiten von

Benutzung des NAM. Starten Sie Ihren Browser und rufen Sie folgende Adresse auf:

Transkript:

USB universeller serieller Bus - USB ist ein serieller Single-Master-Bus. - USB unterstützt drei Datenübertragungsgeschwindigkeiten: - Low Speed: 1,5 MBit/s - Full-Speed: 12 MBit/s (framepulse 1ms) - High-Speed: 480 MBit/s (framepulse 0,125 ms) - NRZI-Codierung mit Bit-Stuffing auf der Senderseite ermöglicht Taktrückgewinnung im Empfänger. - elektrische Baumstruktur, der Host bildet die Wurzelschnittstelle, die Hubs die Verzweigungspunkte und die Endgeräte die Blattknoten. - Max. 5 Hubs können auf Grund von Signallaufzeiten kaskadiert werden, so dass maximal 127 Endgeräte angeschlossen werden können. - Kabellänge auf 5 m begrenzt, Signallaufzeit pro Kabelsegment 30 ns. - Stecker Typ A in Upstream-Richtung am Hub. - Stecker Typ B in Downstream-Richtung am Gerät. - USB-Kabel enthält eine verdrillter Doppelader (D+/D-), sowie zwei Stromversorgungsleitungen (VCC/GND). - logische Sternstruktur, zwischen jedem einzelnen Endgerät und dem RootHub im Host besteht eine logische Punkt-zu-Punkt-Verbindung. - Der USB-Host-Controller steuert zentral den gesamten Busverkehr. Jede Datenübertragung wird vom Busmaster initiier. - Ein Scheduler generiert pro 1 ms ein Start of Frame (Framepulse). - Jedes USB-Endgerät erhält während der Konfigurationsphase (enumeration) eine eigene Adresse. - In Downstream-Richtung erfolgt der USB-Datentransfer im Broadcastmodus vom Host zur Funktion im Endgerät. - Die Spezifikation USB 1.1 definiert zwei Controller-Designs: - OHC: open-host-controller - UHC: universal-host-controller - Die Spezifikation USB 2.0 erweitert die Architektur: - EHC: enhanced-host-controller - USB-Transfertypen: - Control-Transfer: zur Steuerung der Hardware Control-Requests - Interrupt-Transfer: Host fragt periodisch alle 10 ms nach kleinen Mengen Daten (typisch 8 Bytes), z. B. Mäuse und Tastaturen - Bulk-Transfer: zeitunkritische größere Datenmengen mit Fehlerüberwachung, z.b. Drucker und Scanner - Isochronous-Transfer: große Datenmengen mit definierter Datenrate ohne Fehlerkorrektur, z.b. Audio- und Video-Daten von einer Kamera

USB Device Descriptoren Deskriptoren enthalten die Beschreibung der physikalischen und logischen Eigenschaften eines USB-Gerätes. Zur Identifizierung eines Plug-and-Play- Devices werden die Deskriptoren durch den Host während der Enumeration durch den Standard-Reguest GetDescriptor angefordert. Der USBstandard definiert eine Hierarchie von Descriptoren. /* USB descriptor types */ #define DEVICE_TYPE 1 #define CONFIGURATION_TYPE 2 #define STRING_TYPE 3 #define INTERFACE_TYPE 4 #define ENDPOINT_TYPE 5 Standard-Descriptortypen Code Eigenschaften Device-Descriptor 0x01 einer pro Gerät, 18 Byte lang Configuration-Descriptor 0x02 String-Descriptor 0x03 Verwendung optional Interface-Descriptor 0x04 Endpoint-Descriptor 0x05 ein Descriptor pro Endpoint Device-Qualifier-Descriptor 0x06 nur für USB 2.0 High-Speed-Geräte Other-Speed-Configuration- Descriptor 0x07 nur für USB 2.0 High-Speed-Geräte Ein USBdevice besitzt genau einen Device-Descriptor, der die globalen Informationen über das Gerät enthält. Der Configuration-Descriptor enthält spezifische DeviceInformationen. Es können mehrere Konfigurationen unterstützt werden, aber nur eine aktiv sein (SetConfiguration). Eine Configuration kann mehrere Interfaces enthalten, jedes mit mehreren sich ausschliessenden Endpoints Der Endpoint-Descriptor beschreibt die Eigenschaften der FIFOspeicher eines Gerätes (z.b. Bandbreite der Kamera für Video, Audio, Video+Audio).

Device-Descriptor Jedes Herstellermitglied im USB-Forum erhält eine Vendor-ID. Produkt- und Release-ID werden vom Hersteller vergeben. Klassen-, Subklassen- und Protokoll-Code müssen im Device-Descriptor noch nicht gesetzt werden, da dies im Interface-Descriptor ebenfalls möglich ist. #define Device_Descriptor_Len 18 /* SIEMENS_SEMICONDUCTOR - 0x058B */ #define VENDOR_ID 0x058B /* SAB-C541U µcontroller - 0xC541 */ #define PRODUCT_ID 0xC542 0 blenght Länge des Descriptors in byte 12h 1 bdescriptortype Type=DeviceDescriptor 01h 2 bcdusb USB-Spec.Vers. in BCD: 1.1 1001h 4 bdeviceclass Geräte-Klassen-Code 00h 5 bdevicesubclass Geräte-Subklassen-Code 00h 6 bdeviceprotocoll Protokoll-Code 00h 7 bmaxpacketsize0 Tiefe der EP0-FIFO in byte 08h 8 idvendor Vendor-ID des Herstellers 3c05h 10 idproduct Produkt-ID des Herstellers 8490h 12 bcddevice Release-Nr. Des Produkts 0201h 14 imanufacturer String-Index für Hersteller 01h 15 iproduct String-Index für Produkt 02h 16 iserialnumber String-Index für Seriennumer 03h 17 bnumconfigurations mögliche Konfigurationen 01h

Configuration-Descriptor 0 blenght Länge des Descriptors in byte 09h 1 bdescriptortype Type=ConfigurationDescriptor 02h 2 wtotallength Anzahl Descriptoren dieser 2200h Konfiguration 4 bnuminterfaces Anzahl Interfaces dieser 01h Konfiguration 5 bconfigurationvalue Nummerdieser Konfiguration 01h 6 iconfiguration String-Index für Konfiguration 04h 7 bmattributes Attribute dieser Konfiguration A0h 8 MaxPower I-Aufnahme in 2mA Einheiten 1Ah #define Config_Descriptor_Len 34 /* configuration attributes */ #define BUSPOWERED #define SELFPOWERED #define REMOTE_WAKEUP 0x80 0x40 0x20

Interface-Descriptor Der Interface-Descriptor wird immer als Teil der Configuration-Descriptor- Collection zum Host übertragen. Das Feld AlternateSettings ermöglicht die Definition von mehreren gleichartigen Interfaces mit der gleichen Interface-Nummer, aber z.b. unterschiedlichen Bandbreiten. Zu jedem Paar InterfaceNumber/ AlternateSettings gehört ein Satz Endpoint-Descriptoren. Dort wird dann z.b. über den Wert der FIFO-Fiefe die Bandbreite bestimmt. Wenn Klassen-, Subklassen- und Protokoll-Code im Device-Descriptor und Interface-Descriptor mit 0 beschrieben sind, erfolgt die Auswahl des WDM- Treibers im Host anhand der Vendor- und Produkt-ID aus dem Device- Descriptor. Für die Abfrage der textuellen Beschreibung des Interfaces dient der String- Index. 0 blenght Länge des Descriptors in byte 09h 1 bdescriptortype DescriptorType = Interface 04h 2 binterfacenumber Interface-Nummer 00h 3 balternatesetting AlternateSettings dieses Interf. 00h 4 bnumentpoints Anzahl Endpoints ohne EP0 01h 5 binterfaceclass KlassenCode (Tastatur) 03h 6 binterfacesubclass SubKlassenCode (BootDev.) 01h 7 binterfaceprotocol ProtokollCode 00h 8 iinterface StringIndex für Interface 05h

Endpoint-Descriptor Endpoint-Descriptoren können nicht einzeln durch den Host angefordert werden, sondern nur in Verbindung mit dem Configuration-Descriptor. Das untere Nibble des EndpointAddress-Byte stellt die Endpoint-Nummer dar. Bit 7 gibt die Richtung an (1=IN;0=OUT). Isochrone Endpoints können bis zu 1.023 Byte tiefe FIFOs haben. 0 blenght Länge des Descriptors in byte 07h 1 bdescriptortype DescriptorType = Endpoint 05h 2 bendpointaddress z.b. IN, EP1 81h 3 bmattributes Transferart: 03h Control-Transfer 00b Isochronous-Transfer 01b Bulk-Transfer 01b Interrupt-Transfer 11b 4 bwmaxpacketsize FIFOgrösse des Endpoints 0800h 6 bintervall Polling-Intervall (z.b. 16 ms) 10h /* Endpoint directions */ #define BI 1 #define OUT 0 #define IN 1 /* USB Transfer types */ #define CONTROL 0 #define ISOCHRONOUS 1 #define BULK 2 #define INTERRUPT 3