RS485 RS422 RS232
Allgemeines
Das RS in der Bezeichnung steht für Recommended Standard.
Die aktuelle amerikanische Version heißt offiziell (ANSI EIA/) TIA-232-F (1997) und ist aber immer noch eine beliebte serielle Kommunikationsschnittstelle. Oft wird nur die "Basisverkabelung" ohne Steuerleitungen (Hardwarehandshake) mit 3 Adern (RX TX GND) benutzt. Ich wuerde behaupten, dass bei Mikrocontrollern (ohne USB-Interface) die serielle Kommunikation ueber TX und RX die am meist genutzte ist. Um die in der Norm zu erfuellenden Bedingungen (Physikal Layer ISO/OSI) sind Schnittstellen-Schaltkreise, allen voran der MAX232 notwendig.
Hier eine weitere hilfreiche Zusammenstellung.
Oft werden die 3 Kommunikationsschnittstellen in einem Atemzug genannt, es gibt aber (kleine) Unterschiede.
Ein wenig zur Norm[1].
USB Anbindung RS 232
TODO
USB Anbindung RS422/RS485
DSD Tech
SH-U11F
Auf den Kontaktbeschreibungen findet man fuer den RS485-Betrieb (2-Leitung/3-Leitung) bei dem TXD+ Anschluss auch die Bezeichnung A+ und bei dem TXD- Anschluss auch die Bezeichnung B-.
SH-U11L
Die wesentlichen Unterscheidungsmerkmale ergeben sich aus der Modellbezeichnung: 10 weist auf einen CP2102 und 11 auf einen FT232RL Chip hin. Das angehaengte L meint die Kabelvariante.
Was man aber schon so erkennen kann, sind die unterschiedlichen Anschlussbelegungen.
Im Gegensatz zu SH-U11F (6 Kontakte) hat der SH-U11L nur 5 Kontaktstellen.
Was jetzt erst mal verwirrend ist, dass die TXD-Anschluesse genutzt werden, obwohl ja eine bidirektionale Kommunikation moeglich sein soll. Also gehe ich mal von einer Halbduplex-Verbindung und nicht von einer Simplex-Verbindung aus.
Dummerweise kommt noch eine weitere Verwirrung dadurch zustande, dass die Bezeichnungen der Anschluesse A und B munter durcheinandergehen.
Laut dieser Seite:
Die Definition sagt: A = „-“ = T x D- / R x D - = invertiertes Signal B = „+“ = T x D + / R x D + = nicht-invertiertes Signal Es wird zudem eine dritte Leitung „C“ = „Common“ angegeben. Diese Leitung ist für den Referenz-Ground.
Texas Instruments, Maxim, Analog Devices, u.a. hielten sich scheinbar nicht an diese Abmachung und vertauschten A und B.
MAXIM Datenblatt MAX485: A Noninverting Receiver Input and Noninverting Driver Output -> also A+ B Inverting Receiver Input and Inverting Driver Output -> also B-
Wenn man sich aber nur darauf konzentriert, dass + das nicht-invertierte und - das invertierte Signal ist, dann passt es.
Die Bezeichnung bei den DSD TECH-Produkten ist vertauscht.
Irgendwann hat man wohl die Verwirrung komplett machen wollen und D+ und D- eingefuehrt. Wie an dem PCB-Aufdruck vom YF-D1 (gruene Platine) zu erkennen ist wurde D+ TXD+ und D- TXD- zugeordnet.
diymore
USBtoRS485
Modellbezeichnung: 003 (rote Platine)
Driver: CH340/341
USBtoRS485/422
Modelbezeichnung: YF-D1 (gruene Platine)
Driver: CH340G
QinHeng Electronics
Das CH340-IC hat keinen Aufdruck und meldet sich in der Konsole wie folgt.
>dmesg
[122901.377343] usb 3-14: new full-speed USB device number 27 using xhci_hcd
[122901.525844] usb 3-14: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.54
[122901.525850] usb 3-14: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[122901.525853] usb 3-14: Product: USB2.0-Ser!
[122901.580419] usbcore: registered new interface driver usbserial_generic
[122901.580434] usbserial: USB Serial support registered for generic
[122901.582067] usbcore: registered new interface driver ch341
[122901.582081] usbserial: USB Serial support registered for ch341-uart
[122901.582098] ch341 3-14:1.0: ch341-uart converter detected
[122901.582471] ch341-uart ttyUSB0: break control not supported, using simulated break
[122901.582585] usb 3-14: ch341-uart converter now attached to ttyUSB0
>lsusb -t
Bus 03
|__ Port 14: Dev 27, If 0, Class=Vendor Specific Class, Driver=ch341, 12M
>lsusb
Bus 003 Device 027: ID 1a86:7523 QinHeng Electronics CH340 serial converter
ETHernet Anbindung RS485
eletechsup ET69C02
Der "Server" besteht im Wesentlichen aus einem Modul NT-B1 von EBYTE (s.u.)
NT1-B
Hersteller: EBYTE Chengdu Ebyte Electronic Technology Co.,Ltd
NT1-B_UserManual_EN_V1.1.pdf Im Kapitel 3.3 Interface Description findet man das Pinout und die Beschreibung der Pin-Funktionen. [2]
USR-TCP232-304
Anschluss am Beispiel des Stromzaehlers EM24 (IS) von Carlo Cavazzi
Die Einstellmoeglichkeiten des EM24 sind so umfangreich, dass ich hier EM24_Carlo_Gavazzi eine eigene Seite dafuer angelegt habe.
Anschlussbelegungen EM24 Klemmverbindungen IS Variante (3 Digital Inputs + RS485) | |
---|---|
Pin | Bezeichnung |
31 | INPUT 1 |
32 | INPUT 2 |
33 | INPUT 3 |
41 | A- |
42 | B+ |
43 | GND (RS485 und INPUTs) |
Einbindung eines EM24 in eine Victron Energy Anlage rev 05 - 08/2023
Anschluss an einen ET340/ET112
Der Anschluss eines RS485-Interfaces ist über die Klemmverbindungen am einfachsten. Aber auch über die RJ45-Buchsen und ueber den optischen Kommunikationsport (ueber OptoProg) ist eine Anbindung (nur eine der 3 zeitgleich) moeglich.
Anschlussbelegung ET340 Klemmverbindungen | |
---|---|
Pin | Bezeichnung |
7 | Terminierung (nur beim letzten Teilnehmer mit A- (9) verbinden |
8 | B+ |
9 | A- |
10 | GND |
11 | Tarifschalter ->12 (Auswahl Tarifmodell 0 programmieren) |
12 | Tarifschalter ->11 (Auswahl Tarifmodell 0 programmieren) |
Anschlussbelegung Sub-D
Anschlussbelegung Sub-D | |||
---|---|---|---|
Pin | RS232 | RS422 | RS485 |
1 | RXD- | B | |
2 | RXD | ||
3 | TXD | ||
4 | TXD+ | A | |
5 | GND | GND | GND |
6 | RXD+ | A | |
7 | RTS | ||
8 | CTS | ||
9 | TXD- | B |
Anschlussbelegung RJ45 (8P8C)
Dummerweise gibt es eine Vielzahl von Anschlussvarianten. Da denkt sich jeder scheinbar seine eigene aus. Die nachfolgenden Tabellen erheben daher (vorerst) keinen Anspruch auf "Standard". Unlogisch erscheint mir die Variante, da hier das Differenzsignal nicht ueber ein verdrilltes Paar laeuft, wenn man eine Ethernetkabel (U/UTP) benutzt. D.h. +/- sind uber Pin1/2, Pin3/6, Pin4/5 oder Pin7/8 zu fuehren!
Anschlussbelegung RJ45 | ||||
---|---|---|---|---|
Pin | RS-232 | RS-422 | RS-485 (full-duplex) | RS-485 (half-duplex) |
1 | RTS | TXD+ | TXD+ | TXD/RXD+ (A) |
2 | DTR | NC | NC | NC |
3 | GND | NC | GND | NC |
4 | TXD | TXD- | TXD- | TXD/RXD- (B) |
5 | RXD | RXD- | RXD- | NC |
6 | DCD | NC | NC | NC |
7 | DSR | NC | NC | NC |
8 | CTS | RXD+ | RXD+ | NC |
Noch eine "falsche" Variante:
Die Variante des ET340:
Anschlussbelegung RJ45-Buchsen | ||||
---|---|---|---|---|
Pin | RS-485 (half-duplex) | |||
1 | NC (?) | |||
2 | NC (?) | |||
3 | T (nicht bestaetigt) | |||
4 | B+ | |||
5 | A- | |||
6 | NC (?) | |||
7 | NC (?) | |||
8 | GND |
Die beiden Buchsen sind auf der Vorderseite angebracht. Laut Datenblatt sind die Kontakte von links nach rechts mit 1 bis 8 durchnummeriert. Die Rastnase befinden sich dabei unten. Die beiden Buchsen dienen zum Durchschleifen des Busses (Daisy Chain). Wenn der ET340/112 das letzte Geraet in der Kette ist, ist ein Abschlusswiderstand einzustecken, oder die Klemmen A- (5) und T (3) zu verbinden. Die im Datenblatt angegebene Verbindung T (3) kann ich nicht bestaetigen.
Hier ist die Belegung vorteilhaft. Die Kontakte 4 und 5 laufen in einem "normalen" Netzwerkkabel sowohl bei T-568A also auch B ueber das verdrillte blaue Adernpaar. GND ist mit der braunen Ader verbunden.
Sniffing
A - B < -0,3V = MARK = OFF = Logisch 1
A - B > +0,3V = SPACE = ON = Logisch 0
A–B < 0,25 V = Logisch 1 A–B > 0,25 V = Logisch 0
A = „-“ = T x D- / R x D - = invertiertes Signal B = „+“ = T x D + / R x D + = nicht-invertiertes Signal