RTS und CTS bei RS232

Hallo Leute,

zur entg=FCltigen Klarstellung m=F6chte ich folgende Frage stellen:

Bei RS232 gibt es ja die RTS (Request To Send) und CTS (Clear To Send) Leitungen.

Als Beispiel nehme ich hier mal den PC und das Partnerger=E4t.

Es gibt nun zwei M=F6glichkeiten, wie die zwei RTS/CTS-Paare interagieren:

1.) Der PC setzt sein RTS auf eins, um dem Partner anzuzeigen, dass er Daten senden m=F6chte. Der Partner erkennt dies und setzt, wenn er empfangsbereit ist, sein RTS, das am CTS-Anschluss des PCs ankommt und dem PC damit anzeigt, dass er nun senden kann.

Die zwei Leitungen w=E4ren dann ein echtes Handshake. Allerdings w=E4re mit diesen zwei Leitungen nur ein Handshake in die eine Richtung m=F6glich.

2.) Der PC setzt sein RTS auf eins, um dem Partner anzuzeigen, dass er Daten senden m=F6chte. Der PC wartet dann kurz und sendet seine Daten. Wenn der Partner Daten an den PC senden m=F6chte, setzt dieser ebenfalls sein RTS, was als CTS am PC ankommt und den PC auf die nun bald eintreffenden Daten vorbereitet. Diese Variante scheint mir wenig sinnvoll.

Ich meine auch gelesen zu haben, dass das RTS/CTS-Handshake nur vom DTE (in diesem Fall also z.B. PC) zum DCE existiert, weil zu den Fr=FChzeiten die DTEs weitaus schneller waren als die DCEs, und somit die DCEs die DTEs "bremsen" mussten. Das spricht eindeutig f=FCr Variante 1.)

Da sich der Autor auf Wikipedia bei seiner Formulierung der RTS- und CTS auch ein wenig um eine klare Aussage dr=FCckt, m=F6chte ich hier gerne Klarheit schaffen und ggf. den Wiki-Artikel entsprechend anpassen. Auch andere Artikel dr=FCcken sich um eine genaue Erkl=E4rung.

Vielen Dank schonmal!

ciao

Marcus

Reply to
Marcus Woletz
Loading thread data ...

Ich kenn das anders. Der PC schaut nach ob an seinem CTS Signal etwas anliegt und wenn ja sendet er, ansonsten nicht.

Sein RTS Signal setzt er solange auf aktiv wie er in der Lage ist Daten zu empfangen. Sollte er anders beschaeftigt sein schaltet er RTS auf inaktiv. Die Gegenstelle findet an ihrem CTS kein Signal mehr und sendet nicht.

So funktioniert der Handshake in beide Richtungen.

Die Signale zeigen also Empfangsbereitschaft an, nicht Sendebereitschaft.

Gerrit

Reply to
Gerrit Heitsch

Hallo Gerrit,

Gerrit Heitsch schrieb: [...]

also ich vermute mal stark, dass du Recht hast :-) Klingt logisch, sinnvoll und ist elegant. Ich habe mich da zu sehr in die diversen Beschreibungen der Signale verrannt. Dazu kommt noch, dass mir nicht einmal klar ist, ob das Signal nun "Request To Send" oder "Ready To Send" bedeutet. Und selbst wenn das klar gewesen w=E4re, h=E4tte immer noch gekl=E4rt werden m=FCssen, auf welche Seite sich das bezieht.

[...]

