AT Bus Signale

Nächstes Kapitel Nächstes Kapitel
2.1.2.3.1
Vorheriges Kapitel Vorheriges Kapitel

Wir haben zur Kopplung des Controllers an den AT-Bus die folgenden PC-Signale benutzt:

  • Datenleitungen D0 - D7
  • Adreßleitungen A0 - A23
  • Steuersignal AEN
  • Steuersignal MEMW
  • Steuersignal MEMR
  • Steuersignal RESET DRV
  • Interruptanschluß IRQ10
  • Interruptanschluß IRQ11
  • Interruptanschluß IRQ12
  • Interruptanschluß IRQ15
  • Spannungsversorgung +5 V
  • Spannungsversorgung GND

Zur vollständigen Dokumentation werden an dieser Stelle alle Signale des AT-Busses erläutert [8].

Signale auf dem XT-Busslot

  • Oszillator (OSC): Dieser Ausgang liefert einen hochfrequenten Takt vom Oszillator mit einer Frequenz von 14.318.180 Hz. Er ist nicht synchron mit dem Systemtakt und hat ein Taktverhältnis von 50 %.
  • Clock (CLK): Der Ausgang der Systemclock stellt einem zum Mikroprozessor synchronen Takt mit einem 50 % Pulsverhältnis dar. Die Zykluszeit ist abhängig von der jeweiligen Hardware. Der Takt kann zwischen 6 MHz bei den älteren ATs und über 66 MHz bei neueren Geräten liegen. Dieses Signal sollte nur zur Synchronisation verwendet werden und nicht als Festfrequenz.
  • Reset Drive (RESET DRV): Dieser Ausgang wird zum Rücksetzen oder Initialisieren des gesamten Systems nach dem Einschalten oder nach einem Hardwarereset verwendet. Er ist aktiv "high".
  • Adress (A0 - A19): Diese bidirektionalen Adressen A0 - A19 werden zur Adressierung von Speichern und I/O-Bausteinen im System benutzt. Sie erlauben dem Prozessor, in Verbindung mit LA17 - LA23, einen Speicherzugriff von bis zu 16 MB. A0 - A19 werden auf den Systembus gelegt, wenn ALE "high" ist, und anschließend mit der fallenden Flanke von ALE übernommen. Diese Signale erzeugt der Mikroprozessor oder DMA-Kontroller, sie dürfen aber auch von anderen Mikroprozessoren oder einem DMA-Kontroller auf dem I/O-Kanal angelegt werden.
  • Data (D0 - D7): Diese bidirektionalen Leitungen bilden einen 8 Bit-Datenbus für den Datentransfer zwischen dem PC und den Steckkarten. D0 ist das niederwertige Bit, D7 das höchstwertige.
  • Adress Latch Enable (ALE): Dieses vom Buscontroller erzeugte Ausgangssignal wird benutzt, um gültige Adressen und Speicherdecodierungen vom Mikroprozessor zu übernehmen. Am I/O-Bus stellt es, in Verbindung mit AEN, ein Kriterium für eine gültige Mikroprozessor- oder DMA-Adresse dar. Die Steckkarten können dann die Adresse decodieren. Mikroprozessoradressen werden mit der fallenden Flanke von ALE übernommen. ALE ist während der DMA-Zugriffe "high".
  • I/O Channel Check (I/O CH CK\): Über diesen Kontakt geben die Steckkarten Fehlerinformationen an das Motherboard ab, um z.B. einen Paritätsfehler auf einer Speichererweiterungskarte oder einen allgemeinen Fehler auf einer Steckkarte anzuzeigen. Ein aktives Signal (low) löst am PC einen NMI (Nicht Maskierbarer Interrupt) entsprechend Interrupt 2 aus.
  • I/O Channel Ready (I/O CH RDY): Dieser Eingang überträgt das Ready-Signal von adressierten Einheiten auf einer Steckkarte. Ist diese Leitung auf "low", so verlängert der Prozessor oder DMA-Chip die Buszyklen, er legt also einen oder mehrere Wait-States ein.
  • Interrupt Request (IRQ2 - IRQ7): Diese Eingänge übertragen die Hardware-Interrupt Anforderungen zum Port-Interrupt-Controller auf dem Motherboard. IRQ7 hat die niedrigste Priorität, IRQ2 die höchste. Die Leitungen IRQ0 und IRQ1 sind dem Timer Chip bzw. der Tastatur zugeordnet und sind daher nicht verfügbar.
  • I/O Write (IOW\): Diese bidirektionale, "low"-aktive Leitung zeigt an, daß der Prozessor oder die DMA-Steuerung Daten in den I/O-Adreßbereich schreiben möchte und die adressierte Peripherieeinheit die Daten vom Datenbus übernehmen soll.
  • I/O Read (IOR\): Diese bidirektionale, "low"-aktive Leitung zeigt an, daß der Prozessor oder die DMA-Steuerung Daten im I/O-Adreßbereich lesen möchte und die adressierte Peripherieeinheit die Daten auf den Datenbus legen soll.
  • System Memory Write (SMEMW\): Durch diese bidirektionale, "low"-aktive Leitung zeigt das Motherboard den Steckkarten an, daß der Prozessor oder die DMA-Steuerung Daten in den Hauptspeicher zwischen 0 MByte und 1 MByte schreiben möchte.
  • System Memory Read (SMEMR\): Durch diese bidirektionale, "low"-aktive Leitung zeigt das Motherboard den Steckkarten an, daß der Prozessor oder die DMA-Steuerung Daten aus dem Hauptspeicher zwischen 0 MByte und 1 MByte lesen möchte.
  • DMA Request (DRQ1 - DRQ3): Über diese Leitungen kann eine Peripherieeinheit auf der Steckkarte dem System des Motherboards mitteilen, daß sie Daten über einen der DMA-Kanäle übertragen möchte. Der Kanal 0 des DMA-Chips ist auf dem Motherboard mit dem Kanal 1 des Timer-Chips verbunden, um in regelmäßigen Abständen die Speicherauffrischung durchzuführen. DRQ0 ist daher nicht herausgeführt. Die DRQ-Leitungen müssen solange aktiviert bleiben, bis mit einem DACK bestätigt worden ist, ansonsten wird die DMA-Anforderung ignoriert.
  • DMA Acknowledge (DACK0\ - DACK3\): Diese Ausgänge liefern die Bestätigung zur Speicherauffrischung, und den Steckkarten die Bestätigung für die DMA-Anforderungen DRQ1 - DRQ3.
  • Adress Enable (AEN): Dieser Ausgang zeigt an, daß der DMA-Controller die Kontrolle über den Bus übernommen hat. Der Prozessor und die anderen Peripheriebausteine werden vom I/O-Kanal getrennt, um ein DMA-Transfer zu ermöglichen. Dieses Signal leitet jeden vom Mikroprozessor ausgehenden Buszyklus ein. Mit der fallenden Flanke des Signals werden auf der Systemplatine die Adreßleitungen des Mikroprozessors gelatcht.
  • Terminal Count (T/C): Auf diesen Ausgang gibt ein DMA-Controller einen Impuls, sobald sein Zähler abgelaufen ist. Das ist ein Zeichen dafür, daß der DMA-Transfer beendet ist.
  • 0 Wait States (0WS\): Dieser "low"-aktive Eingang wird von einer Peripherieeinheit gesetzt, um dem Prozessor mitzuteilen, daß sie schnell genug arbeitet, um ohne Wartezyklen bedient werden zu können.
  • Refresh (REF\): Dieses Signal zeigt an, daß der Speicher auf dem Motherboard gerade aufgefrischt wird. Dadurch können Peripheriekarten gleichzeitig mit dem Motherboard einen Speicher-Refresh durchführen.

