MIKROPROZESSOR PROGRAMMIERUNG 6. VORLESUNG. LV-Nr SS INSTITUT FÜR ELEKTRONIK BIT

Ähnliche Dokumente
BUSSYSTEME und Interfaces

USB. Susanne Grein Hochschule RheinMain Fachseminar 2009

5. Digitale Schnittstellen und Vernetzung im Überblick

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

Der CAN-Bus (Controller Area Network)

EX PCI & 2 PCI-E

Mit lebenslanger StarTech.com-Garantie sowie lebenslanger kostenloser technischer Unterstützung.

Der I²C-Bus. Vorstellung des Inter-Integrated Circuit -Bus. Aufbau und Funktionsweise. Beispiel PortExpander am Arduino

2 Port USB 3.0 SuperSpeed PCI Express Schnittstellenkarte mit UASP Unterstützung

Peripherie Komplexe serielle Schnittstellen

XT - NANO - XXL XT-NANO-XXL

EX Slot PCI Box Zur Erweiterung um 4 PCI Anschlüsse für lange Karten inklusive internem 220Watt Netzteil

BLIT2008-Board. Uwe Berger

6. Peripheriegeräte und Schnittstellen

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

Installationsanleitung für das Touch Display: S170E1-01 LCD A170E1-T3 ChiMei - egalaxy

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Bus powered 5-Volt Versorgungsspannung auf dem Bus

USB zu seriellem Kabel

On-Board Fahrzeugdiagnose

USB Universal Serial Bus

Projekt von Sergio Staab, Niklas Abel

Serielle Busse Serielle Busse Hands-On Training

Datenblatt - SNET/CAN/Ethernet Konverter


USB - unbekannter serieller Bus

DC-FW400 SE. 3+1 Port IEEE 1394 FireWire TM PCI-Controller

TCP. Transmission Control Protocol

Handbuch USB-Isolator

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

USB 2.0 Produkte. Gruppe 2. Unser Weg ist Ihr Ziel. Der Spezialist für ADD-On Produkte. Tel Fax Fax

Dank der PCI Express USB 3.0-Karte PEXUSB3S2 können Sie einem PC über einen PCI Express-Steckplatz zwei USB 3.0-Anschlüsse hinzufügen.

XT - FEMTO - SXL XT-FEMTO-SXL

USB universeller serieller Bus

Vortrag zur Diplomarbeit

Systemvergleich der Multimedia-Bussysteme: MOST, USB 2.0, IEEE 1394

Die USB Schnittstelle Was ist an ihr besonders gut?

I²C-Bus. Präsentation von Michael Joachim Studiengang: Informations-und Kommuniktionstechnik Fachrichtung Informations- und Medientechnik

ateval-board Aufbauanleitung & Handbuch

esata / FireWire TM / USB 2.0 PCMCIA CardBus Adapter

8.0 Erweiterung mit dem 8 Bit D/A Maxim MAX5382

Inhalt: 1. Layer 1 (Physikalische Schicht) 2. Layer 2 (Sicherungsschicht) 3. Layer 3 (Vermittlungsschicht) 4. Layer 4 (Transportschicht) 5.

DC-1394 PCIe. IEEE 1394 FireWire TM PCIe Card. Windows 2000 / 2003 / 2008 Windows XP / Vista / 7

ExpressCard + PCMCIA

Parallele I/O PCI Zusatzkarte (DS / DS-33011)

7 Port USB 3.0 HUB im Metall-Gehäuse (ALU), 7x A-Buchse + 1x B-Buchse, inkl. USB 3.0 Kabel und ext. Netzteil 3A

Quanton Manual (de) Datum: URL: )

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

Single-Ended -Datenübertragung (Asymmetrische Übertragung)

EINGEBETTETE SYSTEME Vorlesungen WS2005

MIT DEM BUS IM REBREATHER

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI)

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

Ingenieurbüro Bernhard Redemann Elektronik, Netzwerk, Schulung. -Datenblatt- 07 Bernhard Redemann

tensiolink USB Konverter INFIELD 7

PCI VME Interface SIS1100/SIS3100

A5. Digitale Schnittstellen

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

EX-1361 / EX-1361IS EX-1362 / EX-1362IS. 1S PCMCIA Karte Standard und Surge Protection & Optical Isolation