Klar! Ich Depp :-(

Danke schonmal f=FCr Deine Antwort. Wenn sich andere anschlie=DFen, werde ich aus der neuen Sichtweise nochmal den Wiki-Artikel lesen.

ciao

Marcus

Reply to
Marcus Woletz

Gerrit Heitsch schrieb:

Nein - so ist das nicht gedacht und nur in exotischen Schaltungen so realisiert.

Nein - dazu schalter er DTR auf inaktiv. Sofern verschaltet

andersrum. Das CTS kommt von der Gegenstelle!

So nicht

Falsch

RTS = "Request zu send" - also der Wunsch senden zu wollen. Das wird von der Gegenseite mit "Clear zu send" beantwortet (Ich bin bereit) derjenige los, der zuvor eben das RTS gesendet hat.

Egal welche Seite das ist!

Bei einem Nullmodemstecker wird deshalb RTS mit CTS gebrückt damit derjenige der senden will, sich damit selbst das OK gibt und lossenden kann.

RTS ist also der "Auslöser", der mit CTS quittiert wird.

Gruss Wolfgang

--
No reply to "From"! - Keine Antworten an das "From"
Keine privaten Mails! Ich lese die NGs, in denen ich schreibe.
Und wenn es doch sein muss, dann muss das Subjekt das Wort NGANTWORT enthalten.
Reply to
Wolfgang Gerber

Marcus Woletz schrieb:

hat er leider nicht!

Nö - ist falsch.

Auf beide!

kein Depp - du warst schon richtiger dran als Gerrit

War bloß leider falsch! Also vergiss es wieder.

Gruss Wolfgang

--
No reply to "From"! - Keine Antworten an das "From"
Keine privaten Mails! Ich lese die NGs, in denen ich schreibe.
Und wenn es doch sein muss, dann muss das Subjekt das Wort NGANTWORT enthalten.
Reply to
Wolfgang Gerber

Marcus Woletz schrieb:

Da musst du schon mal festlegen was du als Parter meinst.

Ein Modem oder einen PC?

ACK

Das gilt nur bei einem Nullmodemverbindung PC PC!

Bei einem Modem geht das RTS vom PC an das RTS vom Modem.

Am PC ist es ein Ausgang, am Modem ein Eingang!

Umgekehrt ist das CTS am Modem ein Ausgang und am PC ein Eingang.

ja

Nein. Bzw. je nach Anwendung.

Das wäre Unsinn einfach loszusenden.

Das gilt bei einer Nullmodemverbindung

Ist es aber

Das hat damit nix zu tun. Diese Schnittstelle ist als Modemschnittstelle gedacht. Nicht für PC PC

Die Variante PC PC per RTS/CTS Handshake ist da eine "Vergewaltigung" der Schnittstelle.

Nö - da gibt es fast keine Eindeutigkeiten. Zumindest in der Praxis. Ich hatte damals in meiner Doku zwecks Anpassung von Fremdsystemen an unsere System ca. 2-3 Dutzend Nullmodemvarianten! Du glaubst gar nicht wie viele Kombination zum Verschalten aller RS232-Leitungen möglich sind in Paarung mit den irresten Protokollen.

Es gibt ganz eindeutige Artikel zu diesem Thema. Tausende...

Gruss Wolfgang

--
No reply to "From"! - Keine Antworten an das "From"
Keine privaten Mails! Ich lese die NGs, in denen ich schreibe.
Und wenn es doch sein muss, dann muss das Subjekt das Wort NGANTWORT enthalten.
Reply to
Wolfgang Gerber

Moin!

[Verwirrung um Handshake-Leitungen]

formatting link

|Eigentlich müsste RTS RTR heissen, Ready To Receive, die Bedeutung |hat es bei Duplexbetrieb, wie heute üblich.

CTS: PC-Eingang, der ihm sagt, ob er senden kann. RTS: PC-Ausgang, wo er sagt, ob er empfangen kann.

Am Modem ist dementsprechend CTS der Ausgang und RTS der Eingang, denn da die Leitungen 1:1 verbunden sind, heißen sie immernoch genauso.

Gruß, Michael.

Reply to
Michael Eggert

Michael Eggert schrieb:

der ihm sagt, daß er jetzt senden "darf" (und soll)!

Nein! Damit signalisiert der PC, daß er senden möchte!

Und will damit von der anderen Seite das OK (CTS) zurücbekommen.

Leute - lest doch erst mal die einschlägige Literatur!

ACK

Signalerklärung der RS-232 Schnittstelle:

RD/RX = Empfangsdaten. Auf dieser Leitung werden die Datenbits vom Datenterminal (DTE) empfangen.

TD/TX = Sendedaten. Auf dieser Leitung werden Daten vom Datenterminal (DTE) gesendet.

CHS GND = Gehäusemasse (chassis ground). Das Datenterminal und das Modem müssen eine gemeinsame Masseverbindung haben um Masseschleifen etc zu verhindern.

DSR = Data Set Ready. Dieses Signal wird vom Modem ausgegeben und bedeutet, daß das Modem aktiv und betriebsbereit ist, um mit dem Datenterminal zu kommunizieren.

DTR = Data Terminal Ready. Dieses Signal wird vom Datenterminal an das Modem ausgegeben nd bedeutet, daß das Datenterminal aktiv und betriebsbereit ist, um mit dem Modem zu kommunizieren.

DCD/CD = Data Carrier Detect oder Carrier Detect. Dieses Signal zeigt an, daß die Modems der beiden Seiten über die Telefonleitung miteinander verbunden sind und Daten über diese Verbindung austauschen können.

RTS = Request To Send. Dieses Signal wird vom Datenterminal ausgegeben und bedeutet, daß das Terminal Daten übertragen möchte.

CTS = Clear To Send. Ist das Antwortsignal des Modems an das Datenterminal auf ein RTS hin und zeigt an, daß das Modem bereit ist die Daten vom Terminal aufzunehmen und auf die Leitung umzusetzen.

SIG GND = Signalmasse (signal ground). Diese Masse dient als Referenzpotential für alle Signale. Je nach Gerät kann das ein von der Gehäusemasse getrenntes Potential sein, oder auch mit ihr verbunden sein.

RI = Ring Indicator. Ist ein Signal vom Modem zum Datenterminal, das anzeigt, daß der Telefonanschluß von einem externen Teilnehmer angewählt wurde d.h. daß das Telefon klingelt. Je nach Anwendung wird nach einer bestimmten Anzahl von Klingelimpulsen "abgehoben" (ist im Modem einstellbar). Anschlußbelegungen:

(aus

formatting link

mehr auch hier:

formatting link
formatting link

Gruss Wolfgang

--
No reply to "From"! - Keine Antworten an das "From"
Keine privaten Mails! Ich lese die NGs, in denen ich schreibe.
Und wenn es doch sein muss, dann muss das Subjekt das Wort NGANTWORT enthalten.
Reply to
Wolfgang Gerber

Hallo Wolfgang,

Wolfgang Gerber schrieb: [RTS]

In welcher ernstzunehmenden "einschlägigen" Literatur steht denn das so?

Ein Indiz, dass die Beschreibung von Michael:

korrekt ist, ist die Implementation im Standard-Linux- Treiber für die serielle Schnittstelle. Dort wird RTS verwendet, um die Gegenstelle zu bremsen (Modul serial.c, Funktionen rs_throttle/rs_unthrottle).

Gruß Ernst

Reply to
Ernst Schwab

Es ist zwar nicht so gedacht, wird aber so gemacht. Die meisten Beschreibungen die ich kenne (durch die "offizielle" Beschreibung bin i= ch nie ganz durchgestiegen) legen genau das von Gerrit beschreibene Verhal= ten fest. Ob das diverse Modems waren, die ich mein eigen nannte oder auch SLIP-Verbindungen (im PC ist nur die Bedeutung von TxD, RxD und GND fes= t, alle anderen Signale reine Software). Somit w=E4re das wohl alles "exot= isch", oder? Klar, die Norm sagt was anderes. Nur n=FCtzt es wenig, sich an di= e Norm zu halten, wenn man hinterher die Software nicht dazu bewegen kann, mit= den vielen Signalen richtig umzugehen.

Zumindest um einen Daten=FCberlauf auf beiden Seiten bei hohen Baudrate= n zu verhindern ist die Signalbelegung wie Gerrit sie beschrieb die Richtige= , da beide Seiten ihre Empfangsbereitschaft (=3DPlatz im Puffer) signalisier= en k=F6nnen. Und man ist mit nur 5 Leitungen zwischen den beiden Ger=E4ten= "voll" dabei.

Nach der Norm vermutlich ja. Da aber auch 5 Leitungen gen=FCgen, spart = man den Rest weg. =20

In den heutigen Implementierungen: Eher Richtig.

Gr=FC=DFe J=FCrgen

Reply to
Juergen Beisert

Ernst Schwab schrieb:

In praktisch jeder, die nicht von irgendwelchen "halbwissenden" Hobbyfreaks gemacht wurde.

BTW: ich mach(t)e das Anbinden von seriellen Geräten beruflich seit ca. 1978. Angefangen mit 300/1200-Baud-Modems bzw. den erwähnten Nullmodemverbindungen.

Und auch schon damals gab es passende Literatur, Die zumindest korrekter war als das, was man heute auf vielen Webseiten findet.

hier geht es nicht um Indizien!

Das ist schlicht falsch!

Und du glaubst, daß Implementationen in Software, die -zig Jahre jünger als die serielle Schnittstelle selbst ist, das Maß der Dinge ist?

LOL!

Dann hast du entweder was nicht verstanden oder die Implementation ist schlecht/falsch dokumentiert oder schlicht falsch.

RTS war noch nie dazu da eine Gegenstelle zu bremsen!

Sondern um einer Gegenstelle (Modem) zu sagen, daß man senden möchte. Diese Gegenstelle gibt die Erlaubnis mit CTS.

Aber noch einmal erkläre ich das jetzt nicht!.

Lies doch einfach die Links, die ich genannt habe. Die sind, soweit ich das überflogen habe, inhaltlich koerrekt.

Gruss Wolfgang

--
No reply to "From"! - Keine Antworten an das "From"
Keine privaten Mails! Ich lese die NGs, in denen ich schreibe.
Und wenn es doch sein muss, dann muss das Subjekt das Wort NGANTWORT enthalten.
Reply to
Wolfgang Gerber

Juergen Beisert schrieb:

Es wird viel und oft gemurkst!

dann kennst du nur ziemlich viele falsche!

dann tue das bitte bevor du hier anfängst Falsches für richtig zu verkaufen

nein! Das ist nicht die Norm.

alle Modems, die den internationalen Standards genügen, arbeiten wie von mir zitiert!

Unsinn - ale anderen Signale sind genormt! Und bei einem dem PC-Standard von IBM entsprechendem PC auch so verwendet. Und nicht nur am PC.

Daß es Software gibt, die nur einen Teil der Hardwareleitungen verwendet, ist ein anderes Thema.

Minimal, also bei reinem Softwarehandshake, sind nur 3 Leitungen erfoderlich. Also nicht einmal RTS/CTS.

was wohl alles? Kannst du dich bitte konkret ausdrücken?

Was soll den das für eine unsinnige Argumentation sein?

jein - man kann das Pferd natürlich auch von hinten besteigen

Und im Nullmodemfall passt es aus dieser Sichtweise. Da ist der PC ja für die andere Seite das "Modem" Und muss sich ähnlich verhalten.

also gut - dann lassen wir den Spezialfal "Nullmodem" eben auch so stehen.

Wenn man sich auf den Nullmodemfall beschränkt.

Hier ging es aber um die grundsätzliche "Norm" und die originale Bedeutung der Signale und nicht deren "Vergewaltigung"

Gruss Wolfgang

--
No reply to "From"! - Keine Antworten an das "From"
Keine privaten Mails! Ich lese die NGs, in denen ich schreibe.
Und wenn es doch sein muss, dann muss das Subjekt das Wort NGANTWORT enthalten.
Reply to
Wolfgang Gerber

Die drücken sich alle um eine klare Aussage, weil:

RS232 entspricht einem US-Standard. Die internationale Version davon ist die ITU-T Norm V.24.

Diese sieht zunächst mal die Kopplung eines Datenendgerätes (PC) mit einer Datenübertragungseinrichtung (Modem) über die (25 pol.) Schnittstelle vor.

Die Signale gemäß diesem Standard gehen in die Richtung von dem, was Wolfgang sagt, nur noch etwas komplizierter, je nach abgehenden oder ankommendem Ruf.

ABER: Seit der Schaffung des Standards ist einige Zeit vergangen (ca. 40 Jahre ?! ), seitdem sieht die Welt anders aus.

Als erstes ist der Stecker von 25 Pins auf 9 verkleinert worden, das hat IBM ganz einfach so gemacht.

Dann sind Postmodems heute auch nicht mehr der Hit, die Anwendungen sind ganz andere.

Und deshalb macht es heute eigentlich jeder, wie er lustig ist, der eine nimmt RTS/CTS für das Handshake, der andere DSR/DTR, vielleicht noch Kombinationen dieser Signale und das alles mit X-On/X-Off kombiniert, mal als Datenend- oder übertragungseinrichtung belegt, besonders nett sind die total verpolten Stecker :-|

Jedes bessere PC-Terminalprogramm hat deshalb eine Unmenge an Einstellmöglichkeiten für die Schnittstelle.

Tja, und das ist es dann mit dem Standard in der Praxis gewesen, man kann eigentlich nur sagen:

- manche Schnittstellen haben mehr als die beiden Datenleitungen, aber nicht unbedingt alle Leitungen des V.24 Standards und auch nicht der 9 pol. IBM Version.

- die lassen sich in Software ansteuern und was da ist, wird zweckdienlich genommen.

Ich empfehle daher etwas Marktrecherche für die jeweilige Anwendung, sprich: Was machen die Gegenstellen, was macht der Wettbewerb. Mit einem sturen "ich mach nur V.24 exakt nach Standard" kommt man da heute nicht mehr weit.

Und vielleicht stellt man dann ja auch fest, dass man lieber gleich USB oder LAN hernehmen sollte.

Gruß Oliver

--
Oliver Bartels + Erding, Germany + obartels@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
Reply to
Oliver Bartels
*Juergen Beisert* wrote on Thu, 06-04-20 09:40:

Eben das ist der Punkt. Als Indiz dafür nehmen wir einfach einmal ein Nullmodemkabel. In der häufigsten Ausführung sind dort u.a. genau CTS und RTS gekreuzt und genau so funktioniert es mit gängiger Hard- und Software problemlos. Daß die eigentliche Norm für die serioelle Schnittstelle mehr aktive Leitungen vorsah als für die parallele ist auch bekannt, aber spätestens mit dem IBM-AT und der neunpoligen Buchse historisch.

Reply to
Axel Berger

Hallo Wolfgang,

Wolfgang Gerber schrieb:

seitdem ist viel passiert. Zum Beispiel ist 1998 die ITU-T Recommendation V.43 erschienen.

" Use of circuit 133 - Ready for receiving The DTE not-ready condition is indicated by turning OFF circuit 133, and is cleared by turning circuit 133 ON. This method should be the preferred one as it is unambiguous and is applicable to any kind of data communication. It may be assumed that most DCEs recognize with only a short delay the changed condition on circuit 133, and will act accordingly. The remaining buffer size in the DTE may therefore be kept small. This method is not applicable for half-duplex protocols because circuit

105 will not be available at the DCE. The DCE will always operate in the constant carrier mode. NOTE - In many publications, circuit 133 (Ready for receiving) is, incorrectly, referred to as circuit 105 (Request to send). These two interchange circuits are significantly different in their respective definitions and functions. The source for confusion may be that, due to a lack of free poles on the interface connectors standardized in ISO/IEC 2110 and ISO/IEC 11569, both interchange circuits are allocated to the same pole (i.e. pole 4) of these connectors. "

Der eigentliche Grund für viele Missverständnisse ist es also, das Signal an Pin 4 des 25poligen Steckers RTS/105 zu nennen, obwohl es in der Funktion RFR/133 verwendet wird.

Siehe auch den Hinweis in der Wikipedia: " Obwohl seit mindestens 10 Jahren wichtige Normen im Zusammenhang mit Datenflusskontrolle die Leitung RTS im Zusammenhang mit neueren Duplex-Modems gegen RFR austauschen, wird in Handbüchern von einfachen Modems immer noch RTS/CTS beschrieben. (

formatting link
) "

Gruß Ernst

Reply to
Ernst Schwab

Moin!

Genau.

Soll? Und wenn er gar keine Daten zum Senden hat?

Wen interessierts, ob der PC senden möchte? Was soll das Modem denn dann machen? Seinen FIFO-Inhalt auf den Müll werfen, damit Platz ist?

Dazu brauchts doch ein RTS, das kann das Modem dem PC auch so sagen, die Leitung wird ja für nix anderes benutzt.

Ich sehe hier nirgends ein Signal, das dem Modem sagt, daß der PC Platz in seinem FIFO hat, es sei denn, RTS wurde falsch übersetzt.

So sagts auch:

| Request to Send | "Sendeanforderung"; Eine logische Eins an diesem Ausgang | signalisiert der Gegenstelle, dass sie Daten Senden kann

formatting link

Und:

| Datenflusskontrolle durch RFR/CTS (oft fälschlich als RTS/CTS | bezeichnet) | * Das Übertragungsgerät muss einen Sendespeicher von mindestens 2000 | Byte haben. Ist dieser Speicher zur Hälfte gefüllt, soll es Leitung | CTS ausschalten. Die Endeinrichtung sollte daraufhin so schnell wie | möglich das Senden von Daten unterbrechen, bis CTS wieder | eingeschaltet wird. | * Die Endeinrichtung schaltet RFR aus, wenn sie zum Datenempfang | momentan nicht bereit ist. Das Übertragungsgerät gibt die | Empfangsdaten des entfernten Gerätes auf RXD erst weiter, wenn RFR | wieder aktiv ist.

formatting link

Gruß, Michael.

Reply to
Michael Eggert

t

Du wirst schon recht damit haben, nur wird RTS heute trotzdem so genutz= t. Und diese Art der Nutzung ist auch leichter zu verstehen und f=FCr die meisten Anforderung heute vollkommen ausreichend. Wenn man bedenkt, warum man f=FCr eine Punkt-zu-Punkt-Verbindung mit ei= n paar hundert Bits pro Sekunde f=FCnf oder noch mehr Leitungen brauchen soll,= ist das auch verst=E4ndlich. Da realisieren andere Schnittstellen mit wenig= er Leitungen gleich Busse mit Baumstrukturen, Multimaster-F=E4higkeiten un= d das auch gleich bei ein paar hundert Megabit... Vermutlich ist dieses Durcheinander in der Signalnutzung auch der Grund= , warum man an dieser Primitiv-Schnittstelle immer erst mal Ewigkeiten rumstellen und konfigurieren muss, bis das Drecksding endlich l=E4uft..= .

hte.

Hmmm, habe gerade mal nachgesehen: Mein US-Robitics Sportster 28800 aus= dem Jahr 199x reagiert auf das RTS des Rechners mit Stoppen oder Weitersend= en von Daten an den Rechner - wenn man Hardware-Flu=DFkontrolle aktiviert.= Wird also offensichtlich schon l=E4nger so gemacht, wie es die Norm nicht vorgesehen hat. Und offensichtlich kam auch der Windows-95/98-Serial-Treiber damit zurecht und der von Linux auch.

Wir haben's ja verstanden...Norm gegen Real-Live.

Gr=FC=DFe J=FCrgen

Reply to
Juergen Beisert

Oliver Bartels schrieb:

----

Selbst HP ;-(

der eine nimmt RTS/CTS für das Handshake, der andere

Diese Einstellunge reichen bisweilen nicht. Wenn zB bei HP-Plottern DTR(Plotter) mit CTS(PC) verbunden werden muß. Hat mich etliche Zeit des Suchens und einige Unmutsäußerungen der ausdrucksstarken Richtung gekostet.

Lan war damals den "Machern" zu teuer. Leider!

-- gruß hdw

Reply to
horst-d.winzler

Dummerweise sehen das Modems gerne als Aufforderung die Leitung zu kappen. Unschoen wenn man nur eine kurze Pause in der Uebertragung brauchte...

'Request' steht aber fuer 'Aufforderung' und nicht fuer 'Wunsch'. Mit dem Signal wird der anderen Seite also bedeutet, dass sie senden darf.

Gerrit

Reply to
Gerrit Heitsch

Interessant... Denn DTR muesste am Plotter ein Eingang sein und beim PC ist CTS ein Eingang. Zwei Eingaenge gegeneinander bringt aber nicht wirklich viel. Oder ist beim Plotter DTR ein Ausgang?

Gerrit

Reply to
Gerrit Heitsch

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.