Der vollständige Anschluß des Schnittstellenbausteins 8251



Der serielle Schnittstellenbaustein 8251 besitzt zusätzliche Anschlüsse, auf die bisher nicht eingegangen wurde. Zum Gesamtverständnis der Schaltung und der Programmierung der seriellen Schnittstelle muß man die Aufgaben dieser Anschlüsse kennen, auch wenn sie nicht benötigt werden. In Bild 61 sind alle Signalanschlüsse des Schnittstellenbausteins 8251 dargestellt. Die folgenden Erklärungen berücksichtigen nur den Asynchronbetrieb; Hinweise zum Synchronbetrieb sind den Datenbüchern zu entnehmen.


Einleitungserklärung



Alle Signalanschlüsse des Bausteins 8251


Die Anschlüsse auf der linken Seite von Bild 61 führen zum Systembus des Prozessors und wurden schon behandelt. Die Anschlüsse auf der rechten Seite stellen die Verbindung zur Peripherie dar, wobei aber einige davon auch den Mikroprozessor steuern können. Insgesamt kann man zwischen Senderanschlüssen, Empfängeranschlüssen und Hilfs-Ein/Ausgängen unterscheiden.
Senderanschlüsse:
TxD (Transmitter Data, Senderdaten)
Hier gibt der Baustein die Senderdaten in serieller Form ab (wurde bereits behandelt).
TxC (Transmitter Clock, Sendertakt)
Dieser Anschluß erhält vom Baudratenteiler den Sendertakt (wurde bereits behandelt).
CTS (Clear To Send, Senderfreigabe)
L-Pegel an diesem Eingang gibt den seriellen Datensender frei, und H-Pegel sperrt ihn. Falls der Sender beim Anlegen des H-Pegels gerade arbeitet, wird vor dem Sperren noch das Senderregister geleert, d.h. eine gerade stattfindende Datenübertragung wird noch beendet. Diese Art der Steuerung nennt man Hardware-Freigabe des Senders, da sie durch einen logischen Pegel innerhalb der Schaltung erfolgt.
Damit der Sender bei L-Pegel am CTS-Anschluß arbeiten kann, muß noch eine weitere Bedingung erfüllt sein: Bei der Programmierung des Bausteins muß im Kommandoregister zusätzlich das Steuerbit TxENABLE (Senderfreigabe) gesetzt worden sein. Dies nennt man Software-Freigabe des Datensenders.
TxRDY (Transmitter Ready, Sender fertig. Besser: Sender bereit zur Aufnahme des nächsten auszugebenden Zeichens vom Prozessor)
Der Ausgang TxRDY meldet durch H-Pegel, daß das Senderregister leer ist und der Datensender vom Prozessor ein neues Zeichen aufnehmen kann. Ist das Senderregister nicht bereit, ein Zeichen aufzunehmen, führt TxRDY L-Pegel. Das Signal TxRDY kann als Hardware-Statusmeldung (Zustandsmeldung durch einen log. Pegel in der Schaltung) bezeichnet werden, mit der z.B. ein Prozessor-Interrupt ausgelöst werden kann.
Hier wird davon allerdings kein Gebrauch gemacht, da sich der Zustand des Senderregisters außer am Anschluß TxRDY zusätzlich im gleichbenannten Bit TxRDY des Statusregisters ausdrückt. Der Prozessor kann das Statusregister lesen und dieses Bit prüfen. Hierdurch stellt er fest, ob er ein neues Zeichen ausgeben darf oder nicht. Diese Art der Zustandskontrolle nennt man Status-Abfrage durch Software, da hierzu Programmschritte erforderlich sind; vgl. Seite 434 ff. Im Zusammenhang mit dem Anschluß TxRDY und dem ebenfalls vorhandenen Anschluß TxEMPTY muß folgendes beachtet werden:
Innerhalb des Datensenders befindet sich neben dem Senderregister ein Schieberegister zur parallel/seriell-Wandlung der Zeichen. Nachdem (innerhalb des Datensenders) ein Zeichen vom Senderregister in das Schieberregister übergeben wurde, kann das Senderregister schon wieder ein neues Zeichen übernehmen, obwohl das Schieberegister noch das vorher erhaltene Zeichen ausgibt. Die Steuerung dieser Vorgänge erfolgt automatisch. Der Anschluß TxRDY meldet daher nicht die vollständige serielle Ausgabe eines Zeichens, sondern nur die Bereitschaft des Senderregisters, ein neues Zeichen aufzunehmen. Weitere Einzelheiten hierzu müssen den Datenbüchern entnommen werden.
TxEMPTY (Transmitter Empty, Datensender leer) Der Ausgang TxEMPTY hat H-Pegel, wenn alle Zeichen des Datensenders (Senderregister und Schieberegister) vollständig ausgegeben wurden. Sobald das Senderregister ein neues Zeichen vom Prozessor erhält, nimmt TxEMPTY wieder L-Pegel an. Durch TxEMPTY wird somit das Ende einer Datenübertragung markiert, wenn vom Prozessor keine weiteren Zeichen in das Senderregister übergeben werden und alle vorherigen Zeichen ausgegeben sind. Der Signalzustand des Ausgangs TxEMPTY kann vom Prozessor über ein Bit des Statusregisters abgefragt werden
Empfängeranschlüsse:
RxD (Receiver Data, Empfängerdaten)
An diesem Anschluß empfängt der Schnittstellenbaustein einen seriellen Datenstrom
RxC (Receiver Clock, Empfängertakt)
Dieser Anschluß erhält vom Baudratenteiler den Empfängertakt. RxRDY (Receiver Ready, Empfänger fertig. Besser: Im Empfängerregister liegt ein Zeichen vor, das vom Prozessor gelesen werden kann)
Mit H-Pegel am Anschluß RxRDY signalisiert der Schnittstellenbaustein, daß im Empfängerregister ein neues Zeichen (Datenwort ohne Start-, Stop- und Paritäts-Bits) bereitsteht, das vom Prozessor gelesen (»abgeholt«) werden soll. Liest der Prozessor das Zeichen durch einen IN-Befehl ein, geht RxRDY wieder auf L-Pegel. Damit RxRDY wirksam werden kann, muß der Empfänger aber bei der Programmierung des Bausteins freigegeben worden sein, was durch gezieltes Setzen des Steuerbits RxENABLE (Empfängerfreigabe) im Kommandowort geschieht. Dies wird ab Seite 429 behandelt.
SYNDET(Synchronisations-Detektor)
Dieser Anschluß hat im Synchronbetrieb eine andere Bedeutung als im Asynchronbetrieb. Er wird in der hier vorgestellten Baugruppe nicht benötigt und daher nicht weiter behandelt.
Hilfs-Ein/Ausgänge:
DSR (Data Set Ready, Betriebsbereitschaft eines anderen Gerätes) Dieser Eingang läßt sich für beliebige Zwecke verwenden. Sein Signalzustand kann über das Status wort abgefragt werden. Mit Hilfe des Anschlusses DSR ist der Prozessor z.B. in der Lage, die Betriebsbereitschaft eines Gerätes der Peripherie festzustellen. Hierzu muß dieses Gerät L-Pegel auf die DSR-Leitung legen. DTR (Data Terminal Ready, Betriebsbereitschaft des eigenen Gerätes) Dieser Ausgang läßt sich für beliebige Zwecke verwenden. Sein Signalzustand wird bei der Programmierung des Bausteins durch das Kommandowort festgelegt und kann danach auch wieder verändert werden. Durch L-Pegel auf der DTR-Leitung kann der Prozessor einem Peripheriegerät mitteilen, daß die programmierbare Serienschnittstelle betriebsbereit ist.
RTS (Request To Send, Sendeteil einschalten)
Dieser Ausgang läßt sich für beliebige Zwecke verwenden. Sein Signalzustand wird bei der Programmierung des Bausteins durch das Kommandowort festgelegt und kann danach auch wieder verändert werden. Durch L-Pegel auf der RTS-Leitung kann der Prozessor ein anderes Gerät steuern und z.B. dort den Sendeteil einschalten.