Parallel-I/O-Adapter mit dem PPI8255 Helmut Berhardt TRS-80, GENIE und Komtek haben weder für IEC-Bus, RS232C noch sonst irgendwelche standartisierten Schnittstellen Anschlüsse vorbereitet. Das einzige (außer Stecker für Drucker und Floppy), was man vorfindet, ist der herausgeführte Systembus. Leider gibt es keinerlei Interfaces, die auf den Systembus aufgesteckt werden und dann Standard-Schnittstellen bereitstellen. Es ist auch nicht zu erwarten, daß irgendein Hersteller für unsere wenig bedeutenden Geräte sowas je anbieten wird. Wir müssen uns da schon selber helfen. Andererseits ist der Systembus für Bastler viel inreressanter als ein IEC-Bus oder User-Port. Es stehen dabei alle Möglichkeiten offen, irgendwelche Schnittstellen selbst zu bauen und über den Systembusstecker anzuschließen. Man ist nicht auf die vom Hersteller vorgegebenen Möglichkeiten beschränkt. Eine einfache Parallel-I/O-Schnittstelle mit 24 Leitungen läßt sich mit dem 8255 aufbauen. Neben dem 8255 werden noch 2 weitere ICs zur Portdecodierung benötigt. Die in Abb.1 vorgeschlagene Schaltung benutzt die Portadressen 98H-9BH. Sie ist so einfach, daß sich die Herstellung eines Layouts nicht lohnt. Die Schaltung läßt sich auf einem 5 cm * 8 cm Stück Lochrasterplatine aufbauen. Der Anschluß an den Systembus des Computers ist in Tabelle 1 wiedergegeben. Für den TRS-80 ergeben sich dabei gewisse Schwierigkeiten. Die Versorgungsspannung von +5V liegt nicht auf dem Systembus-Stecker. Sie muß an geeigneter Stelle auf dem CPU-Board entnommen werden. Außerdem ist das Signal IORQ* nicht vorhanden. Anstelle von IORQ* muss dann auch an Pin 11 des 74LS02 das Signal A2 gelegt werden. Anstelle der nicht verfügbaren Signale RD* und WR* werden die Signale IN* und OUT* an die Pins 5 und 36 des 8255 gelegt. Der 8255 hat gegenüber dem für den Z80 üblichen PIO-Baustein den Nachteil, daß er keinen IM2-Interrupt liefern kann und daß die Leitungen eines Ports nicht unabhängig voneinander als Input oder Output definiert werden können. Dafür stehen aber in der einfachsten Betriebsart (Mode 0) drei 8-Bit-Ports zur Verfügung. Beim Port C lassen sich zusätzlich noch oberes und unteres Nibble unabhängig voneinander als Input oder Output festlegen. Ein echtes Handshaking ist mit einzelnen Leitungen des Port C für die Ports A und B ebenfalls möglich, wenn die Betriebsarten Mode 1 oder Mode 2 programmiert werden. Dann muß noch ein zusätzliches IC 74LS05 eingesetzt weden, das die Interrupt-Ausgänge des 8255, PC0 und PC3 invertiert und auf Open-Collector Ausgänge bringt. Außerdem kann darüber auch ein externes, low aktives Strobe-Signal an den INT-Eingangder CPU geführt werden, wenn das Handshaking nicht durch den 8255 erledigt werden soll. Tabelle 1: Anschuß an den Systembus Pin des Systembus-Steckers Signal GENIE Komtek TRS-80 ------------------------------------- D0 15 46 30 D1 14 41 22 D2 12 40 32 D3 16 39 26 D4 20 42 18 D5 11 37 28 D6 18 44 24 D7 17 43 20 ------------------------------------- A0 10 34 25 A1 7 32 27 A2 9 30 40 A3 8 28 34 A4 6 26 31 A5 5 24 35 A6 4 22 38 A7 3 20 36 ------------------------------------- IORQ* 38 35 40 #2 (A2) RD* 41 38 19 #2 (IN*) WR* 40 36 12 #2 (OUT*) RESET* 46 #1 33 #1 2 (SYSRES*) INT* 31 10 21 ------------------------------------- +5V 19 17, 18 39 #3 GND 1,2, 1,2, 8,29,37 49,50 49,50 ------------------------------------- Anmerkungen: #1 anstelle von RESET* sollte ein durch AND-Verknüpfung aus RESET* und NMI* gebildetes SYSRES* benutzt werden #2 anstelle der nicht vorhandenen Signale IORQ*, RD* und WR* müssen A2, IN* und OUT* benutzt werden #3 Die Versorgungsspannung ist nur am Expansion-Interface und nicht am Grundgerät zu entnehmen; bei Anschluß an das Grundgerät kann sie an geeigneter Stelle auf dem CPU-Board abgenommen werden oder auch vom angeschlossenen Peripheriegerät geliefert werden, zu dem auch Masse- Verbindung bestehen muß Pinbelegung des 40poligen I/O-Steckers Signal Pin Pin Signal --------------------------------- PA4 39 40 PA3 PA5 37 38 PA2 PA6 35 36 PA1 PA7 33 34 PA0 GND 31 32 GND - 29 30 - - 27 28 - - 25 26 - - 23 24 - - 21 22 ext.STROBE* - 19 20 PC7 17 18 PC0 PC6 15 16 PC1 PC5 13 14 PC2 PC4 11 12 PC3 +5V 9 10 +5V PB7 7 8 - PB6 5 6 PB1 PB5 3 4 PB2 PB4 1 2 PB3