Der MC68230

Nächstes Kapitel Nächstes Kapitel
2.1.3.2.1
Vorheriges Kapitel Vorheriges Kapitel

Der MC68230 kann als Allzweck-Parallelinterface-Port und als betriebssystemorientierter Zeitgeber Verwendung finden. Er besteht aus drei im wesentlichen unabhängigen Abschnitten: Den Ports, dem Zeitgeber und einem asynchronen Businterface [6].

Bild 16 zeigt den modularen Aufbau des ParallelInterface Timers (PI/T) und gibt eine Übersicht über dessen Signale.

MC68230 Blockschaltbild

Bild 16: MC68230 Blockschaltbild

Der PI/T bietet drei 8 Bit-Parallelports, von denen zwei miteinander verkettet werden können, um einen 16 Bit-Port zu bilden.

Diese Ports arbeiten in vier Hauptbetriebsarten, die programmiert werden können, unidirektional und bidirektional, jeweils mit einer Breite von 8 oder 16 Bit. In jedem dieser Modi sind sowohl doppelt gepufferte Datenwege für Ein- und Ausgabeübertragungen, als auch einfach gepufferte I/O-Konfigurationen programmierbar. Doppelt gepuffert bedeutet, daß der PI/T zwei Datenworte direkt hintereinander einlesen bzw. ausgeben kann. Der dritte Port ist mit Doppelfunktionenen belegt. Jeder Anschluß kann als Port oder als andere Funktion eingesetzt werden, die entweder mit dem Zeitgeber oder den beiden anderen Ports verbunden ist.

Außerdem sind vier Mehrzweck-Handshake-Anschlüsse vorgesehen. Sie steuern die Übertragungen in bzw. aus den doppelt gepufferten Ports, können jedoch auch für andere Zwecke benutzt werden.

Somit stehen dem Benutzer also insgesamt 28 programmierbare Leitungen zur Verfügung. Der PI/T kann so programmiert werden, daß eine beträchtliche Flexibilität ermöglicht wird, wobei er fünf allgemeine Anwendungsgebiete abdeckt:

  • Periodische Interrupts
  • Rechteckgenerator
  • Einzelinterrupt nach vorprogrammierter Zeiteinheit
  • Messen einer abgelaufenen Zeit
  • Geräteüberwachung ("Watchdog Timer")

Die Ports A und B sind Mehrzweck-Parallelports, die je nach Bedarf in unidirektionale oder bidirektionale 8- oder 16 Bit-Betriebsarten konfigurierbar sind. Die Handshake-Signale H1, H2, H3 und H4 ermöglichen, je nach Betriebsart, die Steuerung des Datentransfers von und zu den Ports A und B. Sie dienen auch als Eingänge für die Status/Interruptgenerierung und als Allzweck E/A-Anschlüsse. Port C enthält verschiedene Doppelfunktionsanschlüsse. Je nach Konfiguration werden bis zu drei Anschlüsse vom Zeitgeber belegt.

Eine allgemeine Eigenschaft des PI/T besteht darin, daß in Anwendungen, in denen ein E/A-Anschluß nicht benötigt wird, dieser Anschluß für einen anderen Zweck zur Verfügung steht. Das gilt insbesondere für die Doppelfunktionsanschlüsse von Port C und die vier Handshake-Anschlüsse. Damit ist eine ausgezeichnete Anschlußausnutzung gewährleistet. Port- und Zeitgeberfunktionen sind vollständig unabhängig voneinander und verhalten sich, mit Ausnahme der Doppelfunktionsanschlüsse, als seien sie auf zwei verschiedenen Chips.

Das Interface für den Systembus erfordert Chipselect- (CS\), Lese-/Schreib- (R/Wn) und fünf Registerauswahl-Eingänge (RS1 - RS5), um normale Lese- und Schreibzyklen einzuleiten. Interruptquittierungszyklen von Port oder Zeitgeber können durch PIACK oder TIACK\ eingeleitet werden, wenn diese Anschlüsse als solche programmiert sind. Für jeden Typ eines Buszyklus antwortet der PI/T mit der Ausgabe des DTACK\-Signals, wenn die entsprechende Zugriffszeit abgelaufen ist.

