RS-485: Unterschied zwischen den Versionen

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche
K (Textersetzung - „([0-9]+)uF“ durch „$1µF“)
K (Textersetzung - „([0-9]+) Ohm“ durch „$1Ω“)
Zeile 2: Zeile 2:


[[Datei:RS485.png|thumb|right|Transceiver ADM483E: Links ist CMOS/TTL-Logik, rechts die RS485-Leitung.]]
[[Datei:RS485.png|thumb|right|Transceiver ADM483E: Links ist CMOS/TTL-Logik, rechts die RS485-Leitung.]]
RS485 ist die physikalische Spezifikation einer bidirektionalen Verbindung über ein differentiales Leitungspaar. Die Leitung ist idealerweise ein twisted Pair mit 120 Ohm [[Wellenwiderstand]]. Es können zwei oder mehrere Teilnehmer angeschlossen sein. Der Leitungsaufbau ist immer eine Linie, kein Stern und ohne Stichleitungen. Die Leitung ist idealerweise an beiden Enden terminiert. Idealerweise bedeutet hier für höhere Geschwindigkeiten und Distanzen zwingend, bei kurzen Leitungen und niedrigen Geschwindigkeiten nicht, siehe Artikel [[Wellenwiderstand]]. Das Interface ist ein RS485 Transceiver, der beinhaltet einen Sender und einen Empfaenger.
RS485 ist die physikalische Spezifikation einer bidirektionalen Verbindung über ein differentiales Leitungspaar. Die Leitung ist idealerweise ein twisted Pair mit 120Ω [[Wellenwiderstand]]. Es können zwei oder mehrere Teilnehmer angeschlossen sein. Der Leitungsaufbau ist immer eine Linie, kein Stern und ohne Stichleitungen. Die Leitung ist idealerweise an beiden Enden terminiert. Idealerweise bedeutet hier für höhere Geschwindigkeiten und Distanzen zwingend, bei kurzen Leitungen und niedrigen Geschwindigkeiten nicht, siehe Artikel [[Wellenwiderstand]]. Das Interface ist ein RS485 Transceiver, der beinhaltet einen Sender und einen Empfaenger.


