Anschlussbelegung der Z80 DMA history menue
Implementiert in ein 40-poliges DIL-Gehäuse präsentiert sich die Z80-CPU mit einem 8 Bit breitem Daten-BUS als Aritmetic-Logical Unit mit 158 Basisbefehlen (insgesamt 796 Befehle) mit 3 leitungsfähigen Interruptmodi und einem linear adressierbarem Speichervolumen von 64 KByte (das entspricht 65536 Adressen). Die CPU verfügt über nur eine 5 Volt-Versorgungsspannung, einen Einphasentakt sowie einen automatischen Refresh für den Anschluss dynamischer RAMs. Alle Ausgänge sind TTL-kompatibel und können eine Standardlast treiben.
1. Anschlussdokumentation
2. Typische Zusammenschaltung mit Komponenten des Systems
3. Technische Daten

Pinbelegung der Z80-DMA

Schematische Struktur der Z80-DMA

Funktionale Pinbelegung der Z80-DMA

Schaltplangerechte Pinbelegung der Z80-DMA

... und hier die Anschlussbelegungen fehlerfrei als DIGCAD 4.0 Zeichnungen - gepackt als ZIP-Archiv zum Download

1. Anschlussdokumentation history menue scroll up
D0 ... D7 Data Bus (bidirektional, tristate)

Über den Systemdatenbus erfolgt i. allg. der Datenaustausch zwischen DMA-Einheit einerseits und CPU, Speicher und Peripherie andererseits. Im aktiven Zustand der IS U858 (keine Busübernahme durch den DMAC) erfolgt hierüber der Austausch von Status- und Steuerinformationen. Im aktiven Zustand (DMA-Betrieb) können in Form einer Pipelineverarbeitung Daten von einer Quelle zu einer Senke transportiert werden. Eine weitere, auch mit dieser Variante kombinierbare Möglichkeit besteht in dem Vergleich von adressierten Daten mit einem vorgegebenen Bitmuster (Suche) innerhalb der DMA-Einheit.

A0 ... A15 Address Bus (Ausgänge, tristate)

Der Systemadressbus wird seitens der DMA-Einheit nur im DMA-Betrieb aktiviert. Er dient dann zur Adressgenerierung für die Datenquelle und Datensenke, die wahlweise Speicher oder adressierbare Peripherie des Rechners sein dürfen.

CE/WAIT Chip Enable/Wait (Eingang, L-aktiv)

Im allgemeinen dient dieses Pin als Chipauswahlsignal, es kann aber auch als Wait-Linie programmiert werden.
Im nichtaktiven Zustand der DMA-Einheit dient dieses Signal in Verbindung mit dem aktiven IORQ-Signal der CPU zur Kennzeichnung der Übertragung von Steuerinformationen (WR aktiv) bzw. Statusinformationen (RD aktiv) zwischen DMAC und CPU. Das CE-Signal wird üblicherweise in einem Adressdekoder aus den niederwertigen CPU-Adressen (A0... A7 bzw. A2... A7) erzeugt.
Während eines DMA-Betriebs kann das gleiche Pin als Wait-Linie (durch vorherige Programmierung) benutzt werden. Für das Demultiplexen der beiden Funktionen muss dann i.allg. eine kleine Logikanordnung unter Einbeziehung des CPU-Steuersignals BUSACK oder der DMAC-Signale BAI, BAO angewendet werden. Die Wait-Linie wirkt dann bei DMA-Betrieb im gleichen Sinne wie das CPU-Signal WAIT. Es kann also zu Synchronisation langsamerer Einheiten genutzt werden.

CP Clock Pulse (Eingang, 5-V-Pegel)

Der Systemtakt dient zur Synchronisation der inneren zeitlichen Abläufe mit den äußeren Systemsignalen.

M1 Machine Cycle 1 (Eingang, L-aktiv)

Der Anschluss hat in Bezug auf die DMA-Steuereinheit nur in deren nichtaktivem Zustand Bedeutung. Hierbei dient er zur Synchronisation der internen Interruptlogik. Dieses von der CPU U880 erzeugte Steuersignal zeigt Op-Kode-Lesezyklen der CPU an.
Einerseits wird es in der IS U858 zur Dekodierung der RETI-Befehlsfolge benötigt (Rückkehr aus Interruptbedienung), andererseits bewirkt es in Verbindung mit dem CPU-Steuersignal IORQ und der Interruptprioritätenkette die Quittierung anhängiger Interruptforderungen.
MREQ Memory Request (Ausgang, tristate, L-aktiv)

Dieses DMAC-Signal wirkt nur im aktiven Zustand der Einheit. Dann übernimmt es die Funktion des entsprechenden CPU-Signals und kennzeichnet Schreib- und Leseoperationen mit dem Speicher.

IORQ Input/Output Request (bidirektional, tristate, L-aktiv)

Im nichtaktiven Zustand der IS U858 wirkt der Pin als Eingang und bewirkt mit aktivem Pegel zusammen mit aktivem CE-Signal (s. o.) einen Datenaustausch mit der CPU. Im DMA-Betrieb übernimmt er als Ausgang die entsprechende Funktion des CPU-Signals IORQ (Kennzeichnung von Schreib- und Leseoperationen mit der Peripherie).

RD Read (bidirektional, tristate, L-aktiv)

Im nichtaktiven Zustand des DMAC reagiert der Anschlußss als Eingang und steuert im U858 die Datenrichtung bei der Übertragung von Statusinformationen. Während des DMA-Betriebs hat er die gleiche Wirkung wieder CPU-Anschluss RD (Ausgang zur Steuerung von Lesevorgängen).

