2 Die RS232-Schnittstelle


Jede Arbeit mit dem PC ist mit der Übertragung von Daten verbunden. Daten werden zwischen Prozessor und Speichermedien, aber auch von der Tastatur, zum Bildschirm und zum Drucker übertragen. Während intern heute meist 16 oder 32 Datenbits parallel auf ebensovielen Datenleitungen (32-Bit-Datenbus) übertragen werden, findet die Übertragung zum Drucker üblicherweise über eine 8-Bit-Parallelschnittstelle statt. Dazu benötigt man acht Datenleitungen und einige Hilfsleitungen. Die parallele Übertragung gestattet sehr hohe Übertragungsraten, ist aber auch mit einem aufwendigeren Kabel verbunden. Die Länge des Druckerkabels ist auf wenige Meter begrenzt, da sonst mit Störungen gerechnet werden muss.

 

Eine serielle Datenverbindung verwendet eine einzige Leitung, über die alle Datenbits nacheinander gesendet werden. Die Übertragungsgeschwindigkeit lässt sich reduzieren, um auch bei langen Leitungen eine gute Störsicherheit zu gewährleisten. So kann man etwa über Telefonleitungen unter Verwendung eines Modems Daten über hunderte von Kilometern übertragen, wobei das Modem zur Signalanpassung an die Telefonleitung erforderlich ist.

 

Bei der seriellen Datenübertragung werden die logischen Pegel der Sendeleitung entsprechend den einzelnen Datenbits gesetzt bzw. gelöscht. Ein Empfänger dieser Daten muss in die Lage versetzt werden, diese einzelnen Bits wieder richtig zusammenzusetzen, und das auch dann, wenn nacheinander gleiche Pegel gesendet werden, also kein Pegelwechsel auf der Datenleitung stattfindet. Dazu gibt es prinzipiell zwei Verfahren:

 

- Eine synchrone oder getaktete serielle Schnittstelle verwendet zusätzlich zur Datenleitung eine Taktleitung, auf der für jedes Datenbit ein Impuls gesendet wird, um dem Empfänger ein gültiges Datenbit anzuzeigen.

 

- Die im PC verwendete asynchrone serielle Schnittstelle kommt ohne eine Taktleitung aus. Die einzelnen Datenbits werden in Blöcken von z.B. 8 Datenbits (1 Byte) und in einem genau definierten Zeitraster übertragen. Vor dem ersten Datenbit wird ein Startbit gesendet, um den Beginn der Datenübertragung zu kennzeichnen. Nach erfolgter Datenübertragung folgt ein Stopbit, das in Übertragungspausen beliebig verlängert werden kann. Der Empfänger muss also das Startbit an seinem Pegelwechsel erkennen und dann in einem vereinbarten Zeitraster die einzelnen Datenbits einlesen.

 

 

Abb. 2.1 Oszillogramm eines seriell gesendeten Zeichens "Y" (ASCII 89) mit 1200 Baud

 

Abb. 2.1 zeigt den Pegelverlauf für die Übertragung eines Bytes. Die Übertragungsgeschwindigkeit beträgt 1200 Bit/Sekunde (1200 Baud). Für jedes Datenbit und für das Startbit steht eine Zeit von 833,3 µs zur Verfügung. Die Übertragung der Datenbits beginnt mit dem niedrigstwertigen Bit und endet mit dem höchstwertigen Bit. Üblich ist die Verwendung der durch die RS232-Norm definierten Spannungspegel von -12V für logisch Eins ("Mark") und +12V ("Space") für logisch Null. Die Pegel sind also invertiert. Das Startbit stellt logisch Null dar, während das Stopbit mit logisch Eins den Ruhezustand der Datenleitung bildet. Es muss mindestens eine Bitlänge aufweisen, man kann jedoch auch eine Dauer von zwei Bitlängen vereinbaren.

 

Sender und Empfänger einer Übertragungsstrecke müssen jeweils mit gleichen Übertragungsparametern arbeiten. Neben der Übertragungsgeschwindigkeit (Baudrate) gehört dazu die Zeichenlänge (8 Bits, 7 Bits oder 5 Bits für spezielle Anwendungen) und eine Vereinbarung über die Aussendung eines Paritätsbits zum Erkennen von Übertragungsfehlern.

 

Die einzustellenden Schnittstellenparameter sind also:

 

- Baudrate: Übliche Werte sind: 50, 75, 110, 300, 600, 1200,   2400, 4800, 9600, 19200, 38400 Baud.

- Zeichenlänge: 7 Bits oder 8 Bits. Die meisten Geräte können auch mit 5 oder 6 Bits arbeiten, um eine Kompatibilität mit Fernschreibern zu gewährleisten.

- Anzahl der Stopbits: Meist können ein oder zwei Stopbits gewählt werden. Bei acht Datenbits mit zusätzlichem Paritätsbit ist jedoch oft nur ein Stopbit erlaubt.

- Paritätsbit: Dem Zeichen kann ein gerades, ein ungerades, ein immer gleichbleibendes Mark- oder Space-Bit oder kein Paritätsbit angefügt werden. Ein gerades Paritätsbit ist dann 1, wenn die Summe aller übertragenen Bits gerade ist.

 

 

2.1 Die serielle Schnittstelle des PCs

 

Jeder PC verfügt über mindestens eine serielle Schnittstelle. Man erkennt sie am 25- oder 9-poligen Sub-D-Stecker, im Gegensatz zur 25-poligen Sub-D-Buchse der Parallelschnittstelle. Sind mehrere serielle Schnittstellen vorhanden, dann werden sie als COM1, COM2, COM3 und COM4 bezeichnet.

 

Eine serielle Schnittstelle benötigt mindestens eine Masseleitung (GND) und eine Sendeleitung (TXD). Um einen Datenaustausch in beide Richtungen zu ermöglichen, ist als zweite Datenleitung die Empfangsleitung (RXD) vorgesehen. Darüber hinaus gibt es noch sechs weitere Leitungen, die üblicherweise als Handshake-Leitungen bezeichnet werden, weil sie eine Rolle bei der Vorbereitung und Quittierung von Datenübertragungen spielen. Unter diesen Hilfsleitungen befinden sich zwei Ausgänge (DTR und RTS) und vier Eingänge (CTS, DSR, DCD und RI). Die einfache serielle Datenübertragung kommt meist ganz ohne diese Leitungen aus. Sie lassen sie sich aber andererseits durch direkte Ansteuerung vielseitig zur direkten Hardwaresteuerung einsetzen.

 

Die folgende Tabelle zeigt alle Leitungen mit den Pinbelegungen bei 25poligen und 9poligen Steckern.

 

Pin

(25-pol.)

Pin

(9-pol.)

Ein/ Ausgang

Bezeichnung

Funktion

2

3

Aus

TXD (Transmit Data)

Sendedaten

3

2

Ein

RXD  (Receive Data)

Empfangsdaten

4

7

Aus

RTS  (Request To Send)

Sendeteil einschalten

5

8

Ein

CTS  (Clear To Send)

Sendebereitschaft

6

6

Ein

DSR  (Data Set Ready)

Betriebsbereitschaft

7

5

 

GND  (Ground)

Betriebserde

8

1

Ein

DCD  (Data Carrier Derect)

Empfangssignalpegel

20

4

Aus

DTR  (Data Terminal Ready)

Endgerät betriebsbereit

22

9

Ein

RI  (Ring Indicator)

Ankommender Ruf

 

weiter
zurück