Die serielle Schnittstelle in der MSR - Technik In der Mess- Steuer- und Regelungstechnik (MSR - Technik) werden für die Ansteuerung von Messgeräten oft serielle Schnittstellen verwendet. Aus leidvoller Erfahrung wissen wir, dass die Beschaltung solcher Schnittstellen nicht immer ganz einfach ist. Manche Geräte verwenden 9-polige Sub-D Stecker, andere wiederum 25-polige, manche Geräte haben Steckermännchen montiert, andere jedoch Steckerweibchen, für die Verbindung von Geräten benötigen wir manchmal ausgekreuzte und manchmal nicht ausgekreuzte Verbindungskabel. In der MSR Technik haben sich einige sinnvolle Konventionen entwickelt, die die Arbeit mit der Schnittstelle sehr erleichtern und Geräte und PCs leichter zusammenschaltbar machen. Speziell bei Neuentwicklungen sollten diese Konventionen beachtet werden. Im Folgenden sind einige dieser Konventionen und auch einige andere nützliche Hinweise angegeben. Die Steckverbindung In der MSR-Technik werden praktisch ausschließlich nur mehr 9-polige Sub-D Steckverbindungen verwendet (keine 25-poligen), und zwar am PC und an den Messgeräten Steckermännchen (male connectors) an beiden Enden des Verbindungskabel Steckerweibchen (female connectors). 1 2 3 4 5 6 7 8 9 Abb. 1: 9-poliger Sub-D - Stecker Das Verbindungskabel Als Verbindungskabel werden ausschließlich ausgekreuzte Kabel, sogenannte Nullmodemkabel, mit Steckerweibchen an beiden Enden verwendet. Dies hat den Vorteil, dass wir mit dem selben Kabel Geräte in verschiedenen Kombinationen zusammenschalten können, z.b. PC mit PC, PC mit Messgerät, PC mit Drucker und Messgerät mit Drucker. Es werden dabei in jeder Kombination die Ausgangspins des einen Geräts mit den entsprechenden Eingangspins des anderen Geräts verbunden und umgekehrt. Die serielle Schnittstelle in der MSR.doc 1/5 Vanek, 2016.04.26
RXD 2 RFR 7 CTS 8 7 RFR Ready for receiving (RTS) DTR 4 RLSD 1 DSR 6 RI 9 NC NC 9 RI Ring indicator Abb. 2: Schaltung eines Verbindungskabels mit Angabe der Pins und Bezeichnung der Leitungen Beachten Sie: Zwei Leitungen der Schnittstelle hatten früher andere Namen: RFR Ready for receiving (früher: RTS Request To Send) RLSD Received line signal detector (früher: DCD Data Carrier Detect) Falls Ihr Verbindungskabel zu kurz ist und Sie ein zusätzliches Verlängerungskabel verwenden wollen, dann darf dieses Verlängerungskabel nicht ausgekreuzt sein und muss an einem Ende ein Steckermännchen und am anderen ein Steckerweibchen haben. Manche im Handel erhältliche Kabel besitzen die folgende von der Norm abweichende Schaltung: RXD 2 RFR 7 7 RFR Ready for receiving (RTS) CTS 8 DTR 4 RLSD 1 DSR 6 RI 9 NC NC 9 RI Ring indicator Abb. 2a: Einige käufliche Verbindungskabeln besitzen diese Schaltung Die serielle Schnittstelle in der MSR.doc 2/5 Vanek, 2016.04.26
Die Spannungspegel Der PC wird an seinen Ausgängen (TXD, RFR, DTR) üblicherweise folgende Spannungen liefern: HIGH: +8 bis +12 Volt LOW: -8 bis -12 Volt Die Eingänge des PCs (RXD, CTS, RLSD, DSR, RI) sind so gebaut, dass ihr Umschaltpunkt zwischen HIGH und LOW nicht genau bei 0 Volt liegt, sondern etwas ins Positive verschoben ist. Dadurch wird erreicht, dass die Eingänge auch mit TTL- Pegel betrieben werden können. Wir können davon ausgehen, dass die Eingänge des PCs folgende Spannungen eindeutig zuordnen können: HIGH: > +2,0 Volt LOW: < +0,8 Volt Dies hat den Vorteil, dass ein an den PC angeschlossenes Gerät nicht unbedingt eine negative Betriebsspannung haben muss, eine einzelne Versorgungsspannung von +5V genügt zur Not auch, speziell wenn die Baudrate nicht zu groß und das Verbindungskabel nicht zu lang ist. Positive oder negative Logik? Die Daten (RXD, TXD) werden mit negativer Logik übertragen, die Steuersignale auf allen anderen Leitungen (RFR, CTS, DTR, RLSD, DSR, RI) in positiver Logik. Die serielle Schnittstelle eines PIC-µP verwendet positive Logik! Vergessen Sie daher nicht auf je einen Inverter (oder invertierenden Pegelkonverter) in den beiden Datenleitungen, und zwar in der jeweils richtigen Richtung! Wozu dienen die Leitungen RFR CTS? Diese Leitungen dienen zur Steuerung des Datenflusses (hardware handshake, hard flow control). Das jeweils empfangende Gerät wird den RFR - Ausgang auf HIGH setzen, solange es noch ausreichend Platz im Input Buffer hat, und auf LOW, sobald der Input Buffer voll ist, oder auch kurz davor. Das jeweils sendende Gerät wird bevor es ein Datenbyte abschickt überprüfen, ob der CTS - Eingang HIGH ist. Ist der CTS - Eingang LOW, darf es das Datenbyte noch nicht abschicken, sondern muss auf ein HIGH Signal warten. Durch diese Steuerung des Datenflusses kann ein Überlaufen des Input Buffers verhindert und somit ein Datenverlust vermieden werden. Wozu dienen die Leitungen DTR DSR? Die serielle Schnittstelle in der MSR.doc 3/5 Vanek, 2016.04.26
Der PC setzt den DTR Ausgang auf HIGH sobald der entsprechende COM Port (z.b. COM1, COM2...) von der auf dem PC laufenden Software geöffnet wird. Das externe Gerät kann den DSR Eingang abfragen diese Information auswerten oder anzeigen. Das externe Gerät wird den DTR Ausgang auf HIGH setzen, sobald es funktionsbereit ist. Die am PC laufende Software kann den DSR Eingang abfragen und gegebenenfalls die Bedienungsperson darauf hinweisen, dass das externe Gerät möglicherweise nicht eingeschaltet oder die Verbindungsleitung nicht angesteckt ist. In vielen Fällen werden diese Leitungen nicht wirklich verwendet, d.h. die Geräte setzen die DTR Ausgänge auf HIGH und ignorieren die DSR Eingänge. Wozu dienen die Leitungen RLSD und RI? Diese Leitungen werden nur dann genützt, wenn der PC mit einem Modem verbunden wird. Bei der Ansteuerung von Messgeräten haben sie keine Funktion. RSLD wird üblicherweise in den Steckern des Verbindungskabels mit DSR verbunden, RI bleibt unbeschaltet. Was mache ich, wenn das externe Gerät keine Steuerleitungen besitzt? In diesem Fall werden dem PC die Handshake - Signale des externen Geräts durch folgende Schaltung vorgetäuscht: Externes Gerät: PC: RXD 2 NC 7 RFR Ready for receiving (RTS) NC 9 RI Ring indicator Abb. 3: Verbindungskabel zwischen einem Gerät ohne Hardware Datenflusssteuerung und dem PC Sobald der PC seinen DTR Ausgang auf HIGH setzt, bekommt er durch die im Stecker eingebauten Brücken auch auf seinen CTS und DSR Eingängen ein HIGH Signal, so als würde das externe Gerät seine RFR - und DTR - Ausgänge auf HIGH setzen. Da diese Signale nur vorgetäuscht sind muss durch andere Maßnahmen Die serielle Schnittstelle in der MSR.doc 4/5 Vanek, 2016.04.26
sichergestellt werden, dass die Input Buffer beider Geräte nicht überlaufen, z.b. Daten langsam oder in kleinen Paketen senden, Software Handshake (XON, XOFF) verwenden. Falls ein älteres Gerät doch noch einen 25-poligen Stecker hat, wie ist dieser beschaltet? In der folgenden Tabelle sind die Beschaltungen des 9-poligen und des 25-poligen Steckers gegenübergestellt: Bezeichnung 9-polig 25-polig RXD Eingang 2 3 TXD Ausgang 3 2 RFR Ausgang (RTS) 7 4 CTS Eingang 8 5 GND 5 7 1 DTR Ausgang 4 20 RLSD Eingang (DCD) 1 8 DSR Eingang 6 6 RI Eingang 9 22 Hinweis 1: Der 25-polige Stecker hat im Gegensatz zum 9-poligen zwei Masseanschlüsse, nämlich Signal Ground SG (Pin 7) und Frame Ground FG (Pin 1). In den meisten Fällen wird es sinnvoll sein, diese beiden Pins im 25-poligen Stecker mit einer Drahtbrücke parallel zu schalten. Hinweis 2: Manchmal sind TXD mit RXD, RFR mit CTS und DTR mit DSR vertauscht angeschlossen. Mit einem Voltmeter kann leicht festgestellt werden, welche Pins Eingänge und welche Ausgänge sind. Falls die Anschlüsse bereits im Stecker vertaucht angeschlossen sind, dann ist ein nicht ausgekreuztes Kabel zu verwenden. Die serielle Schnittstelle in der MSR.doc 5/5 Vanek, 2016.04.26