WR Write (bidirektional, tristate, L-aktiv)

Dieses Steuersignal hat eine analoge Bedeutung wie RD, mit dem Unterschied der umgekehrten Datenrichtung.

INT/PULSE Interrupt Request/Pulse Output (Ausgang, open drain, L-aktiv)

Über diesen Anschluss erfolgt ebenfalls, ähnlich wie bei CE/WAIT, die programmierbare Ausgabe zweier, vom Betriebszustand der DMA-Einheit abhängiger Signale. Im nichtaktiven Zustand des DMAC dient der Pin zur Anmeldung von Interruptforderungen über die systemweite Anmeldeleitung INT. Ursache hierfür kann das Eintreten von drei programmierbaren Ereignissen sein (Ready-Zustand des DMAC, Bitmuster erkannt, Blockende erreicht).
Bei Busüberwachung durch die DMA-Einheit kann der Anschluss zur Ausgabe von periodischen Impulsen nach jeweils 256 DMA-Zugriffen (Offset einstellbar) programmiert werden. In diesem Zustand wird die INT-Linie nicht durch die CPU überwacht, es können also keine unbeabsichtigten Interruptforderungen ausgelöst werden.

IEI Interrupt Enable Input (Eingang, H-aktiv)

Dieser Eingang hat in Verbindung mit dem Ausgang IEO die Aufgabe, die IS U858 in die systemweite Interruptprioritätenkette (daisy chain) einzubeziehen. Ein H-Pegel an diesem Pin erlaubt der DMA-Einheit die Weitergabe evtl. anhängiger Interruptforderungen über die INT-Linie (nur im nichtaktiven Zustand des DMAC von Bedeutung).

IEO Interrupt Enable Output (Ausgang, H-aktiv)

Der Interruptfreigabeausgang führt genau dann L-Pegel, wenn entweder die DMA-Steuereinheit eine Interruptforderung anmeldet bzw. eine solche Forderung durch die CPU bearbeitet wird, oder wenn der Interruptfreigabeeingang IEI L-Pegel führt (wiederum aufgrund der systemseitig festgelegten höheren Priorität von Busanforderungen gegenüber den Interrupts nur im nichtaktiven Zustand der IS U858 von Interesse).

BUSRQ Bus Request (bidirektional, open drain, L-aktiv)

Über diese, auch systemweit verbreitete Anmeldelinie erfolgt die Anforderung zur Übernahme von Daten-, Adreß- und Steuerbus durch die DMA-Einheit. Hierzu wirkt der Pin als Ausgang. Für den Fall, dass mehrere DMA-Steuereinheiten im Mikrorechner vorhanden sind, dient eine weitere daisy chain mit Hilfe der Signale BAI und BAO zur Festlegung der Prioritäten bei der Busanforderung. Da die Forderung besteht, dass aktive DMA-Einheiten nicht durch höherpriorisierte unterbrochen werden dürfen, wird über den dann als Eingang wirkenden Pin BUSRQ gleichzeitig überwacht, ob bereits eine andere DMA-Steuereinheit einen DMA-Betrieb ausführt.
Da diese Linie zwischen mehreren DMAC immer bidirektional wirkt, dürfen keine Treiber auf diesen Strecken eingesetzt werden. Eine Ausnahme stellt nur die direkte Verbindung zur CPU dar, da dort das Signal nur in eine Richtung (zur CPU) wirkt. Zum Abschluss des Pins wird ein gemeinsamer Pull-up-Widerstand von 1,8 kn empfohlen.

BAI Bus Acknowledge Input (Eingang, L-aktiv)

Das aktive Signal zeigt einer busfordernden DMA-Einheit an, daß sich die Systembusse (Daten, Adressen, Steuersignale IORQ, MREQ, RD, WR) in einem hochohmigen Zustand befinden und somit für die Busübernahme durch den betreffenden DMAC zur Verfügung stehen.
Im allgemeinen erfolgt die Zusammenschaltung dieses Eingangs mit dem Steuersignalausgang BUSAK der CPU U880. In Systemen mit mehreren DMA-Controllern werden die BAI-Eingänge niederpriorisierter Einheiten immer mit dem BAO-Ausgang der jeweils höherpriorisierten zusammengeschaltet. Sie bilden somit eine daisy chain.

BAO Bus Acknowledge Output (Ausgang, L-aktiv)

Dieser Ausgang hat nur in Systemen mit mehreren DMAC Bedeutung. Er bewirkt dort die Weitergabe einer DMA-Quittierung von der CPU (bzw. von einem höher priorisierten Controller) zu einer niederpriorisierten Einheit.

RDY Ready (Eingang, aktiver Pegel programmierbar)

Dieser Anschluss wird durch die DMA-Einheit überwacht, um anzuzeigen, wann ein angeschlossenes peripheres Gerät fertig für die Übertragung von Daten im DMA-Betrieb ist. Hiermit wird die schnellste Reaktionsmöglichkeit auf Forderungen der Peripherie im System U880 erreicht. Die Art und Weise, in der DMA-Aktivitäten durch diesen Eingang gesteuert werden, hängt wesentlich von der gewählten Betriebsart ab. Eine aktive Ready-Linie kann außerdem durch eine entsprechende Programmierung simuliert werden. Das ist insbesondere bei Speicher-Speicher-Operationen von Bedeutung.