Signale auf dem AT-Busslot

  • Large Adress (LA17 - LA23): Diese bidirektionalen Leitungen übertragen die 7 oberen Bit des CPU-Adreßbus. Im Vergleich zu den normalen Adreßleitungen A0 - A19 des XT-Bus sind die Signale an diesen Kontakten wesentlich früher gültig und können einen halben Bustakt vor den Adreßbit A0 - A19 decodiert werden. Zu beachten ist, daß sich LA17 - LA19 und A17 - A19 in der Bedeutung überschneiden. Das ist notwendig, weil die Signale auf A17 - A19 verriegelt (gelatcht) und dadurch verzögert werden. Für eine rechtzeitige Rückmeldung der Signale MEM CS16\ und I/O CS16\ ist es aber notwendig, daß die Adreßsignale A17 - A19 frühzeitig zur Verfügung stehen.
  • Systemdata (SD8 - SD15): Diese bidirektionalen Leitungen bilden das höherwertige Byte des 16 Bit-Datenbus im AT. Sie liefern die Daten-Bits 0 - 15 für den Mikroprozessor, Speicher und I/O Geräte. D0 ist das niederwertige und D15 das höchstwertige Bit. Alle 8 Bit-Bausteine benutzen D0 - D7 beim Zugriff auf dem Prozessor. Die 16 Bit-Bausteine benutzen D0 - D15. Um auch 8 Bit-Bausteine zu unterstützen, werden D8 - D15 an D0 - D7 während einer 8 Bit-Übertragung angelegt, 16 Bit-Mikroprozessorzugriffe werden in zwei 8 Bit-Zugriffe umgewandelt.
  • System Bus High Enable (SBHE\): Diese "low"-aktive, bidirektionale Leitung zeigt einen Datentransfer auf dem höherwertigen Byte des Datenbus SD8 - SD15 an. 16 Bit-Bausteine benutzen das Signal SBHE\ zum Aktivieren von Datenbuspuffern, die an SD8 - SD15 liegen.
  • Memory Chip Select 16 Bit (MEM CS 16\): Mit Hilfe dieses Eingangs kann eine Peripheriekarte dem PC mitteilen, daß sie mit einer Datenbusbreite von 16 Bit bedient werden will. Somit können sowohl 8- als auch 16 Bit-Karten am AT-Bus bedient werden, was von der Buslogik des AT automatisch erkannt wird.
  • I/O Chip Select 16 Bit (I/O CS 16\): Dieser Eingang hat eine ähnliche Aufgabe wie MEM CS 16\, nur bezieht sich I/O CS 16\ auf I/O-Ports anstelle von Speicheradressen. Sowohl I/O CS 16\ als auch MEM CS 16\ sollten über einen Treiber mit Open-Kollektor oder einem Tri-State Treiber (20 mA) angeschlossen werden.
  • Memory Write (MEMW\): Durch diese bidirektionale, "low"-aktive Leitung zeigt das Motherboard den Steckkarten an, daß der Prozessor oder die DMA-Steuerung Daten in den Hauptspeicher zwischen 0 MByte und 16 MByte schreiben möchte.
  • Memory Read (MEMR\): Durch diese bidirektionale, "low"-aktive Leitung zeigt das Motherboard den Steckkarten an, daß der Prozessor oder die DMA-Steuerung Daten aus dem Hauptspeicher zwischen 0 MByte und 16 MByte lesen möchte.
  • Interruptrequest (IRQ10 - IRQ12, IRQ14, IRQ15): Diese Eingänge übertragen die Hardware-Interrupt Anforderung zum Slave-PIT (Port-Interrupt-Controller) auf dem Motherboard. IRQ13 ist beim AT für den Coprozessor reserviert und ist somit nicht herausgeführt. Die IRQ-Signale müssen so lange "high" gehalten werden, bis der Mikroprozessor die Interrupt-Anforderung bestätigt hat (ein Interrupt-Service-Programm wird ausgeführt).
  • DMA Request (DRQ0, DRQ5 - DRQ7): Über diese Leitungen kann eine Peripherieeinheit auf der Steckkarte dem System des Motherboards mitteilen, daß sie Daten über einen der DMA-Kanäle übertragen möchte. Der Kanal 0 des ersten DMA-Chips ist für 8 Bit-Transfers ausgelegt, die 3 neuen Kanäle 5 - 7 dagegen für 16 Bit-Übertragungen. Kanal 4 wird für die Kaskadierung der beiden DMA-Chips verbraucht. Eine DRQ-Leitung muß so lange "high" gehalten werden, bis die entsprechende DMA Request Acknowledge-Leitung (DACK) aktiv wird.
  • DMA Acknowledge (DACK0\, DACK5\ - DACK7\): Diese "low"-aktiven Ausgänge liefern den Steckkarten die Bestätigung für die DMA-Anforderungen DRQ0 und DRQ5 - DRQ7. Gegenüber dem XT ist DACK0\ durch REFR\ ersetzt worden, weil die Speicherauffrischung über REFR\ erfolgt.
  • Master (MASTER\): Dieses Signal erlaubt es einer externen Zentraleinheit, die gesamte Kontrolle über den AT zu erlangen. Zunächst muß der externe Mikroprozessor oder DMA-Controller ein DRQ-Signal senden und als Antwort ein DACK-Signal erhalten. Nachdem er das DACK-Signal erhalten hat, kann er das MASTER-SIGNAL auf "low"-Pegel ziehen und hat sofort die gesamte Kontrolle über das System. Alle Adreß-, Daten- und Steuerleitungen der CPU gehen in den hochohmigen Zustand. Der Master ist auch verantwortlich für die Refresh-Erzeugung. Er darf jedoch nicht länger als 15 µs Master sein, um den normalen Refresh der dynamischen RAMs nicht zu gefährden.
Nächstes Kapitel Nächstes Kapitel
2.1.2.3.1
Vorheriges Kapitel Vorheriges Kapitel