Signale des seriellen Anschlusses (DB9).

Fast jedes Mal, wenn ich einen seriellen Anschluss für irgendetwas verwende, verwende ich nur 3 Pins des üblichen 9-Pin-Anschlusses (DB9): Tx, Rx und GND. Und wenn ich meine Mikrocontroller-Projekte mit diesen Ports verdrahte, überkreuze ich einfach die Tx- und Rx-Signale im Kabel, koppele die GNDs und es funktioniert.

Wenn man sich die Pinout-Beschreibungen ansieht, sieht es so aus, als ob die anderen 6 Pins für so etwas wie Flusskontrolle und Endpunkt-Präsenzerkennung verwendet werden. Bei welchen Geräten müssen Sie diese Pins heutzutage tatsächlich in der Praxis verwenden? Warum sind so viele Signale erforderlich (scheint übertrieben zu sein), was ist der Anwendungsfall für alle auf einmal?

Könnte sein, dass ich hier nur nach einer Geschichtsstunde suche.

Hardware-Flusskontrolle. Clear to Send, Ready to Send, Data Terminal Ready ... alles, woran ich mich aus alten Zeiten erinnere, ist, dass Kabel immer falsch sind, viel Fehlersuche erfordern. Die Software-Flusskontrolle (XON/XOFF) ist so viel einfacher zu verdrahten (das ist, was Sie in einer Drei-Draht-Konfiguration verwenden).
Du denkst, 9 Pins sind schlecht? Die ursprüngliche (vollständige) RS-232-Spezifikation erfordert einen 25-poligen Stecker!
Mit NXP-Mikrocontrollern können Sie DTR und RTS verwenden, um RESET und BOOT zu steuern, sodass Sie automatisch den ROM-Bootloader zum Flashen aufrufen können.

Antworten (2)

Die meisten ausgefallenen Signale sind von der externen Telefonmodemsteuerung übrig geblieben. Das war damals, als ein Computer mit einer externen Box sprechen musste, die dann wiederum mit der Telefonleitung verbunden war. Betrachten Sie die meisten anderen Signale nicht nur als Datenübertragung, sondern als Steuerung eines Telefons mit Computerschnittstelle.

Die einzigen Signale neben RX und TX, denen Sie heute wahrscheinlich begegnen werden, sind RTS und CTS. Diese dienen der Flusskontrolle und können auch heute noch nützlich sein. Die überwiegende Mehrheit der heutigen Geräte, die immer noch RS-232 verwenden, verwenden jedoch nur die grundlegenden RX- und TX-Leitungen.

Einige Mikrocontroller verfügen über UARTs, die optional RTS und CTS verwenden können, da eine Out-of-Band-Flusskontrolle eine nützliche Sache sein kann. Ich habe gerade ein Projekt am Laufen, bei dem ich zwei PICs auf derselben Platine habe, die Daten untereinander hin und her senden müssen, und ich habe RX, TX, RTS und CTS verbunden. Einer der PICs implementiert diese Flusssteuerung in Hardware, was besonders einfach ist. Andererseits musste ich es in Firmware tun, da UART keine solche Hardwarefähigkeit hat.

Die Nützlichkeit der anderen Signale wird offensichtlich, wenn Sie an RS-232 als den primären Weg für die Vernetzung von Computern denken, und zwar meistens über Modems. Im Gegensatz zum heute üblichen physikalischen Netzwerkprotokoll Ethernet werden die Daten nicht gerahmt, sodass jegliche Out-of-Band-Kommunikation über eine andere Leitung erfolgen muss, mit einfachen elektrischen Schnittstellen, die von den einfachen elektrischen Schnittstellen des Tages gesendet und empfangen werden können.

Viele der Signale kommen paarweise, die sich nur in der Richtung unterscheiden.

RXD (Empfangsdaten) / TXD (Sendedaten)

Offensichtlich.

RTS (request to send) / CTS (clear to send), DTR (data terminal ready) / DSR (data set ready)

Hardware-Flusskontrolle, um Pufferüberläufe zu verhindern. Diese implementieren jeweils eine Möglichkeit, zu behaupten, "Ich habe etwas zu senden (RTS)" und für das andere Ende mit "Ich bin bereit, es zu empfangen (CTS)" zu antworten, wobei DTR/DSR dasselbe in die andere Richtung tun. Siehe Was ist der Unterschied zwischen DTR/DSR- und RTS/CTS-Flusskontrolle? auf Stapelüberlauf.

Oder einfach für irgendeinen Zweck missbraucht, der als bequem erachtet wird. Interoperabilität war damals nicht super. Jeder hatte eine Box mit LEDs, um anzuzeigen, welche Leitungen aktiviert waren, damit sie herausfinden konnten, was ihre Hardware tat, und eine andere Box mit beweglichen Jumpern oder Schaltern, damit sie die Leitungen umschalten konnten, um zwei Dinge zum Sprechen zu bringen.

Heutzutage sind viele Geräte schnell genug, dass es nicht zu einem Pufferüberlauf kommen kann, sodass eine Flusskontrolle möglicherweise nicht erforderlich ist.

CD (Trägererkennung)

CD ist im Wesentlichen das DTE (Modem), das behauptet, dass alles, womit es verbunden ist (Telefonleitung), physisch verbunden, abgehoben, betriebsbereit usw. ist. Oder auch nur für das missbraucht, was bequem war.

RI (Ringanzeige)

Wird aktiviert, wenn die Telefonleitung klingelt.