Bausteine
 
 
 
 
 
Schnittstellen
 
 
 
 
 
PIO 8255
 
 
 
 
 

 
 
 
 
 

Ein-/Ausgabe Torbaustein mit 3 Toren zu je 8 Bit

 
 
 
 
 
 
 

 

 

 

 

 

 

 

 

 

                     Die Betriebszustände - Modi 0,1,2

 

 

                     Signaldiagramm Dateneingabe Modus 1

 

 

                     Signaldiagramm Datenausgabe Modus 1

 

 

                     Das Kontrollregister

 

 

                     Betriebshinweise NMOS / CMOS

 

 

                     Datenblatt.pdf vom Hersteller (englisch)

 

 

 

 

 

Beschreibung:
PIO bedeutet beim Baustein 8255 Parallel Input/Output Adapter. Hinter ihm verbirgt sich ein Schnittstellen-, oder Interface-Baustein für die parallele Ein- und Ausgabe von Daten an periphere Geräte eines Computers. Der Baustein besitzt drei 8 Bit breite Eingabetreiber sowie drei 8 Bit breite Ausgabespeicher. Je ein Eingabetreiber und ein Ausgabespeicher bilden ein Tor (Port). Die drei daraus resultierenden Tore sind mit A, B und C gekennzeichnet. Ihre Anschlusspins besitzen die Bezeichnungen PA0-PA7, PB0-PB7 und PC0-PC7.

Ob ein Tor mit seinem Eingabetreiber oder mit seinem Ausgabespeicher betrieben werden soll, wird in einem Kontrollregister festgelegt.
In dem Kontrollregister kann auch bestimmt werden, ob eines der Tore A oder B zusammen mit je einigen Bits des Tores C zusammenarbeiten soll. Die sich hieraus ergebenden verschiedenen Betriebszustände werden Modi genannt. Es gibt die Modi 0, 1 und 2. Bei diesen Torkombinationen übertragen die Tore A und B, 8 Bit breite Datenströme und Tor C erzeugt automatische Meldesignale, mit denen eine sichere Datenübertragung gewährleistet wird. Solche Signale werden Handshakesignale genannt. (Handshake - Hände schütteln)

Die Torspeicher und das Kontrollregister können von einem Computer aus, über einen Datenbus D0..D7, mit Daten beschrieben oder gelesen werden. Die Adressleitungen A0 und A1 ermöglichen dabei die Auswahl des gewünschten Torspeichers bzw. des Kontrollregisters. Ob der gewählte Torspeicher Daten vom Datenbus erhält, oder Daten von den Toreingängen liefern soll, kann mit den Lese/Schreib-Signalen des Computers, die an den Eingängen /RD (read) und /WR (write) angeschlossen sind, bestimmt werden.
Damit der Baustein überhaupt arbeitet, muss er mit dem Anschluss /CS auf LOW freigegeben sein. Mit dem Resetanschluss RES kurzzeitig auf HIGH kann der PIO8255 in einen definierten Anfangszustand gebracht werden. Im Betrieb liegt RES auf LOW. Nach einem Reset befinden sich alle Tore im Modus 0 und sind als Eingabetore definiert. Ihre Pins sind hochohmig was bedeutet, dass sie über einen sehr grossen Widerstand an +5V liegen. (Achtung es gibt herstellerbedingte Abweichungen.)
Nach der Umsteuerung eines Eingabetores zu einem Ausgabetor über das Kontrollregister, werden alle Torbits des Tores auf LOW gesetzt. Dies gilt auch, wenn das Tor zuvor schon einmal als Ausgabetor benutzt wurde, der Ausgabespeicher also einen Ausgabewert besitzen könnte. Das bedeutet, bei der Umsteuerung zum Ausgabetor wird der Ausgabespeicher auf 0 gelöscht.

Tore schreiben und lesen
Die Tore werden durch die Adresssignale an den Anschlüssen A0 und A1 ausgewählt. Die Adresszahlen, die sich aus A0 und A1 bilden lassen werden relative Adressen genannt. Abhängig von den Signalen RD und WR lassen sich die Tore lesen oder beschreiben: lesen: /RD=0 /WR=1 schreiben: /RD=1 /WR=0
Ist ein Tor über das Kontrollregister als Eingabetor definiert, bewirken Schreibvorgänge auf dieses Tor beim PIO8255 nichts. Beim Lesen werden die hardwaremässigen Setzungen an den Toreingängen zurückgeliefert.
Ist ein Tor über das Kontrollregister als Ausgabetor definiert, so kann von diesem Tor auch gelesen werden. In diesem Fall wird der Inhalt des Ausgabespeichers zurückgegeben. Dieser Inhalt entspricht im Normalfall den tatsächlichen Signalen an den Torbits. Ein Schreibvorgang auf das Tor bewirkt, dass die Daten des Computers in dem Ausgabespeicher des Tores abgelegt werden und von hier hardwaremässig zu den Torbits Px0-Px7 gelangen. Die nachfolgende Tabelle fasst dies zusammen ..

 

 

 

 

 

Rahmen9

 

 

 

 

 

Das Kontrollregister kann nur beschrieben werden. Das Lesen von diesem Register liefert irgendwelche Werte, die nichts mit dem tatsächlichen Inhalt des Registers gemein haben.

Besonderheiten von Tor C
Tor C kann im Modus 0 der Tore A und B als Doppeltor mit je 4 Bits angesehen werden. Jedes dieser beiden 4-Bit Tore, bestehend aus den Bits PC0-PC3 und PC4-PC7, kann im Kontrollregister als Eingabe- oder Ausgabetor erklärt werden. Zudem können die Bits des Tores C über das Kontrollregister einzeln gesetzt oder gelöscht werden, wenn sie als Ausgänge definiert wurden.
In den Modi 1 und 2 gilt das Gesagte für die nicht benutzten Bits des Tores C sinngemäss. Sie arbeiten noch immer im Modus 0.

 

 

 

 

 

CMOS-Variante
In der CMOS-Ausführung des PIO8255 sind die Eingänge wie beschrieben sehr hochohmig. Um sie vor Spannungsspitzen zu schützen können ihnen 10k-100k Reihenwiderstände vorgeschaltet werden. Ebenso ist es möglich, mit 10k Pull-Up oder Pull-Down Widerständen, das Tor nach dem Reset, in einen definierten Anfangszustand zu bringen.

 

 

 

 

www..de