Embedded Linux gnublin Board Programmieren Sonstiges. Embedded Linux am Beispiel des Gnublin-Boards

Mutterplatine, Hauptplatine, Systemplatine, Systemboard

für POSIDRIVE FDS 4000

Modul 4: Fast- und Gigabit- Ethernet

4.2 Peripherie ansprechen in C/I2C-Bus

Wird mit einer 2-jährigen StarTech.com-Garantie sowie lebenslanger kostenloser technischer Unterstützung geliefert.

Betriebsanleitung Modbus-Konverter Unigate-CL-RS

Teil I: Wat isse ne Mikrokontroller?

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

USB ZU SERIELL KONVERTER

USB 2.0 PCI-Karte mit NEC CHIPSATZ

Das Attiny-Projekt Der I 2 C-Bus 1. Der I 2 C-Bus

Projekt von Sergio Staab, Niklas Abel

Serieller S-Bus reduziertes Protokoll (Level 1)

Serial Bus Simulator. Datenstromgenerator für serielle Busprotokolle. Benutzerhandbuch

Hardware und Systemvoraussetzungen um Softwareupdate, Settingslisten usw. auf einen Receiver mit RS232 Schnittstelle zu überspielen:

RedPitaya HPSDR Ausgänge zur Antennen und Bandfilterumschaltung

esata II / FireWire TM / USB 3.0 PCMCIA CardBus Adapter

UHB-C244-4 Port 2.0 USB- Hub Benutzerhandbuch

IEEE 1394-Karte. Version 1.0

Aufgabenstellung Praktikum Mikrorechentechnik Sommersemester 2014

Bernhard Redemann. Steuern und Messen mit USB. Hard- und Softwareentwicklung mit dem FT232B/R, FT245B/R und FT2232L/D

DC-FW800 PCIe. PCI-Express 3-Port IEEE FireWire 800 Adapter

Anleitung Canton musicbox XS/S Firmware-Update

Projekt Zeitbasis. Version 1.1

AVR-Mikrocontroller in BASCOM programmieren

USB I2C Spy V1.0 Manual

SERIELLE/PARALLELE I/O PCI EXPRESS ZUSATZKARTE

DC-FW800 PCI. IEEE 1394b FireWire800 PCI Card

Anleitung Canton musicbox XS/S Firmware-Update

Ringlicht-v3 - Frei konfigurierbares Ringlicht mit RS232 Anbindung. Kurzbeschreibung

SATA 2 und 3. Gruppe 8. Unser Weg ist Ihr Ziel. Der Spezialist für ADD-On Produkte. Tel Fax Fax

USB 10/100 FAST ETHERNET. Benutzerhandbuch

ASYNCHRONER SERIELLE CONVERTER RS232/USB, TTL/USB e RS485/USB S117P1

