780 likes | 1.7k Views
Die serielle RS232 C Schnittstelle. Basis-Definitionen. Baud Anzahl der zu übertragenden Signale pro Sekunde Synchrone Datenübertragung Sender und Empfänger werden mit dem gleichen Takt synchronisiert, eine Taktleitung ist notwendig. Asynchrone Datenübertragung
E N D
Basis-Definitionen • Baud • Anzahl der zu übertragenden Signale pro Sekunde • Synchrone Datenübertragung • Sender und Empfänger werden mit dem gleichen Takt synchronisiert, eine Taktleitung ist notwendig. • Asynchrone Datenübertragung • Sender und Empfänger verfügen über eigene Taktgeneratoren. Synchronisation bei der Übertragung durch ein Startbit. • Simplex Übertragung • Kommunikation nur in einer Richtung (Rundfunk). • Half-duplex Übertragung • Bidirektionale Kommunikation, aber nicht gleichzeitig (C-Funk). • Full-duplex Übertragung • Bidirektionale Kommunikation zur gleichen Zeit (Telefon).
Grundlegendes • Normung: • RS232C in Amerika, V24 in Deutschland • Aufgaben der Normung • Elektrische Kennwerte • Anschlußbelegung • Datenorganisation zwischen einer DatenEndEinrichtung (DEE)(engl. Data Terminal Equipment, DTE) und einer DatenÜbertragungsEinrichtung (DÜE)(engl. Data Circuitterminal Equipment DCE) • Festlegung des Datenrahmens (Frame)Protokoll der Datenübertragung
Beispiel einer RS232-Verbindung Englische Bezeichnung DEE DÜE Daten-End-Einrichtung Deutsche Bezeichnung Daten-Übertragungs-Einrichtung
Prinzipielle Datenübertragung Daten-Netz z.B. Telekom RS232-Verbindung RS232-Verbindung 2 Drahtleitungz.B. ISDN T-Net RechnerDEE ModemDÜE ModemDÜE RechnerDEE
Prinzipielle Funktion • Ein Datenwort wird bitweise und asynchron übertragen. • Das niederwertigste Bit (LSB, least significant Bit) vom Datenwort wird nach dem Startbit zuerst gesendet. • Eine Übertragung besteht aus dem Startbit, gefolgt vom Datenwort und den Stoppbits. • Ein Paritätsbit – zur Kontrolle der Übertragung – kann zusätzlich mitübertragen werden (Even- oder Odd-Parity). LSB
0 Seriell 1 1 0 0 1 1 Parallel 1 Serieller Datenempfänger ist ein Seriell-Parallel-Wandler 0 1 1 0 0 1 1 1 Parallele Ausgabe Serielle Eingabe
0 Seriell 1 1 0 0 1 1 Parallel 1 Serieller Datensender ist ein Parallel-Seriell-Wandler 0 1 1 0 0 1 1 1 Parallele Eingabe Serielle Ausgabe
Asynchrone Übertragung • Jede Schnittstelle besitzt einen eigenen Quarzgenerator. • Schnittstellen, die miteinander kommunizieren, müssen auf gleiche Taktfrequenz eingestellt werden. • Die Taktgeneratoren sind nicht synchronisiert, sie laufen unabhängig zueinander (asynchron) aber mit gleicher Frequenz. • Die Datenübertragung kann zu jedem beliebigen Zeitpunkt beginnen, synchronisiert wird der Empfänger über das Startbit.
Handshake (data flow control) • Die kommunizierenden Geräten benötigen vor der Übertragung eines Datenwortes folgende Informationen: • Sender teilt Empfänger mit, dass ein Datenwort übertragen werden soll. • Empfänger teilt Sender mit, dass er bereit ist, ein Datenwort zu empfangen. • Übertragung wird mittels Startbit eingeleitet und synchronisiert. • Empfänger teilt dem Sender mit, wenn keine Daten mehr aufgenommen werden können. • Die Mitteilungen können entweder durch • Hardware-Handshake über zusätzliche Leitungen (z. B. RTS und CTS) oder durch • Software-Handshake über Steuerwörter (z. B. XOn und XOff) durchgeführt werden.
Einstellung:Übertragungsgeschwindigkeit • Ein Mass der Übertragungsgeschwindigkeit • Baudrate = Signale pro sec (Einheit Baud)(Signale sind die Daten- und die Steuerbits) • Bitrate = Bit pro sec (Einheit BPS) (effektive Bitübertragung pro Sekunde, nur die Datenbits) • Zeichenrate = Zeichen / sec • Übliche Baudraten : • 300, 600, 1200, 2400, 4800, 9600, 19200,38400, 57600, 115200 Baud • Moderne RS232-Bausteine – z.B. UART 16550 – lassen eine Bitrate bis zu 192 kBit/sec zu.
Weitere Einstellungen • Anzahl der Datenbits pro Datenwort • Einstellung von 4 bis 8 Bits sind möglich • heutiger Standard: 8 Bit pro Datenwort • Paritätsbit ( 1Paritybit pro Datenwort ) • Even Parity: gerade Parität Die Anzahl der Einsen im Datenwort mit dem Paritätsbit ist gerade. Das Paritätsbit wird entsprechend gesetzt. • Odd Parity: ungerade Parität (Anzahl der Einsen im Datenwort mit dem Paritätsbit ist ungerade. • None Parity ( kein Paritätsbit ) • Anzahl der Stopp-Bits • 1, 1,5 oder 2 Stopp-Bits Beispiel: 8n1: 8 Datenbits / keine Parität / 1 Stoppbit
Zuordnung:Logik / Spannung / Name +15V +3V -3V -15V Aufpassen: positive Spannung bei Logisch Null
Pegelzuordnung: TTL und RS232-Signale Logik Ausgänge Eingänge • TTL 0 0V ... 0,4V 0V ... 0,8V 1 2,4V ... 5,0V 2V ... 5,0V • RS-232Space 0 5V ... 15V 3V ... 15VMark 1 -5V ... –15V - 3V ... –15V (oft gilt : +1V ... –15V) • Ein RS232-Ausgang liefert maximal einen Strom von Iout =20mA.
„1“ 5V TTL „0“ 0V Space „0“ 15V RS232 0V Mark „1“ -15V Abtastung Signalpegel bei einer Übertragung Einstellung:7 Bit, Odd Parität2 Stopp-Bits 7 Bit-Datenwort 1 0 1 1 0 1 1 (91 5BH)
25 poliger SUB-D-Stecker für DEE Male (männlich) Pin 1 GND ist die Abschirmung des Kabels Pin 7 GND ist die 0Volt der Spannungsversorgung Pin-Ansicht von der Unterseite
9 poliger SUB-D-Stecker für DEE Male (männlich) Pin-Ansicht von der Unterseite
Bezeichn. deutsch englisch GND Signalerde signal ground TxD Sendedaten transmit data RxD Empfangsdaten receive data RTS Sendeteil einschalten request to send CTS Sendebereitschaft clear to send DSR Betriebsbereitschaft data set ready DCD Empfangssignalpegel data carrier detect DTR Endgerät betriebsbereit data terminal ready RI ankommender Ruf ring indicator Signalnamen
Signalbeschreibung der Leitungen für die Vollduplex-Übertragung • TxD (transmit data, Pin 2/3 Ausgang) • DEE sendet über TxD die Daten zum DÜE. • RxD (receive data, Pin 3/2 Eingang) • DEE empfängt die Daten vom DÜE • GND (Signal-Ground, Pin 7/5 ) • Gemeinsamer Signalground der beiden Geräte (gemeinsames Bezugspotenzial) • Die Pinbelegung bezieht sich auf DEE. • Pin x/y : x für 25 poligen / y für 9 poligen Stecker Die Leitungen TxD, RxD, GND sind immer notwendig.Vollduplex-Übertragung durch TxD und RxD.
Signalbeschreibung der Daten-Handshake-Leitungen • RTS(request to send, Pin 4/7, Ausgang) • DEE informiert DÜE , dass DEE Daten übertragen will. • CTS (clear to send, Pin 5/8, Eingang) • DÜE antwortet auf das RTS-Signal mit der Signalbereitschaftsmeldung. DEE beginnt dann mit der Ausgabe der Daten. RTS und CTS sind für die Übertragung eines Datenwortes zuständig.
Signalbeschreibung der Geräte-Handshake-Leitungen • DTR (data terminal ready, Pin 20/4 Ausgang) • DEE teilt DÜE seine Betriebsbereitschaft mit. DÜE muss die Verbindung zur Gegenstation herstellen. • DSR (data set ready, Pin 6/6 Eingang) • DEE erhält die Mitteilung, dass DÜE eingeschaltet ist. Die Verbindung mit der Gegenstation ist hergestellt. DTR und DSR haben die Aufgaben, dem anderen Gerät mitzuteilen, dass es eingeschaltet ist und bereit ist, Datenübertragung durchzuführen.
Signalbeschreibung der Modem-Handshake-Leitungen • DCD (data carrier detect, Pin 8/1, Eingang) • An diesem Signal erkennt DEE, dass DÜE von der Gegenstation gültige Signale mit ausreichendem Pegel empfängt. DCD wird benutzt, um den Empfänger (DEE) zu sperren und damit das Einlesen falscher Daten zu unterbinden, wenn DÜE die Signale der Gegenstation nicht deuten kann. • RI (ring indicator, Pin 22/9, Eingang) • Das ist die Telefonklingel, mit der DÜE DEE bekannt gibt, dass eine Gegenstation mit ihm Verbindung aufnehmen will. Die beiden Signale sind nur bei Modembetrieb nicht bei Rechner-Rechner-Kopplung notwendig
Verbindung zwischen DEE und DÜE z. B. Kabel 1:1 für Computer - Modem - Verbindung Buchse 25 polig Stecker DEE DÜE (Ground)
Software-Handshake XOn-XOff • Der empfängergesteuerte Ablauf bei demXOn-XOff-Protokoll: • Wenn der Empfänger bereit ist, Daten aufzunehmen, sendet er über seine Sendeleitung das Zeichen XOn (11H). • Danach nimmt der Empfänger über seine Empfangsleitung solange Daten auf, bis sein Datenpuffer gefüllt ist. • Der Empfänger teilt dies dem Sender mit dem Zeichen XOff (13H) mit. • Der Sender unterbricht sofort die Datenübertragung. • Der Sender wartet, bis der Empfänger die Daten verarbeitet hat. • Der Empfänger teilt dem Sender mit Senden von XOn mit, dass der Sender neue Daten übermitteln kann.
TxD 2 RxD 3 GND 7 2 TxD 3 RxD 7 GND Dreileiterverbindung • Bei Software-Handshake (XOn - XOff) genügt eine Dreileiterverbindung. • Beispiel: Datenübertragung zwischen 2 Endgeräten z.B. 2 Computern mit 25 pol. SUB D-Steckern (DEE) In den Steckern können noch folgende Brücken angebracht werden: DTR – DSR – DCD (20-6-8) und RTS – CTS (4-5)
Computer-Computer Verbindung:Nullmodem-Kabel SUB-D 25 auf SUB-D 25
Verdrahtungsbeispiel eines Nullmodem-Kabels Aufpassen: Nicht alle Nullmodem-Kabel sind nach diesen Angaben verdrahtet..
Computer-Computer Verbindung:Nullmodem-Kabel SUB-D 9 auf SUB-D 9
Der Teststecker • Mit dem Teststecker können serielle Schnittstelle und deren Kabel auf ihre Funktionfähigkeit mit spezieller Software kontrolliert werden. • Die notwendigen Verbindungen bei • 25 - polige Buchse • ( 2 – 3 ) ( 4 – 5 ) ( 6 – 8 – 20 ) • 9 - polige Buchse • ( 2 – 3 ) ( 7 – 8 ) ( 1 – 4 – 6 ) Verbindet man Pin2/3 über einem 1K-Widerstand und einem hochohmigen Lautsprecher (Piezo) mit GND, hört man beim Testen die Übertragung (akustische Kontrolle).
Aufgabe • Der Buchstabe E (45H) soll übertragen werden. Initialisierung der Schnittstelle :9600Baud, 8 Datenbits, gerade Parität, 2 Stoppbits. • Wie lange benötigt ein Bit für die Übertragung? • Wie lange benötigt ein Zeichen für die Übertragung? • Wie hoch ist die Zeichenrate (Zeichen pro Sekunde)? • Wie hoch ist die Bitrate (Zeichen pro Sekunde)? • Skizzieren Sie den zeitlichen Verlauf der Spannung für TTL- und RS232-Pegel auf der Sendeleitung? • Wie viele Zeichen pro Sekunde kann man bei 19200 Baud übertragen?
COM-Einstellungen unter Win9x Sender und Empfänger müssen identische Einstellungen haben, sonst funktioniert die Übertragung nicht. Aufgabe:Schauen Sie sich im Gerätemanager die Einstellungen einer seriellen Schnittstelle (COM1 oder COM2) an. Erläutern Sie alle Einstellungsmöglichkeiten.
Aufgaben mit Hyperterminal • Verbinden Sie 2 Rechner mit einem Nullmodemkabel. • Starten Sie eine neue Verbindung (beliebiger Namen eingeben), bei Verbindung über COMx auswählen und auf 9600Bd und 8n1 einstellen. • Kontrollieren sie die Übertragung bei Texteingabe. • Stellen Sie das Terminalprogramm auf Echo und Zeilenvorschub ein. • Verändern Sie an einem Rechner die Baudrate und kontrollieren Sie die Datenübertragung. • Was bedeutet diese Angabe:
Vergleich zur parallelen Datenübertragung • Vorteil • große Leitungslängen möglich (z.B. über 20m) • geringerer Kabel- und Steckeraufwand (minimal 3 Leitungen) • hohe Störsicherheit durch großen Störspannungsabstand • Nachteile • langsamere Übertragung • zusätzlicher elektronischer Aufwand wegen Parallel-Seriell-Wandler und Seriell-Parallel-Wandler
Die serielle Schnittstelle des 80C51-Mikrocontrollers • Synchrone und verschiedenen asynchrone Betriebsarten (Moden) • Voll-duplexfähige Schnittstelle • Empfangsgepuffert • es kann mit dem Empfang eines weiteren Bytes begonnen werden, während das vorhergehende Byte noch auf Abholung wartet. Bis das zweite Byte komplett empfangen wurde, muss das gepufferte Byte ausgelesen sein, sonst ist es verloren (überschrieben).
Die Betriebsart 1 (Modus 1) Das Empfangs- und Sende-Buffer SBUF
Blockschaltbild des gesamten Baudratengenerators Interner BaudgeneratorBD = 1 Mode 1: SM0=0 SM1=1 Baudrate=9600SMOD=1
Einfaches Sende-Programm (1)Initialisierung ; Initialisierung clr SM0 ;SM0=0 und SM1=1 ergibt Modus 1 setb SM1 ; für 8-Bit-UART 8n1 mit flexibler Baudrate clr SM2 ;SM2=0, damit RI immer gesetzt wird clr REN ;Receive Enable wird disabled setb BD ;internen Baudratengenerator verwenden orl PCON,#80h ;9600 Bit/s (SMOD=1) mov p5,#0 ;Port 5 Null, Ausgabe des gesendeten Bytes
Einfaches Sende-Programm (2) Hauptprogramm ; Hauptprogramm Senden: jb SendeTaste,Senden inc p5 ;Port 5 inkrementieren mov sbuf,p5 ;senden WortSenden:jnb ti,WortSenden ;warten bis gesendet clr ti ;Sendeflag löschen WartenTaste: jnb SendeTaste,WartenTaste sjmp Senden
Einfaches Empfangs-Programm (1)Initialisierung ;Initialisierung clr SM0 ;SM0=0 und SM1=1 ergibt Modus 1 setb SM1 ; für 8-Bit-UART 8n1 mit flexibler Baudrate clr SM2 ;SM2=0, damit RI immer gesetzt wird setb REN ;Receive Enable setb BD ;internen Baudratengenerator verwenden orl PCON,#80h ;9600 Bit/s (SMOD = 1)
Einfaches Empfangs-Programm (2)Hauptprogramm ;Hauptprogramm Empfang: jnb ri,Empfang ;warten auf empfangenes Byte mov Anzeige,sbuf ;Empfangenes Zeichen holen clr ri ;Receive Interrupt löschen sjmp Empfang
Testprogramme • Kostenloses Testprogramm COMTEST unter :http://www.bb-elec.com/welcome.asp • Kann einfache Kommunikation mit einer RS232-Schnittstelle aufnehmen. Zeigt auch die Steuerzeichen an. • Kann als RS232-Monitor mit einem selbstgelöteten Kabel verwendet werden. • Ein 1:1 Kabel, an dem 2 zusätzliche Kabel angelötet werden. die nur als Empfänger dienen und nur mit 2 und 5 ( 9-polig) verbunden sind. Bei dem einen Kabel wird 2 mit 2, bei dem anderen Kabel 2 mit 3 des DEE-Stecker verbunden. Das 1:1-Kabel wird in die Kommunikationsleitung der zu überprüfenden Geräten angeschlossen.