Da nicht mehrere Sender gleichzeitig auf die Leitung aufgeschaltet sein dürfen, muss der jeweilige Sender nach Bedarf eingeschaltet werden ([http://de.wikipedia.org/wiki/Duplex_%28Nachrichtentechnik%29 Halbduplex]). Dies wird auf Protokollebene definiert. Der Sender steuert das differentielle Leitungspaar voll aus, d.h. geht unbelastet auf 0V/Vcc, wobei es 3.3V, sowie 5V Bausteine gibt. Unter Last nimmt die Amplitude dann ab. Der Empfaenger braucht minimal 70mV Differenzspannung in einem Gleichtaktbereich von -7...+12V. Es gibt auch Bausteine mit höheren Gleichtaktspannungen.  
Da nicht mehrere Sender gleichzeitig auf die Leitung aufgeschaltet sein dürfen, muss der jeweilige Sender nach Bedarf eingeschaltet werden ([http://de.wikipedia.org/wiki/Duplex_%28Nachrichtentechnik%29 Halbduplex]). Dies wird auf Protokollebene definiert. Der Sender steuert das differentielle Leitungspaar voll aus, d.h. geht unbelastet auf 0V/Vcc, wobei es 3.3V, sowie 5V Bausteine gibt. Unter Last nimmt die Amplitude dann ab. Der Empfaenger braucht minimal 70mV Differenzspannung in einem Gleichtaktbereich von -7...+12V. Es gibt auch Bausteine mit höheren Gleichtaktspannungen.  
Zeile 28: Zeile 28:


* Failsafe - was passiert auf dem Bus, wenn kein Sender aktiv ist? Dann muss man mittles Pull Up und Pull Down Widerstand für definierte Pegel sorgen. Das ist vor allem dann nötig, wenn man mittles [[UART]] Daten überträgt, was bei 90% der RS485 Anwendungen der Fall ist. Arbeitet man mit Terminierung, so werden klassisch die Werte wie im nebenstehenden Bild verwendet. Ohne Terminierung entfällt R2 und R1=R3=1kΩ. Diese Terminierung gibt es nur einmal auf dem Bus, nicht an jedem Teilnehmer!
* Failsafe - was passiert auf dem Bus, wenn kein Sender aktiv ist? Dann muss man mittles Pull Up und Pull Down Widerstand für definierte Pegel sorgen. Das ist vor allem dann nötig, wenn man mittles [[UART]] Daten überträgt, was bei 90% der RS485 Anwendungen der Fall ist. Arbeitet man mit Terminierung, so werden klassisch die Werte wie im nebenstehenden Bild verwendet. Ohne Terminierung entfällt R2 und R1=R3=1kΩ. Diese Terminierung gibt es nur einmal auf dem Bus, nicht an jedem Teilnehmer!
* Verlustleistung - die Terminierung (100..120 Ohm) verbraucht einiges an Strom, den man mit einem 1µF in Serie unterdrücken kann (AC-Terminierung, siehe Artikel [[Wellenwiderstand]]).
* Verlustleistung - die Terminierung (100..120Ω) verbraucht einiges an Strom, den man mit einem 1µF in Serie unterdrücken kann (AC-Terminierung, siehe Artikel [[Wellenwiderstand]]).
* [[Galvanische Trennung]] - speziell bei ausgedehnten Systemen können die -7...+12V Gleichtaktbereich nicht genügen, speziell in einem industriellen Umfeld nicht. Dann sollte man eine galvanische Trennung einführen.
* [[Galvanische Trennung]] - speziell bei ausgedehnten Systemen können die -7...+12V Gleichtaktbereich nicht genügen, speziell in einem industriellen Umfeld nicht. Dann sollte man eine galvanische Trennung einführen.
* Die Masse als Referenz sollte man IMMER im Kabel mitführen, auch wenn es scheinbar oft auch ohne funktioniert.
* Die Masse als Referenz sollte man IMMER im Kabel mitführen, auch wenn es scheinbar oft auch ohne funktioniert.

Version vom 21. November 2011, 12:49 Uhr

Einleitung

Datei:RS485.png
Transceiver ADM483E: Links ist CMOS/TTL-Logik, rechts die RS485-Leitung.

RS485 ist die physikalische Spezifikation einer bidirektionalen Verbindung über ein differentiales Leitungspaar. Die Leitung ist idealerweise ein twisted Pair mit 120Ω Wellenwiderstand. Es können zwei oder mehrere Teilnehmer angeschlossen sein. Der Leitungsaufbau ist immer eine Linie, kein Stern und ohne Stichleitungen. Die Leitung ist idealerweise an beiden Enden terminiert. Idealerweise bedeutet hier für höhere Geschwindigkeiten und Distanzen zwingend, bei kurzen Leitungen und niedrigen Geschwindigkeiten nicht, siehe Artikel Wellenwiderstand. Das Interface ist ein RS485 Transceiver, der beinhaltet einen Sender und einen Empfaenger.

Da nicht mehrere Sender gleichzeitig auf die Leitung aufgeschaltet sein dürfen, muss der jeweilige Sender nach Bedarf eingeschaltet werden (Halbduplex). Dies wird auf Protokollebene definiert. Der Sender steuert das differentielle Leitungspaar voll aus, d.h. geht unbelastet auf 0V/Vcc, wobei es 3.3V, sowie 5V Bausteine gibt. Unter Last nimmt die Amplitude dann ab. Der Empfaenger braucht minimal 70mV Differenzspannung in einem Gleichtaktbereich von -7...+12V. Es gibt auch Bausteine mit höheren Gleichtaktspannungen.

Während der Standard von bis zu 32 Bausteinen pro Leitung ausgeht, sind Viertel- und Achtelpower Bausteine erhältlich, wovon dann 128 bzw. 256 Stück an eine Leitung angeschlossen werden können. Die Geschwindigkeit und die Reichweite sind nicht im Standard definiert.

Bisher sind alle Transceiver pinkompatibel.

Meist genutzte RS485-Bausteine

  • SN75176, günstig und leicht zu beschaffen, aber ein Stromfresser (28-50mA!)
  • LTC485
  • MAX485 Moderne CMOS-Variante mit weniger als 1mA Eigenverbrauch
  • ADM485
  • ADM483 von Analog Devics, 250kBit, supply 350uA plus load, SO8, 1.14$@100
  • SN65HVD11D von Texas, für 3V3 Schaltungen, recht billig

Speziellere Ausführungen

  • SN65HVD23D von TI, extended common mode -20 to +25V, 25MBit @160m, 64nodes, supply 7mA plus load, SO8, 4.05$@1
  • SN65HVD24D von TI, extended common mode -20 to +25V, 3MBit @500m, 256 nodes, supply 10mA plus load, SO8, 4.05$ @1

Weitere Hinweise

RS485 Terminierung mit Pull-Up/Down Widerständen
  • Failsafe - was passiert auf dem Bus, wenn kein Sender aktiv ist? Dann muss man mittles Pull Up und Pull Down Widerstand für definierte Pegel sorgen. Das ist vor allem dann nötig, wenn man mittles UART Daten überträgt, was bei 90% der RS485 Anwendungen der Fall ist. Arbeitet man mit Terminierung, so werden klassisch die Werte wie im nebenstehenden Bild verwendet. Ohne Terminierung entfällt R2 und R1=R3=1kΩ. Diese Terminierung gibt es nur einmal auf dem Bus, nicht an jedem Teilnehmer!
  • Verlustleistung - die Terminierung (100..120Ω) verbraucht einiges an Strom, den man mit einem 1µF in Serie unterdrücken kann (AC-Terminierung, siehe Artikel Wellenwiderstand).
  • Galvanische Trennung - speziell bei ausgedehnten Systemen können die -7...+12V Gleichtaktbereich nicht genügen, speziell in einem industriellen Umfeld nicht. Dann sollte man eine galvanische Trennung einführen.
  • Die Masse als Referenz sollte man IMMER im Kabel mitführen, auch wenn es scheinbar oft auch ohne funktioniert.

Weblinks