Die Modi und die Parallelports

Die meisten Anwendungen konzentrieren sich im wesentlichen auf die Ports A und B, die vier Handshake-Anschlüsse, die Port-Interrupt-Anschlüsse und den DMA-Anforderungsanschluß. Sie werden folgendermaßen gesteuert :

Das allgemeine Steuerregister der Ports enthält ein 2 Bit-Feld (Bit 6 und 7), mit denen die vier Hauptbetriebsarten programmiert werden können. Bei der noch zu erstellenden Software wird voraussichtlich der Modus 2 (bidirektionaler 8 Bit-Modus) benutzt,um mit der Interfacekarte zu kommunizieren.

Auf den folgenden Seiten werden der Vollständigkeit halber alle Übertragungsmodi des Parallelinterface/Timers grafisch verdeutlicht [5].

  • Modus 0 (00) Unidirektionaler 8 Bit-Modus
    MC68230 Übertragungs-Modus 0

    Bild 17: MC68230 Übertragungs-Modus 0

  • Modus 1 (01) Unidirektionaler 16 Bit-Modus
    MC68230 Übertragungs-Modus 1

    Bild 18: MC68230 Übertragungs-Modus 1

  • Modus 2 (10) Bidirektionaler 8 Bit-Modus
    • Port A: 8 Bit Ein-/Ausgabe
    • Port B: 8 Bit doppelt gepufferte bidirektionale Daten
    • H1 und H2: Output Transfers
    • H3 und H4: Input Transfers
    MC68230 Übertragungs-Modus 2

    Bild 19: MC68230 Übertragungs-Modus 2

  • Modus 3 (11) Bidirektionaler 16 Bit-Modus
    • 16 Bit bidirektionale Daten
    • H1 und H2: Output Transfers
    • H3 und H4: Input Transfers
    MC68230 Übertragungs-Modus 3

    Bild 20: MC68230 Übertragungs-Modus 3

