Bus
Einführung
Ein Bus ist eine elektrische Verbindung zwischen mehreren digitalen Komponenten eines Systems. Er wird benutzt, um Informationen zwischen den Buspartnern auszutauschen. Man kann grundsätzlich zwischen drei Busarten unterscheiden:
- Datenbus
- Adressbus
- Steuerbus
Ein weiteres Unterscheidungsmerkmal liefert die Art der Übertragung:
Bei einer seriellen Übertragung werden die einzelnen Bits nacheinander über eine Datenleitung übertragen. Über eine zusätzliche Taktleitung wird bei synchronem Betrieb angezeigt, wann ein neues Bit anliegt. Dies ist beispielsweise bei I2C und SPI der Fall. Um die Leitungsanzahl noch weiter zu reduzieren, kann eine asynchrone Übertragung wie z. B. RS-232 eingesetzt werden. Hierbei ist die Synchronisation im Datenstrom enthalten und somit keine Taktleitung notwendig.
Bei einer parallelen Übertragung (z. B. Speicherzugriff, PC-Parallelport) werden Bits gleichzeitig über mehrere Datenleitungen übertragen. Zusätzliche Steuerleitungen (Strobe) zeigen dem Empfänger an, wann ein neues Wort gelesen werden soll.
Prinzipiell bietet ein paralleler Bus durch das gleichzeitige Übertragen mehrerer Bits eine höhere Datenrate als eine serielle Übertragung mit gleicher Baudrate. Als nachteilig erweist sich jedoch der höhere Aufwand und Preis hinsichtlich IC-Pins, aufwändigerer PCB-Layouts, Platinenfläche und Kabeldicke. Zudem ergibt sich bei höheren Übertragungsraten das Problem, dass nicht alle Bits synchron sind.
Tabellarische Übersicht
Bus | Anzahl Daten- leitungen |
Datenrate [kbit/s] |
Anwendung |
---|---|---|---|
I2C | 2 | 100/400 | langsame Kommunikation zwischen ICs in Geräten |
Onewire | 1 | 16 | Temperatursensoren, EEPROM, IO-Expander |
RS232 | 2 | 0,3 - 2.000 | ursprünglich Terminalschnittstelle, in Mikrocontrollern weit verbreitet |
SPI | 3+1 pro IC | 100-50.000 | mittelschnelle Peripheriechips: ADC, DAC |
Einzelne Vertreter
1-Wire
- Dallas/Maxim Technical Support
- Maxim Application Note 132: Quick Guide to 1-Wire net using PCs and Microcontrollers (PDF)
- Atmel Application Note 318: Dallas 1-Wire Master (PDF)
- C-Code für DS1820, DS18B20 am AVR (Leicht auf andere 1-Wire Anwendungen zu portieren)
- 1-Wire Slave auf AVR enthält Beispielcode (onewire.zip) zur Implementierung eines 1wire-Slave auf AVR
- 1-Wire bus sniffer/analyzer . Gleiche Hardware wie I2C bus sniffer/analyzer (ATTiny2313 @ 20 MHz und USB über FTDI FT245RL oder UM245R)
Siehe auch
Weblinks
- APPLICATION NOTE 3438: Serial Digital Data Networks - Übersicht über einige serielle Bussysteme bei Dallas/Maxim (englisch, html)