Optosniffer USB. Produktion und Vertrieb durch: ( * info@optosniffer.de. ASB Baum & Heymel GmbH Neubauerstraße Gotha

Netduino Mikroprozessor für.net Entwickler

Ingenieurbüro Bernhard Redemann Elektronik, Netzwerk, Schulung. -Datenblatt- Bernhard Redemann

Peppercon eric express. Herzlich Willkommen zur Online-Schulung von Thomas-Krenn Serverversand. Unser Thema heute:

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

USB 3.0 Produkte. Gruppe 1. Unser Weg ist Ihr Ziel. Der Spezialist für ADD-On Produkte. Tel Fax Fax

Transkript:

MIKROPROZESSOR PROGRAMMIERUNG 6. VORLESUNG BIT LV-Nr. 439.026 SS2007 1

I²C Bus I²C (für Inter-Integrated Circuit, gesprochen I-Quadrat-C bzw. I-square-C) ist ein von Philips Semiconductors entwickelter serieller Bus. Er wird benutzt, um Geräte mit geringer Übertragungsgeschwindigkeit an ein Embedded System oder eine Hauptplatine anzuschließen. Das ursprüngliche System wurde in den frühen 1980er Jahren entwickelt, um verschiedene Chips von Philips in Fernsehgeräte einfach steuern zu können. Manchmal wird er auch 2-Draht-Bus genannt, was auch nicht abwegig ist, da der Bus tatsächlich nur mit 2 bidirektionalen Leitungen auskommt (Masse und Versorgungsspannung nicht mitgerechnet). Die erste Leitung wird mit SDA (= Serial Data) bezeichnet. Über diese Leitungen werden die eigentlichen Daten seriell übertragen. Die zweite Leitung wird mit SCL (= Serial Clock) bezeichnet. Hier werden die Takt-Impulse gesendet. Eigenschaften 1992 erste Spezifikation 1.0 veröffentlicht Datenübertragung 100 kbit/s (Standard- Modus) oder schnellen Modus mit 400 kbit/s Adressraum 7/10 Bit, so dass bis zu 1024 Knoten unterstützt werden. 1998 Version 2.0 Hochgeschwindigkeits- Modus mit max. 3,4 Mbit/s I²C Bus ist als Master- Slave- Bus konzipiert Anwendungen: Analog-Digital-Umsetzer Digital-Analog-Umsetzer Speicher-Bausteine z.b. EEPROMs Echtzeit-Uhren und Timer Display-Treiber (LC-Display) Bausteine für Fernseh- und HIFI Geräte Parallele I/O-Ports 2

I²C Bus Protokoll Der Bus-Master initialisiert eine Schreib- oder Lesesequenz mit einem bestimmten Teilnehmer. Jede Übertragungssequenz beginnt mit einer Start-Bedingung (SDA vor SCL auf 0) und endet mit einer Stopp-Bedingung (SCL vor SDA auf 1). Nach einem Start folgt ein Byte mit der 7Bit Teilnehmer- Adresse (b1-b7) und dem RW Bit (b0), welches angibt, ob zum Teilnehmer geschrieben wird (b0=0) oder vom Teilnehmer gelesen werden soll (b0=1). Master sendet Daten zum Slave: Mit einer Start-Bedingung beginnt die Schreibsequenz. Der Master gibt das Adressbyte mit dem RW Bit =0 aus. Der Slave antwortet mit ACK (Bit 9 SDA auf 0). Anschließend sendet der Master ein oder mehrere Datenbytes. Nach jedem Datenbyte gibt der Slave ein ACK- Bit zurück. Die Übertragung endet mit einer Stopp- Bedingung. Master empfängt Daten von einem Slave: Eine Start-Bedingung leitet eine Lesesequenz ein. Der Master gibt das Adressbyte mit dem RW Bit =1 aus. Der Slave antwortet mit ACK ( Bit 9 SDA auf 0). Anschließend sendet der Slave ein oder mehrere Datenbytes. Nach jedem empfangenen Byte gibt der Master ein ACK- Bit zurück. Die Übertragung endet mit einer Stopp-Bedingung. 3

Der Universal Serial Bus (USB) ist ein Bussystem zur Verbindung eines Computers mit Zusatzgeräten. Ein USB- Anschluss belegt wenig Platz und kann einfache Geräte wie Mäuse, Telefone oder Tastaturen mit Strom versorgen. Mit USB ausgestattete Geräte können im laufenden Betrieb miteinander verbunden werden ( Hot-Plugging ), angeschlossene Geräte und deren Eigenschaften können automatisch erkannt werden. Moderne Computer haben meist zwei bis sechs USB- Schnittstellen. Stehen zuwenig USB- Anschlüsse zur Verfügung, kann man über preiswerte Hubs mehrere - bis zu 127 USB- Geräte an einer Schnittstelle betreiben. Leistungsstufen des USB: LOW SPEED bis 1,5Mbit/s FULL SPEED bis 12Mbit/s HIGH SPEED bis 480Mbit/s (USB V2.00) Diese Raten basieren auf dem Systemtakt der jeweiligen USB- Geschwindigkeit und stellen die physikalische Bitrate dar. Die tatsächlich nutzbare Datenrate liegt - z. B. durch Datenoverhead - darunter; bei aktuellen Systemen in der Größenordnung 320 Mbit/s. 4

USB 2.0: Wird die Schnittstelle eines Geräts mit USB 2.0 angegeben, heißt das nicht unbedingt, dass dieses Gerät auch die High-Speed-Datenrate von 480 MBit/s anbietet. Standpunkt der Anbieter ist dabei, dass ein USB-2.0-kompatibles Gerät grundsätzlich jede der drei Geschwindigkeiten benutzen kann und die 2.0- Kompatibilität in erster Linie bedeutet, dass die neueste Fassung der Spezifikation eingehalten wird. 480 MBit/s dürfen also nur erwartet werden, wenn ein Gerät mit dem Logo USB 2.0 Hi-Speed ausgezeichnet ist. Anschlüsse/Kabel/Steckerbelegung: Der USB kennt zwei verschiedene Steckertypen, Typ A und Typ B. Das System ist so konzipiert, dass keine Verwechslung möglich ist. Anders als bei der RS232 gibt es auch keine Unterschiede zwischen gekreuzten und geraden Verbindungen. Kabel sind immer 1:1 verbunden. Die Belegung ist immer gleich. 1 +5V Die Signale auf den beiden Leitungen D+ und D- sind Differenzsignale mit Spannungspegeln von 2 Data- 0V/3,3V. Der angeschlossene Mikrocontroller arbeitet in vielen Fällen mit einer Betriebsspannung von 3,3 V. Die Versorgungsspannung am USB kann bis zu 5,25 V betragen und bei starker Belastung bis 3 Data+ auf 4,2 V abfallen. Ein Spannungsregler liefert auch in diesem Fall noch stabile 3,3 V. Das gesamte 4 Masse System ist so ausgelegt, dass auch bei maximaler Belastung eine Versorgungsspannung von 4,2 V nicht unterschritten wird. 5

Serielle Übertragung Teil 1: Der USB ist ein Bus mit nur einem Master, d.h. alle Aktivitäten gehen vom PC aus. Daten werden in kurzen Paketen von 8 Bytes oder bis 256 Bytes versandt und empfangen. Der PC kann Daten von einem Gerät anfordern. Umgekehrt kann kein Gerät von sich aus Daten absenden. Der gesamte Datenverkehr hat einen Rahmen von exakt einer Millisekunde. Innerhalb eines Rahmens können nacheinander Datenpakete für mehrere Geräte verarbeitet werden. Dabei können Lowspeed- und Fullspeed- Pakete zusammen vorkommen. Werden mehrere Geräte angesprochen, sorgt ein Bus-Verteiler (Hub) für die Verteilung. Er verhindert auch, dass Fullspeed- Signale an Lowspeed- Geräte weitergeleitet werden. 6

Serielle Übertragung Teil 2: Zu beachten ist, dass diese Geschwindigkeit allein vom Master vorgegeben wird. Die Slaves synchronisieren sich auf den Datenstrom. Es wird kein getrenntes Datensignal übertragen, also muss der Takt erst einmal aus dem Datensignal gewonnen werden. Dazu wird das NRZI-Verfahren verwendet (Non-Return-to-Zero inverted). Die Hardware kodiert und dekodiert die Signale. Die Aufgabe des Empfängers ist es, die Daten zu empfangen und zu dekodieren. Es gibt ein besonderes Verfahren, dass dafür sorgt, dass die Synchronisierung nicht verloren geht. Wenn der ursprüngliche Datenstrom sechs folgende Einsen enthält, wird vom Sender automatisch eine Null eingefügt (Bit Stuffing), um einen Pegelwechsel zu erzwingen. Der Empfänger entfernt diese Null wieder aus dem Datenstrom. Jedes Datenpaket hat zum Zweck der Synchronisation einen besonderen Vorspann, das Sync-Byte (00000001b). Der Empfänger sieht wegen der NRZI-Kodierung und dem Bit-Stuffing acht wechselnde Bitzustände. Bei der darauffolgenden Übertragung muss die Synchronisierung erhalten bleiben, will man sinnvoll Daten übertragen. All diese Vorgänge laufen allein in den entsprechenden Hardware-Bausteinen ab, die ähnlich wie ein UART für die RS232 die eigentliche Arbeit übernehmen. 7

USB-Anschluss: USB-Topologie: Ein nicht verwendeter USB-Anschluss ist nicht aktiv, d.h. der Hub sendet keinen Datenrahmen. In diesem Fall sind die beiden Signalleitungen LOW und haben einen Innenwiderstand von 15 KΩ. Jedes USB- Peripheriegerät besitzt einen Widerstand von 1,5KΩ, der eine der beiden Signalleitungen mit +3,3 V verbindet. Bei einem Fullspeed- Gerät wird D+ hochgezogen, bei einem Lowspeed- Gerät D-. Der Hub erkennt also den Typ des Gerätes und kann eine Datenverbindung mit der entsprechenden Übertragungsrate aufbauen. Stromabgabe: Beim Start darf jedes USB- Gerät bis zu 100 ma aufnehmen. Falls ein höherer Bedarf besteht, muss dieser angemeldet werden. Der Hub kann dann mehr Strom erlauben, sodass bis zu 500 ma angefordert werden können. Ein externer Hub kann als Bus- Powered- Gerät nur 100 ma pro Downstream- Port abgeben, da er insgesamt nicht mehr als 500 ma aufnehmen darf und auch noch einen gewissen Eigenbedarf hat. 8

USB-Transfertypen: Control-Transfer: Zur Steuerung der Hardware werden Control-Requests verwendet. Sie arbeiten mit hoher Priorität und mit automatischer Fehlerüberwachung. Die Übertragungsrate ist hoch, da bis zu 64 Bytes in einem Request übertragen werden können. Interrupt-Transfer: Von Geräten verwendet, die periodisch kleine Mengen an Daten liefern, wie z.b. Mäuse und Tastaturen. Dies geschieht dadurch, dass das Gerät periodisch, so etwa alle 10 ms, nach neuen Daten fragt. Im allgemeinen werden bis zu 8 Bytes übertragen. Bulk-Transfer: Für größere Datenmengen, die eine Fehlerüberwachung benötigen, die aber nicht zeitkritisch sind. Beispiele sind Drucker und Scanner. Isochronous-Transfer: Große Datenmengen mit einer definierten Datenrate, wie z.b. für Soundkarten. Es wird eine bestimmte Datenrate garantiert. Fehlerkorrektur findet nicht statt, da einzelne Übertragungsfehler weniger schlimm sind als Lücken in der Übertragung. Für Anwendungen im Bereich Messen, Steuern, Regeln bietet sich besonders der Control-Transfer an, wo hohe Datensicherheit mit hoher Übertragungsgeschwindigkeit gekoppelt wird. Es lassen sich leicht einige Übertragungsprotokolle realisieren, die der jeweiligen Aufgabe angemessen sind. 9

USB- Vorteile: USB- Nachteile: Stecker und Buchse sind für alle USB-Geräte gleich (Norm) USB macht also Schluss mit den leidigen Adaptern. Plug & Play: Windows 98/2K/XP erkennen die Geräte sofort nach dem Einstecken, installiert automatisch die passenden Treiber und macht die Hardware betriebsfertig. Hot- Plug- Fähigkeit: Wenn ein USB- Gerät an- oder abgestöpselt werden soll, muss der Rechner vorher nicht mehr heruntergefahren werden. An einer USB-Schnittstelle finden bis zu 127 Geräte Anschluss. Die maximale Datenrate beträgt 1.5 / 12 / 480 MBit/s - je nachdem, welche der Geschwindigkeiten das angeschlossene Gerät erfordert. große Komplexität des USB einfache Geräte wie an der RS232 sind hier nicht möglich. ein USB-System verfügt mindestens über einen USB-fähigen µc mit einem umfangreichen Programm auf der PC-Seite ist ein Treiber erforderlich. das Schreiben eines PC-Treibers ist nicht einfach. 10

USB LOW COST für Mikrocontroller USB UART IC FT232R PC-Treiber: USB RS232 µc Windows XP x64 Windows XP Windows Server 2003 Windows 2000 Windows 98/ME Linux Mac OS X Mac OS 9 Mac OS 8 Windows CE.NET (Version 4.2 and greater) http://www.ftdichip.com 11

USB LOW COST für Mikrocontroller USB FIFO IC FT245 8-Bit µc USB PC-Treiber: Windows XP x64 Windows XP Windows Server 2003 Windows 2000 Windows 98/ME Linux Mac OS X Mac OS 9 Mac OS 8 Windows CE.NET (Version 4.2 and greater) http://www.ftdichip.com 12

Vortrag: Bussysteme im KFZ Zusatzinformationen für Bussysteme: Kommunikation zwischen Mikrocontrollern I²C Spezifikation CAN-Entwicklerseite http://www.can-cia.org/ USB http://www.usb.org USB- Entwicklerseite http://www.ftdichip.com 13