Funkamateur 04/90

 

Kompakter Bustreiber für Z80-Rechner

H. VENZKE

Ein Einplatinenrechner wie z.B. der AC1 bringt immer Probleme, wenn es um Erweiterungen geht. An den Systemsteckverbinder können zwar Erweiterungsbaugruppen wie Speichererweiterungen oder andere angeschlossen werden; dann ist aber dieser Steckplatz belegt. Führt man den Systembus auf einen zusätzlichen Steckverbinder heraus, um dort eine Busverteilerplatine anzuschließen, ist man das Problem der Steckplätze los. Dann reicht aber bald die Treiberleistung der CPU für die zusätzlichen Baugruppen nicht mehr aus.
Eine Bustreiberbaugruppe schafft hier Abhilfe. Ordnet man diese Baugruppe am Busverteiler an, können nur die dort angeschlossenen Baugruppen getrieben werden. Die Steuerung des Datentreibers gestaltet sich damit recht aufwendig, weil er nur arbeiten darf, wenn die am Busverteiler betriebenen Erweiterungen angesprochen sind. Um diese Nachteile auszuschließen, entwickelte ich eine kompakte Bustreiberbaugruppe. Dabei griff ich auf das beim AC1 bewährte Prinzip der Subplatinen zurück. Grundlage für diese Baugruppe war die in [1] vorgestellte Treiberschaltung.
Die Baugruppe wird anstelle der CPU in die Grundplatine des AC1 eingesetzt. Sie realisiert einen komplett getriebenen Adreß-System- und -Datenbus, der dann am Systemsteckverbinder zur Verteilung verfügbar ist.
Über die Auswertung des Signals /BUSAK ist ein DMA-Betrieb möglich. Alle Bustreiber werden bei aktiven /BUSAK in den Tristatezustand geschaltet. Das Signal /BUSAK steht mit 16 mA Belastbarkeit am Systembus zur Verfügung. Zusätzlich wird über die Gatter 6.1 und 6.2 ein mit /RESET verknüpftes /M1-Signal zum Rücksetzen der Peripheriebausteine erzeugt. Die Datenrichtung wird über /RD und /M1 umgeschaltet. Dadurch ergeben sich keine Einschränkungen der Interruptfähigkeit des Rechners.
Als Treiber für die Adreß- und Systemsignale kommt der DS 8282 und für die Daten der DS 8286 zum Einsatz. Die Logikfunktionen habe ich durch je einen D 200 und DL 008 realisiert (s. Bild 1).
Die Baugruppe besteht aus zwei zweiseitigen Leiterplatten. Die Leiterplatte 1 (Bild 2.1 bis 2.3) enthält die Treiber für die Pins 01 bis 20 der CPU, Leiterplatte 2 (Bild 3.1 bis 3.3) die Bauelemente für die Pins 21 bis 40 der CPU.
Die Anschlüsse der CPU und die des Bussystems sind als Lötflächen ausgeführt und werden sämtlich durchkontaktiert. Wenn die CPU in einer Fassung steckt, sind die Busanschlüsse mit Pins aus defekten IS zu versehen. Am besten eignen sich die vergoldeten Pins von defekten EPROMs. Soll die Baugruppe eingelötet werden, übernehmen kurze Drahtstücken die Funktion der Pins. Mit ihnen realisiert man gleichzeitig die Durchkontaktierung der Busanschlüsse. Alle anderen Durchkontaktierungen werden an den Pins der IS oder an den in den Bildern 2.3 und 3.3 bezeichneten Stellen vorgenommen. Jede Teilleiterplatte ist einzeln zu überprüfen, später ist ein Fehler schwerer zu beheben.
Die Verbindungen AS, A9, A10 sowie /HALT, /IORQ und /MREQ werden mittels Drahtbrücken von einer Leiterplatte zur anderen hergestellt. Das gleiche trifft auf die Signale /RD und /M1 zu, welche die Steuerung der Richtung des Datentreibers übernehmen. Ebenso verfährt man mit der Versorgungsspannung. Diese Arbeiten werden erst nach dem erfolgreichen Funktionstest der beiden Teilplatinen durchgeführt. Anschließend ist die komplette Baugruppe noch einmal zu überprüfen. Erst wenn sie funktioniert, wird die Baugruppe an den dafür vorgesehenen Flächen mittels Drahtbrücken zusammengelötet. Dazu steckt man sie am besten in eine Fassung oder in eine Lochplatine. Die CPU wird aufgesetzt, und wenn alles spannungsfrei sitzt, verlötet man die vier Abstandshalter allseitig. Nach einer nochmaligen Überprüfung ist nun die CPU einzulöten. Damit ist die Baugruppe fertig und kann in die AC1-Grundleiterplatte eingesetzt bzw. eingelötet werden.
Die gesamte Baugruppe nimmt einen Strom von etwa 500 mA auf. Deshalb ist die Versorgungsspannung über die Lötösen noch zusätzlich an die Baugruppe heranzuführen. Sie wird am besten hinter der Einspeisung des Rechners abgegriffen. Als Stützkondensatoren gelangen 100-nF-Scheibenkondensatoren zum Einsatz (1 x je Treiber und für die CPU). Die TTL-Schaltkreise sind mit je 47 nF gestützt. Um Schaltspitzen auszugleichen, ist noch ein Elektrolytkondensator von 220 µF direkt auf der Baugruppe eingesetzt.
Die Baugruppe wurde in mehreren AC1 getestet, ohne daß Probleme auftraten. Nach dem Einschalten muß sich der AC1 wie gewohnt melden. Ist das der Fall, kann die Speichererweiterung angeschlossen und mit dem Speichertestprogramm getestet werden. Treten keine Fehler auf, kann die Bustreibergruppe im AC1 bleiben. Dann ist die Verknüpfung von /RESET mit /M1 auf der Originalplatine aufzuheben.
Werden Speichererweiterungen mit dRAMs betrieben, kann es zu verschiedenen Fehlern kommen. Diese sind jeweils zu ermitteln und abzustellen (TRAM, Oszilloskop). Als Ursache kommen dafür unter anderem Zeitprobleme in Frage, die durch einen Neuabgleich der Verzögerungsglieder zu beheben sind. Bei langsamen Speichern bzw. Speicherschaltungen sollte man bedenken, daß die Speicher 35 ns später aktiviert werden und die Daten erst 35 ns später der CPU zur Verfügung stehen. Insgesamt gehen also 70 ns im Bustreiber verloren, was in kritischen Fällen kein Befehlskodelesen mehr ermöglicht. Desweiteren führen je nach Aufbau des AC1 bzw. der Busverteiler Reflexionen und Übersprechen in den Leitungen zu verschiedenen Fehlern. Zur Verhinderung solcher Fehler sind die in [2] genannten Ausführungen zu beachten.
Es empfiehlt sich, Bustreiber erst einzusetzen, wenn die Busbelastung es erfordert. Je weniger Last der Bustreiber zu treiben hat, um so mehr Störungen treten auf der jeweiligen Busleitung auf. Thermische Probleme gab es nicht. Der hier praktizierte Aufbau sichert eine gute Wärmeableitung und bringt keine zusätzliche Wärmebelastung für die CPU mit sich.
Mit dem Einsatz dieser Baugruppe sind der Erweiterungsfähigkeit des AC1 auf lange Zeit keine Grenzen gesetzt. Natürlich ist diese Baugruppe auch in anderen Z80-Rechnern einsetzbar.

Literatur

[1] Hübler,B.; Evert,K.: Ausbaufähiger Mikrocomputer mit dem U 880,
Amateurreihe "electronica", Band 221/228
[2] Güldner, S.; Zinke, H.: Mikroelektronik Information Applikation,
HFO, H.19, Interface-IS

183 KByte 190 KByte 174 KByte
Bild 1 Bilder 2,3,4 Bilder 5,6,7