Stand: 2004-03
Thomas Mertin
Netzwerk- und Elektrotechnik
D-41334 Nettetal
Im Aufbau sind die verschiedenen programmierbaren E/A-Schnittstellen-Bausteine für parallelen Datenverkehr durchaus miteinander vergleichbar. Sie enthalten eingangsseitig eine Kontroll- und Steuerlogik und einen Datenbus-Puffer. Ausgangsseitig enthalten sie in der Regel drei 8-Bit-Ein-/ Ausgänge, die einzeln oder zusammengefaßt werden können. Die Zusammenfassung ist normalerweise so möglich, daß 8 Bits des Ein-/ Ausgangs A mit 4 Bits des Ein-/ Ausgangs C zusammengefaßt werden. Die verbleibenden 4 Bits des Ein-/ Ausgangs C werden dann dem Ein-/ Ausgang B zugeordnet. In dieser Form werden dann die 8 Bits der Gruppen A und B als Datenleitungen verwendet, während die zugeordneten 4 Bits des Ein-/ Ausgangs C als Steuerleitungen für die Ein-/ Ausgänge A und B dienen. Die Steuerinformationen sind softwaregesteuert und richten sich nach der Art des angeschlossenen Gerätes. Wird diese Schnittstelle z.B. für den Anschluß eines Schnelldruckers programmiert, so werden über die Steuerleitungen Quittierungssignale und Informationen über Papiervorschub oder Vorwärts- und Rückwärs-Drucken ausgetauscht. Bei der Steuerung eines Bildschirms wären es z.B. Informationen über Dunkeltastung des Elektronenstrahls u.ä.
Prinzipieller Aufbau von E/A-Bausteinen für parallelen Datenverkehr |
Blockschaltbild des PPI 8255
Blockschaltbild der programmierbaren Parallelschnitstelle
Betriebsart 0 = Digitale Ein- und Ausgabefunktion des Bausteins
Betriebsart 1 = Hand-Shake-Verfahren (Druckerschnittstelle)
Betriebsart 2 = Einzelbitsteuerung
Nicht benutzte Ports sollen grundsätzlich als Eingabeport definiert werden.
Bildung der Adressen:
Port A = Basisadresse Port B = Basisadresse + 1
Port C = Basisadresse + 2 Steuerwort = Basisadresse + 3
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
|
|
|
|
|
|
|
|
|
0 |
Ausgabe |
Port C (PC0...PC3) |
|
|
|
|
|
|
|
1 |
Eingabe |
|
|
|
|
|
|
|
0 |
|
Ausgabe |
Port B |
|
|
|
|
|
|
1 |
|
Eingabe |
|
|
|
|
|
|
0 |
|
|
Betriebsart 0 |
Port B und Port C |
|
|
|
|
|
1 |
|
|
Betriebsart 1 |
(PC0...PC3) |
|
|
|
|
0 |
|
|
|
Ausgabe |
Port C (PC4...PC7) |
|
|
|
|
1 |
|
|
|
Eingabe |
|
|
|
|
0 |
|
|
|
|
Ausgabe |
Port A |
|
|
|
1 |
|
|
|
|
Eingabe |
|
|
0 |
0 |
|
|
|
|
|
Betriebsart 0 |
Port A und Port C |
|
0 |
1 |
|
|
|
|
|
Betriebsart 1 |
(PC4...PC7) |
|
1 |
x |
|
|
|
|
|
Betriebsart 2 |
|
0 |
|
|
|
|
|
|
|
Betriebsartenwahl nicht aktiv (nur bei Betriebsart 2) |
gilt für den gesamten Baustein |
1 |
|
|
|
|
|
|
|
Betriebsartenwahl aktiv |
|
Das folgende Beispiel zeigt, wie ein Steuerwort mit Hilfe dieser Tabelle gebildet wird. Dabei soll der programmierbare Schnittstellenbaustein wie folgt arbeiten:
Mit Hilfe der Tabelle wird das Steuerwort gebildet, das sich aus den gewünschten Betriebsbedingungen wie folgt ergibt:
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
|
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
= 98H |
Für den Einsatz des Bausteins als Druckerschnittstelle soll Port A als Ausgabeport dienen. Nach Angaben des Bausteinherstellers haben dann die Portleitungen PC7, PC6 und PC3 fest vorgegebene Funktionen, und die Portleitungen PC4 und PC5 können als Ein- oder Ausgabeleitungen verwendet werden. Eine der Leitungen (PC5) dient als Eingang für das vom Drucker stammende -Signal.
Der Schnittstellenbaustein als Druckerinterface
Der Datenverkehr zwischen Mikroprozessor und Schnittstellenbaustein und zwischen Schnittstellenbaustein und Drucker ist in folgendem Signal-Zeidiagramm dargestellt.
Die gewünschte Betriebsweise muß vor dem Betrieb der einzelnen Ports programmiert werden. Dies geschieht grundsätzlich durch Senden eines Steuerwortes an das Steuerwort-Register, das sich innerhalb des Schnittstellenbausteins befindet. Das Einschreiben des Steuerwortes in das Steuerwort-Register nennt man Initialisierung des Bausteins (Setzen von Anfangsbedingungen). Hierzu sind folgende Schritte erforderlich:
Bei der Initialisierung ist zu beachten, daß durch H-Pegel am RESET-Eingang des Bausteins das Steuerwort-Register gelöscht und alle Ports in den Eingabezustand gebracht werden. Nach jeder Betätigung der RESET-Taste oder nach einem Kaltstart des Mikroprozessors muß der Baustein daher neu initialisiert werden.
|
Hardware:
Struktogramm:
Steuerwortbildung:
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
= 99H |
a) |
b) |
c) |
d) |
e) |
f) |
g) |
h) |
|
a) Betriebsartenwahl aktiv
b) + c) Port A und Port C (PC4...PC7) = Betriebsart 0
d) Port A = Eingabe
e) Port C (PC4...PC7) = Eingabe
f) Port B und Port C (PC0...PC3) = Betriebsart 0
g) Port B = Ausgabe
h) Port C (PC0...PC3) = Eingabe
Blockschaltbild eines Druckers
Anschlußbild des Druckers
Die Anschlüsse des Druckers haben folgende Bedeutung:
D0 bis D7: Über diese acht Datenleitungen werden die Datenbytes der zu druckenden Zeichen vom Datensender zum Drucker gesendet (Parallelübertragung). Sie werden in den Daten-Buffer übernommen, wenn das -Signal Low ist.
: Mit dem -Signal (strobe = Markierung, Impuls) wird dem Drucker signalisiert, daß Daten auf den Datenleitungen bereit stehen und übernommen werden sollen.
: Mit einem Low-Impuls (12µs) auf der -Leitung (von acknowledge = bestätigen) meldet der Drucker, daß er die Daten verarbeitet hat und wieder empfangsbereit ist.
:
Durch Low-Pegel auf dieser Leitung (error = Fehler) meldet der Drucker dem Datensender, daß er nicht empfangsbereit ist. Gründe für diese Meldung sind:
- Drucker im OFF-LINE-Betrieb (vom Datensender getrennt)
- Papier zu Ende
- interner Fehler
Ab Adresse 6000H befindet sich ein ASCII-Text, welcher auf ein Punktmatrix-Drucker ausgegeben wird. Das Textende wird durch ein Nullzeichen (00H) gekennzeichnet. Basisadresse vom 8255 ist E0H.
Hardware:
Steuerwortbildung:
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
= ABH |
a) |
b) |
c) |
d) |
e) |
f) |
g) |
h) |
Port C (PC0...PC3) = Eingabe |
a) Betriebsartenwahl aktiv
b) + c) Port A und Port C (PC4...PC7) = Betriebsart 1
d) Port A = Ausgabe
e) Port C (PC4...PC7) = Eingabe
f) Port B und Port C (PC0...PC3) = Betriebsart 0
g) Port B = Eingabe
h) Port C (PC0...PC3) = Eingabe
siehe Übertragungstechnik
nach oben | ||
Seite zurück | Inhalt | Seite vor |
Startseite |
Nachricht an: webmaster@mertech.de