Der MC68681

Nächstes Kapitel Nächstes Kapitel
2.1.3.2.2
Vorheriges Kapitel Vorheriges Kapitel

Der MC68681 Dual Universal Asynchronous Receiver Transmitter (DUART) gehört zur Familie der Peripheriegeräte und direkten Interfaces zum MC68000 Prozessor und zu dessen Weiterentwicklungen. Der MC68681 besteht aus acht Hauptgruppen: interne Kontroll Logik, bidirektionaler 8- Bit-Datenbuspuffer, zwei voneiander unabhängige asynchrone Kommunikationskanäle (A und B), ein paralleler 6 Bit-Eingangsport und ein paralleler 8 -Bit-Ausgangsport. Der DUART unterstützt asynchrone Datenübertragungen und ist in der Lage, Interruptvektoren während der Interrupt-Bestätigungszyklen (IACK\) zu setzen. Der MC68681 hat zusätzlich auf seinem Chip einen programmierbaren Baudraten-Generator integriert, was sowohl die Kosten als auch den Platzbedarf auf der Platine für einen separaten Baudraten-Generator einspart. Dieser Generator ermöglicht es, dem DUART Daten mit verschiedenen Baudraten zu senden und zu empfangen. Der MC68681 hat einen vierfach gepufferten Eingang, mit dem vier Zeichen nacheinander empfangen werden können bevor der Hauptrechner die Daten einliest. Weiterhin hat er einen doppelt gepufferten Ausgang, der es ihm erlaubt ein Zeichen zu übertragen, während ein zweites empfangen wird [4].

Die folgende Grafik (Bild 22) zeigt den Aufbau und die interne Busstruktur des DUART.

MC68681 Blockschaltbild

Bild 22: MC68681 Blockschaltbild

Die Signale des MC68681

  • VCC und GND: Die Spannungsversorgung des DUARTs wird wie üblich über VCC (+5 Volt) und GND (Masse) geliefert.
  • Quarz- oder externer Takt-Eingang (X1/CLK): Dieser Anschluß stellt die Verbindung zu einem Quarz oder zu einem externen Taktgeber her. Dieser Quarz oder Taktgeber muß mit einer fest vorgegebenen Frequenz von 3,6864 MHz arbeiten. Bei Benutzung eines Quarzes, wie auf dem Controller des Telemetrie-Interfaces, sollte man einen Kondensator von 15 pF zwischen diesen Anschluß und Masse schalten.
  • Quarzeingang (X2): Dieser Anschlußpin liefert den zweiten Anschluß zu dem verwendeten Quarz und auch hier ist ein Kondensator von ungefähr 15 pF gegen Masse erforderlich.
  • Reset (RESET\): Der DUART kann mit einem "low"-aktiven Reset-Signal oder durch Programmierung des verwendeten Befehlsregisters (A oder B) zurückgesetzt werden. Ein hardwaremäßiger Reset löscht die Status-Register A und B, das Interrupt-Masken-Register, das Interrupt-Status-Register, das Ausgangsport-Register und das Ausgangsport-Konfigurations-Register.
  • Chip Select (CS\): Dieses Signal ermöglicht Datenübertragungen zwischen der CPU und dem DUART über dessen Datenleitungen D0 - D7. Diese Datentransfers werden durch den Read/Write-Eingang (R/Wn) und die Register-Auswahl-Eingänge (RS1 - RS4) überwacht. Das Signal CS\ ist "low"-aktiv und versetzt die Datenleitungen D0 - D7 in einen hochohmigen Zustand, wenn es selber "high"-Level führt.
  • Read/Write (R/Wn): Liegt dieser Eingang auf "high"-Level, wird ein Lesezyklus angezeigt, liegt er auf "low"-Level, wird ein Schreibzyklus signalisiert. Ein Zyklus beginnt durch die Ansteuerung des Chip Select Eingangs.
  • Data Transfer Acknowledge (DTACK\): Dieser "low"-aktive Tri-State-Ausgang wird in Lese-, Schreib- oder Interruperkennungs-Zyklen gesetzt, um die Datenübertragung zwischen CPU und DUART anzuzeigen.
  • Register Select Bus (RS1 - RS4): Über die Register-Auswahlleitungen werden die internen Register, Ports oder Befehle des DUARTs während der Read/Write-Operationen angesprochen.
  • Data Bus (D0 - D7): Diese bidirektionalen Tri-State Datenanschlüsse werden zur Übertragung von Befehlen, Daten und Zuständen zwischen der CPU und dem DUART benutzt. D0 ist das niederwertige und D7 das höchstwertige Bit.
  • Interrupt Request (IRQ\): IRQ\ ist ein "low"-aktiver Ausgang, der dem Prozessor mitteilt, daß mindestens eine der acht maskierbaren Interrupt-Bedingungen wahr ist.
  • Interrupt Acknowledge (IACK\): Dieser "low"-aktive Eingang zeigt einen Interrupt-Erkennungszyklus an. Wird dieser Pin bei einer Interrupt-Anfrage angesprochen, setzt der DUART einen Interrupt-Vektor auf den Datenbus und macht eine Datentransfer-Erkennung (DTACK\) geltend. Besteht keine Interrupt-Anforderung, ignoriert der DUART den Zustand dieses Anschlusses.
  • Channel A Transmitter Serial-Data-Output (TxDA): Das Signal ist die serielle Datenausgabe für Kanal A. Das niederwertige Bit wird zuerst übertragen. Dieser Ausgang liegt auf "high"-Level, wenn der Transmitter nicht angesprochen ist. Die Daten werden mit der fallenden Flanke des Taktgebers ausgegeben.
  • Channel A Receiver Serial-Data-Output (RxDA): Hier werden die seriellen Daten für Kanal A empfangen, wobei das niederwertige Bit zuerst aufgenommen wird. Die Daten kommen mit der steigenden Flanke des Steuertaktes an.
  • Channel B Transmitter Serial-Data-Output (TxDB): Das Signal ist die serielle Datenausgabe für Kanal B. Das niederwertige Bit wird zuerst übertragen. Dieser Ausgang liegt auf "high"-Level, wenn der Transmitter nicht angesprochen ist. Die Daten werden mit der fallenden Flanke des Taktgebers ausgegeben.
  • Channel B Receiver Serial-Data-Output (RxDB): Hier werden die seriellen Daten für Kanal B empfangen, wobei das niederwertige Bit zuerst aufgenommen wird. Die Daten kommen mit der steigenden Flanke des Steuertaktes an.
  • Parallel Inputs (IP0 - IP5): Jeder dieser 6 Eingänge kann als allgemeiner Eingang beschaltet werden. Auch Sonderfunktionen lassen sich realisieren. Sie werden im folgenden näher erläutert:
    • IP0: Dieser Eingang kann als Bereitschaftssignal zum Senden von Kanal A benutzt werden und ist "low"-aktiv (CTSA\, Clear To Send). Außerdem können Zustandsänderungen mit diesem Eingang festgestellt werden.
    • IP1: Dieser Eingang kann als Bereitschaftssignal zum Senden von Kanal B aus benutzt werden und ist "low"-aktiv (CTSB\). Auch mit diesem Eingang können Zustandsänderungen festgestellt werden.
    • IP2: Der Eingang IP2 kann als Empfänger des externen Clock-Signals für Kanal B oder als Zähler/Timer des externen Taktsignals fungieren. Wenn dieser Eingang vom Receiver als externer Taktgeber benutzt wird, werden die ankommenden Daten mit der steigenden Flanke des Taktes eingelesen. Auch mit diesem Eingang können Statusänderungen wahrgenommen werden.
    • IP3: Die IP3 Leitung wird als Sender des externen Taktes für Kanal A benutzt (TxCA). Die übertragenen Daten werden dann mit der fallenden Flanke des Taktes verschoben. Zustandsänderungen werden ebenfalls erkannt.
    • IP4: Die IP4 Leitung kann als externer Taktempfänger für Kanal A benutzt werden (RxCA), wobei die Daten mit der steigenden Flanke des Taktsignals eingehen.
    • IP5: Der Eingang IP5 kann als Sender des externen Taktes für Kanal B fungieren. Die Datenübertragung erfolgt mit fallender Taktflanke.
  • Parallele Ausgänge (OP0 - OP7): Jeder dieser Ausgänge kann als ganz normaler Ausgang genutzt werden, wobei jeder Ausgang auch Alternativfunktionen übernehmen kann:
    • OP0: Dieser Ausgang wird gesetzt, wenn Kanal A bereit ist Daten zu empfangen (RTSA\, Request To Send). Dieser Ausgang wird negiert, wenn von Kanal A keine Daten übertragen werden sollen.
    • OP1: Dieser Ausgang wird gesetzt, wenn Kanal B bereit ist Daten zu empfangen (RTSA\). Dieser Ausgang wird negiert, wenn von Kanal B keine Daten übertragen werden sollen.
    • OP2: Taktausgang für Kanal A.
    • OP3: Taktausgang für Kanal B.
    • OP4: Dieser Ausgang wird gesetzt, wenn Kanal A Daten empfangen hat (RxRDYA\).
    • OP5: Dieser Ausgang wird gesetzt, wenn Kanal B Daten empfangen hat (RxRDYB\).
    • OP6: Dieser Ausgang wird gesetzt, wenn Kanal A bereit ist, Daten zu senden (TxRDYA\).
    • OP7: Dieser Ausgang wird gesetzt, wenn Kanal B bereit ist, Daten zu senden (TxRDYB\).
