Funkamateur 04/90 |
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.
[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 |