Beschreibung der Signale

  • Bidirektionaler Datenbus (D0 - D7): Die Datenbusanschlüsse, D0 - D7, bilden eine 8 Bit breite bidirektionale Datenbus-Verbindung zur CPU. Diese Anschlüsse sind "high"-aktiv.
  • Register Select (RS1 - RS5): Die Register-Auswahlanschlüsse, RS1 - RS5, sind "high"-aktive Tri-State Eingänge, die bestimmen, welche der 23 intern zur Verfügung stehenden Register ausgewählt werden.
  • Read/Write (R/Wn): R/Wn ist ein Tri-State Eingangssignal des Busmasters (MC68020), das einen Lesezyklus mit "high" und einen Schreibzyklus mit "low" anzeigt.
  • Chip Select (CS\): CS\ wählt die Register des PI/T für den anstehenden Buszyklus aus.
  • Data Transfer Acknowledge (DTACK\): DTACK\ ist ein "low"-aktiver Ausgang, der die Vollendung eines Buszyklus signalisiert. Während der Lese- oder IACK\-Zyklen, wird DTACK\ gültig, nachdem Daten auf den Datenbus gelegt worden sind. Während des Schreibvorgangs wird DTACK\ geltend gemacht, nachdem die Daten vom Datenbus angenommen worden sind. Zwischen den Buszyklen muß das Signal mittels eines Pullup--Widerstandes auf "high"-Level gehalten werden.
  • Reset (RESET\): Dieser wird benutzt, um alle Funktionen des PI/Ts zu initialisieren. Erhält dieser Eingang ein "low", werden alle Kontroll- und Datenrichtungs-Register gelöscht und fast alle internen Operationen abgebrochen.
  • Clock (CLK): Dieses Signal ist Tri-State und TTL-kompatibel. Der Takt muß nicht synchron mit dem Systemtakt des Prozessors verlaufen. Auf der Controllerkarte des Telemetrie-Einsteckkartensystems wird der Systemtakt mit einem Frequenzteiler von 16 MHz auf die Frequenz von 8 MHz heruntergeteilt, mit der der PI/T getaktet wird.
  • PA0 - PA7 und PB0 - PB7: Die Portanschlüsse A und B sind 8 -Bit-Ports, die aber bei Bedarf auch als 16 Bit-Ports eingesetzt werden können. Diese Anschlüsse werden mittels der Handshake-Leitungen H1 - H4 verwaltet. Zur Spannungsstabilisierung beim Einschalten haben diese Anschlüsse interne Pullup-Widerstände. Alle Portanschlüsse sind "high"-aktiv.
  • Handshake Pins (H1 - H4): Die Handshake-Anschlüsse sind Multi-Funktions-Anschlüsse, die die Datentranfers von und zu den Ports A und B steuern. Zur Stabilisierung während der Einschaltphase besitzen H2 und H4 interne Pullup-Widerstände. H1 - H4 werden, wie oben beschrieben, mittels der 4 Bit des Allgemeinen-Port-Steuer-Registers programmiert.
  • PC0 - PC7: Dieser Port kann entweder als normaler Ein-/Ausgabe-Port benutzt werden, oder als eine beliebig wählbare Kombination von sechs Spezial-Anschlüssen mit zwei normalen Ein-/Ausgabe-Anschlüssen (PC0 - PC1). Jeder Doppelfunktions-Anschluß kann als Standard-Ein/Ausgabe-Pin oder mit seiner Spezialfunktion, unabhängig von den übrigen Anschlüssen des Port C, benutzt werden. Bei Verwendung als Portanschluß sind diese Anschlüsse "high"-aktiv und können individuell durch das Daten-Richtungs-Register als Ein- oder Ausgänge definiert werden. Die Alternativ-Anschlüsse TIN, TOUT, und TIACK\ sind Timer-Ein/Ausgabe-Pins. PC2/TIN kann als externer Takteingang für den Zeitgeber oder als "Start/Stop"-Eingang des Watchdog-Timers eingesetzt werden. PC3/TOUT dient als Interruptanforderung des Zeitgebers, als Rechteckspannungsausgang oder als Watchdog-Timer-Ausgang. PC7/TIACK wird nur für die Interruptquittierung des Zeitgebers in vektorgesteuerten Interruptsystemen verwendet. PC5/PIRQ\ und PC6/PIACK\ stellen die Interrupt-Anforderung und -Quittierung für die Ports dar, vergleichsweise wie die Pins TOUT und TIACK\ für den Zeitgeber. PC4/DMAREQ\ ist ein "low"-aktiver Anschluß und nimmt DMA-Anforderungen entgegen.
MC68230 Pinbelegung

Bild 21: MC68230 Pinbelegung

Funktion der Parallelinterface/Timer im Gesamtkonzept

Der MC68230 wird als Schnittstelle zur Interfacekarte benutzt, wobei nur der Port A, die zugehörigen Handshake-Leitungen und die ersten drei Anschlüsse des Ports C benutzt werden. Port A wird im Übertragungsmodus 2 benutzt, da sowohl Signale von der Interfacekarte zum Controller, als auch in umgekehrter Richtung übertragen werden (Bidirektionaler 8 Bit-Modus). Auf die dort aufgelegten Signale wird bei der Beschreibung der Interfacekarte noch näher eingegangen. Der Port B wird nicht benutzt, liegt aber zu Testzwecken auf einer von außen zugänglichen Pfostenleiste (CON6).

Die Portleitung PC2 dient der Übermittlung der Interrupt-Anforderung von der Controllerkarte zum PC, die notwendig wird, wenn Daten von der Karte zum PC übertragen werden sollen. Mit den Jumpern J1 - J4 läßt sich einstellen, welcher Interrupt-Level am PC geltend gemacht wird. So kann die für die Telemetrie-Einschubkarte optimale Interrupt-Anforderung hardwaremäßig eingestellt werden.

Nächstes Kapitel Nächstes Kapitel
2.1.3.2.1
Vorheriges Kapitel Vorheriges Kapitel