MC68681 Pinbelegung

Bild 23: MC68681 Pinbelegung

Funktion des DUART im Gesamtkonzept

Die Signale RxDA, TxDA, RxDB und TxDB werden über die Pegelwandler (IC 18 und IC 19) geführt und als serielle Schnittstelle auf Pfostenleiste gelegt. Alle übrigen Signale des MC68681 werden auf eine separate Pfostenleiste (CON5) gelegt, um sie zugänglich zu machen. Der DUART wurde hauptsächlich als Testbaustein für die noch zu erstellende Software vorgesehen.

Der Pegelwandler

Auf der Controllerkarte der Telemetrie-Einschubkarte sind zwei bidirektionale serielle RS232 Schnittstellen vorgesehen, die auf die Pfostenleisten CON7 und CON8 herausgeführt sind. Diese beiden Schnittstellen dienen reinen Testzwecken und haben keine weitere Funktion. Zur Anpassung des TTL-Pegels an den RS232-Pegel muß jeweils ein Pegelwandler pro Schnittstelle eingesetzt werden. Die Anpassung erfolgt mit einem TC232CPE (IC 18 und IC 19).

Max 232 Blochschaltbild

Bild 24: Max 232 Blochschaltbild

Bei diesem Baustein handelt es sich um einen RS232-Treiber bzw. Empfänger, der zwei Treiber- und Empfängerstufen besitzt. Von den vier Pegelwandlern werden zwei als RS232-Treiber verwendet, die den TTL-Eingangspegel auf eine RS232-Ausgangsspannung von * 10V umsetzen. Die beiden anderen Pegelwandler sind RS232-Empfänger, die den RS232-Spannungspegel auf TTL-Pegel reduzieren [16].

Nächstes Kapitel Nächstes Kapitel
2.1.3.2.2
Vorheriges Kapitel Vorheriges Kapitel