Anschlüsse des DART
Folgende Abbildung zeigt die Pinfunktionen und das Anschlussschema des Bausteins. Die Anschlüsse können in mehrere Gruppen zusammengefasst werden, die im Folgenden kurz besprochen werden sollen.
|
Z80-DART Anschlussschema |
Datenbus
Der Datenbus besteht aus acht bidirektionalen Datenleitungen D0 - D7, auf denen der Transfer von Daten und Befehlen zwischen Mikroprozessor und DART vor sich geht. D0 ist das LSB, D7 das MSB.
Steuerleitungen
Die Steuerleitungen dienen dem ansteuernden Mikroprozessor zur Kontrolle des Bausteins. Folgende Anschlüsse sind dazu vorgesehen:
CLK |
Clock (Eingang). |
Der Anschluss CLK wird mit dem Systemtakt des Mikroprozessors verbunden und dient zur Synchronisation der internen Abläufe. |
/RD |
Read (Eingang, aktiv = LOW). |
Der Pin /RD wird von der CPU aktiviert, wenn Daten oder Befehle zwischen dem Z80-DART und der CPU ausgetauscht werden sollen. Der DART weist keinen entsprechenden Write-Eingang auf, sondern der Schreibvorgang wird durch ein Nichtanliegen des /RD-Signals gekennzeichnet (siehe auch unter Pin /IORQ). |
/IORQ |
Input Output Request (Eingang, aktiv = LOW). |
Die IORQ-Leitung wird in Verbindung mit den Leitungen /RD, /CE, B/A und C/D zur Steuerung des Daten- und Befehltransfers zwischen CPU und DART verwendet. Die folgende Tabelle gibt die möglichen Kombinationen dieser Signale und deren Bedeutung wieder:
/CE |
/IORQ |
/RD |
C/D |
B/A |
|
1 |
X |
X |
X |
X |
DART nicht selektiert |
0 |
1 |
X |
X |
X |
DART bereit für Transfer |
0 |
0 |
0 |
0 |
0 |
Lesen von Daten von Kanal A |
0 |
0 |
0 |
0 |
1 |
Lesen von Daten von Kanal B |
0 |
0 |
0 |
1 |
0 |
Befehlsregister Kanal A lesen |
0 |
0 |
0 |
1 |
1 |
Befehlsregister Kanal B lesen |
0 |
0 |
1 |
0 |
0 |
Ausgabe von Daten auf Kanal A |
0 |
0 |
1 |
0 |
1 |
Ausgabe von Daten auf Kanal B |
0 |
0 |
1 |
1 |
0 |
Befehle für Kanal A ausgeben |
0 |
0 |
1 |
1 |
1 |
Befehle für Kanal B ausgeben |
|
/M1 |
Machine Cycle 1 (Eingang, aktiv = LOW). |
Dieser Anschluss dient zur Synchronisation von bestimmten internen Operationen des DART, unter anderem zur Interruptbestätigung. Er wird mit dem Anschluss /M1 der CPU verbunden. |
/CE |
Chip Enable (Eingang, aktiv = LOW). |
Ein LOW-Signal aktiviert den Baustein, so dass er Befehle oder Daten empfangen oder senden kann. |
/RES |
Reset (Eingang, aktiv = LOW). |
Beide Kanäle werden zurückgesetzt, die Leitungen TxDA und TxDB werden inaktiv, die Modemkontrolleitungen gehen auf HIGH und die Interrupts werden gesperrt. Der Baustein muss nun neu initialisiert werden. |
C/D |
Control or Data Select (Eingang, HIGH = Control, LOW = Data). |
Dieses Signal dient als Auswahlleitung zwischen Daten und Befehlen. Ist die Leitung HIGH, so werden Befehle und Statusinformationen zwischen CPU und DART ausgetauscht, ist sie LOW, werden Daten ausgestauscht. |
B/A |
Port B or A Select (Eingang, HIGH = Port B, LOW = Port A). |
Diese Leitung dient zur Auswahl des angesprochenen Ports. Bei Anlegen eines HIGH-Signals wird Port B angesprochen, bei LOW Port A. |
Interruptleitungen
Die Interruptleitungen dienen zur Anforderung und Steuerung eines Interruptzyklus.
/INT |
Interrupt (Ausgang, aktiv = LOW, open collector). |
/INT wird aktiv (LOW), wenn der DART einen Interrupt an die CPU meldet. |
IEI |
Interrupt Enable In (Eingang, aktiv = HIGH). |
Eingang, der anzeigt, dass kein anderer Peripheriebaustein mit höherer Interrupt-Priorität momentan durch die CPU in einem Interruptzyklus bedient wird. Dieser Eingang wird in Verbindung mit dem Ausgang IEO (siehe unten) zur Bildung einer Daisy-Chain für die Interruptsteuerung verwendet. |
IEO |
Interrupt Enable Out (Ausgang, aktiv = HIGH). |
Dieser Ausgang dient zum Blockieren von Interruptanforderungen von Bausteinen mit niedrigerer Priorität. IEO ist dann aktiv, wenn der Eingang IEI auf HIGH liegt und die CPU den angeforderten Interrupt noch nicht bearbeitet hat. |
Kanal A und B
RxDA,
RxDB |
Receive Data (Eingänge, aktiv = HIGH). |
Dateneingänge für den seriellen Datenstrom. |
/RxCA |
Receiver Clock A (Eingang). |
Die Dateneingänge werden bei der ansteigenden Flanke der Receiver Clock abgefragt. Dieser Takt kann wahlweise das 1-, 16-, 32- oder 64fache der Datenrate betragen. |
/TxCA |
Transmitter Clock A (Eingang). |
Die seriellen Daten werden mit der abfallenden Flanke der Transmitter Clock ausgegeben. Die Taktrate kann wahlweise das 1-, 16-, 32- oder 64fache der Datenrate betragen, jedoch müssen diese Faktoren mit den Faktoren des Empfängertaktes übereinstimmen. |
/RxTxCB |
Receiver / Transmitter Clock B (Eingang). |
Die Dateneingänge werden bei der ansteigenden Flanke der Receiver Clock abgefragt. Die Datenausgabe erfolgt bei der abfallenden Flanke dieses Signals. Dieser Takt kann wahlweise das 1-, 16-, 32- oder 64fache der Datenrate betragen. Im Gegensatz zu Kanal A sind die Taktleitungen (aus Platzgründen) für Receiver und Transmitter zusammengefasst. |
TxDA,
TxDB |
Transmit Data (Eingänge, aktiv = HIGH). |
Datenausgänge für den seriellen Datenstrom. |
W/RDYA,
W/RDYB |
Wait/Ready (Ausgänge, open drain). |
Diese Anschlüsse haben zwei Funktionen und besitzen je nach Funktion unterschiedliche elektrische Eigenschaften. Zum einen können sie als WAIT-Leitung für die CPU dienen, um in einem Block-Transfer (Befehle INIR, OTIR, etc.) mehrere Daten zu lesen oder auszugeben. In diesem Fall sind die Ausgänge als open-drain Ausgänge geschaltet. Zum anderen können sie zur Abwicklung eines DMA-Transfers dienen und sind dann als normale TTL-kompatible Ausgänge geschaltet. Die Umschaltung zwischen den zwei Betriebsarten erfolgt per Software. |
/RTSA,
/RTSB |
Request to Send (Ausgänge, aktiv = LOW). |
Dieser Ausgang ist ein Modemsteuersignal, das über ein Bit im Kontrollregister gesetzt werden kann. Setzt man im Kontrollregister das entsprechende Bit auf HIGH, so wird die RTS-Leitung des Bausteins auf LOW gesetzt. Setzt man dieses Bit auf LOW, so wird die RTS-Leitung auf HIGH gesetzt, nachdem der Sender das gesamte Zeichen gesendet hat. |
/CTSA,
/CTSB |
Clear to Send (Schmitt-Trigger-Eingänge, aktiv = LOW). |
Die Eingänge CTS können wahlweise als universelle Eingänge oder als Handshake-Leitungen benützt werden (Auswahl durch Kontrollregister). Falls CTSx als Handshake-Leitungen programmiert sind, hält ein HIGH-Signal den Sender an und die Datenübertragung wird gestoppt. |
/RIA,
/RIB |
Ring Indicator (Eingänge, aktiv = LOW). |
RIx kann wahlweise als universelle Eingangsleitung oder als Modemsignal verwendet werden. Bei Verwendung als Modemsignal kann der Baustein eine Interruptanforderung generieren. |
/DTRA,
/DTRB |
Data Terminal Ready (Ausgänge, aktiv = LOW). |
Die Zustände dieser Leitungen werden durch das DTR-Bit in den Kontrollregistern programmiert. Sie können auch als universelle Ausgänge verwendet werden. |
/DCDA,
/DCDB |
Data Carrier Detect (Eingänge, aktiv = LOW). |
Diese Anschlüsse dienen als Modemsignale und schalten den Empfänger ein oder aus. Sie können auch als universelle Eingänge verwendet werden. |
|