ndr-nkc.de ndr-nbc.de
  
Startseite
News
 
NDR-NKC
Geräte Z80
Geräte 68000
Geräte 8088
 
Z80 Section
Baugruppen
ROM's
Software
68000 Section
Baugruppen
ROM's
PASCAL/S
Software
8088 Section
Baugruppen
Downloads
 
Bussysteme
Stromversorgung
Input / Output
Grafikkarten
Speicherkarten
Massenspeicher
Weitere Baugruppen
 
Projekte
 
Dokumentation
Datenblätter
Glossar
Portraits
Links

Impressum

 

Busbelegung

Das Bussystem des NDR Klein Computers ist eine schon ziemlich durchdachte Angelegenheit: Je nach Komplexität des aufgebauten Systems kann der Bus von unterschiedlichen Steckkarten belegt werden. Immer wurde darauf geachtet, dass die Belegung kompatibel zu allen Baugruppen ist - selbst über verschiedenen Prozessorarchitekturen hinweg.

Das Bussystem lehnt sich von den Signalen her stark an den standardisierten ECB-Bus an, ist aber aufgrund der einfachen Pfostenleisten günstiger übersichtlicher realisierbar. Bei den verscheidenen Prozessorkarten wurde darauf geachtet, dass die Signale Kompatibel erzeugt werden, so dass alle veröffentlichten Erweiterungskarten grundsätzlich mit den verschiedenen Z80 Systemen, allen 68000 Systemen und dem 8088 genutzt werden können.

Alle Steckkarten, unabhängig von deren Breite werden immer beginnend bei Pin 1 in den Bus eingesetzt. Je nach Umfang des zusammengestellten Systems wird nur ein Teil des Busses belegt.

Designmängel

Nach meiner Einschätzung enthält das Bussystem einen kleinen Designfehler. Für die kurzen Baugruppen (I/O Karten) wäre das Signal /NMI hilfreich bzw. notwendig gewesen. Im Gegenzug ist das RFSH Signal für I/O Karten sinnlos. Schmale Baugruppen können also keinen Non Maskable Interrupt auslösen. Im Nachhinein lässt sich das natürlich nicht mehr ändern.

Weiterhin werden meines Wissens nach die Leitungen PI und PO auf keiner der Baugruppen verwendet. Nach meiner Meinung wären hier besser die Adressleitungen A20 und A21 verwendet worden. Zumindest unter Verwendung der CPU 68000 und 68020 wären dann 4 MByte Adressraum anstelle von 1 MByte möglich gewesen.

Tabelle der Bussignale

Signal Pin Ausbaustufe Verwendung
-5V 1 SBC, I/O, MEM nicht benutzt
+12V 2 SBC, I/O, MEM Versorgungsspannung
-12V 3 SBC, I/O, MEM Versorgungsspannung
+5V 4 SBC, I/O, MEM Versorgungsspannung für alle digitalen Schaltkreise
+5V 5 SBC, I/O, MEM Versorgungsspannung für alle digitalen Schaltkreise
0V 6 SBC, I/O, MEM Versorgungsspannung für alle digitalen Schaltkreise
0V 7 SBC, I/O, MEM Versorgungsspannung für alle digitalen Schaltkreise
D0 8 SBC, I/O, MEM Datenbus
D1 9 SBC, I/O, MEM Datenbus
D2 10 SBC, I/O, MEM Datenbus
D3 11 SBC, I/O, MEM Datenbus
D4 12 SBC, I/O, MEM Datenbus
D5 13 SBC, I/O, MEM Datenbus
D6 14 SBC, I/O, MEM Datenbus
D7 15 SBC, I/O, MEM Datenbus
/RD 16 SBC, I/O, MEM READ Signal
/WR 17 SBC, I/O, MEM WRITE Signal, Schreiben von Daten
/IORQ 18 SBC, I/O, MEM IO REQUEST, Zugriff auf Ein- oder Ausgabebereich
/MREQ 19 SBC, I/O, MEM MEMORY REQUEST, Zugriff auf Daten- oder Programmspeicher
A0 20 SBC, I/O, MEM Adressbus
A1 21 SBC, I/O, MEM Adressbus
A2 22 SBC, I/O, MEM Adressbus
A3 23 SBC, I/O, MEM Adressbus
A4 24 SBC, I/O, MEM Adressbus
A5 25 SBC, I/O, MEM Adressbus
A6 26 SBC, I/O, MEM Adressbus
A7 27 SBC, I/O, MEM Adressbus
/RESET 28 SBC, I/O, MEM RESET Signal, Hardware- und Softwaregestuert
M1 29 SBC, I/O, MEM Machine Cycle
PHI 30 SBC, I/O, MEM Taktsignal
/RFSH 31 SBC, I/O, MEM Refreshsignal
/INT 32 I/O, MEM Interruptanforderung
/WAIT 33 I/O, MEM Für Zugriff auf langsame Baugruppen
A8 34 MEM Adressbus
A9 35 MEM Adressbus
A10 36 MEM Adressbus
A11 37 MEM Adressbus
A12 38 MEM Adressbus
A13 39 MEM Adressbus
A14 40 MEM Adressbus
A15 41 MEM Adressbus
BANKEN 42 MEM Steuerung für unterschiedliche Speicherbänke
/BUSRQ 43 MEM Busanforderung für DMA
/BUSAK 44 MEM Bestätigung einer Busanforderung
PI 45 MEM Interrupt Priority In, nicht benutzt
PO 46 MEM Interrupt Proirity OUT, nicht benutzt
/NMI 47 MEM Nicht maskierbarer Interrupt
A16 48 MEM Adressbus
A17 49 MEM Adressbus
A18 50 MEM Adressbus
A19 51 MEM Adressbus
0V 52 MEM Versorgungsspannung
0V 53 MEM Versorgungsspannung
RES 54 MEM Reserve


Die wichtigsten Signale

In der folgenden Tabelle sind alle Signale des Bussystems des NKC kurz beschrieben. Bei allen erhältlichen Busplatinen und Prozessorkarten wurde auf die Kompatibilität untereinander geachtet, so dass man sich keine Gedanken über die Zusammenstellun der verschiedenen Baugruppen machen muss.

Signal Beschreibung
+5V, 0V Dies sind die Versorgungsspannungsanschlüsse für die digitale Elektronik. Häufig werden die Spannungen auch als VCC (+5V) und GND (0V) bezeichnet. Je nach Ausbaustufe des NKC können auf der positiven Versorgungsspannung Ströme bis zu 10A notwendig werden.
D0 ... D7 Der Datenbus besteht aus 8 Datenleitungen über die alle Informationen von und zum Mikroprozessor geleitet werden. Bei Z80 und 68008 ist der Bus 8 Bit breit, sollen Prozessoren mit einer Datenbusbreite von mehr als 8 Bit eingesetzt werden, so ist eine Auftrennung notwendig. Die Auftrennung kann bei der BUS3 in der Mitte bei der zweireihigen Buchsenleiste vorgenommen werden. Zusätzlich sind die Signale /WR /RD /IORQ und /MREQ an dieser Stelle zu trennen.
/RD Leseanforderung auf dem Datenbus. Der Prozessor teilt über einen Low-Pegel mit, dass mit dem aktuellen Zyklus Daten vom Bus in den Prozessor gelesen werden sollen.
/WR Schreibbenachrichtigung für den Datenbus. Der Prozessor teilt über einen Low-Pegel mit, dass mit dem aktuellen Zyklus Daten vom Prozessor zum Speicher oder zur Peripherie geschrieben werden sollen.
/IORQ Mit diesem low-aktiven Signal teilt der Prozessor mit, dass eine Peripherie angesprochen werden soll. Die Richtung, in der die Daten zur Peripherie übertragen werden sollen, wird durch /RD und /WR angegeben.
/MREQ Mit diesem low-aktiven Signal teilt der Prozessor mit, dass der Speicher angesprochen werden soll. Die Richtung, in der die Datenübertragung stattfinden soll, wird durch /RD und /WR angegeben.
A0 ... A7 Die niederwertigen Adressleitungen des 64 KByte umfassenden Adressraumes. Mit diesem Teil der Adressen lassen sich alle Peripherieeinheiten ansprechen. Beim Z80 sind 256 verschiedene I/O Adressen möglich, von den 65536 I/O-Adressen des 68008 werden nur die untersten 8 Bit ausgewertet.
RESET Das Rücksetzsignal bringt die CPU und die Peripherie in einen definierten Zusatnd. Das RESET-Signal wird automatisch beim Einschalten des Systems erzeugt. Beim 68000 kann das Signal zusätzlich durch einen speziellen Prozessorbefehl ausgelöst werden.
M1 Das Bussignal ist nur bei Verwendung des Z80 Prozessors vorhanden und wird bei jedem neuen Zyklus einmal aktiv. Bei Systemen mit 68000 Prozessor ist dieses Signal nicht belegt und kann daher nicht sinnvoll universell verwendet werden.
PHI Dieses Signal führt die Systemtaktfrequenz und ist ebenfalls von der verwendeten Prozessorkarte und der Bestückung abhängig. Das Signal sollte nicht verwendet werden, um Abläufe auf anderen Steckkarten zu steuern.
RFSH Das Signal dient zum zyklischen Auffrischen von dynamischen RAM-Bausteinen und wird von der Z80 CPU automatisch generiert. Da der 68000 kein solches Signal besitzt, wird es im NKC nicht verwendet. Die Speicherkarten mit dynamischen RAM-Bausteinen erzeugen ihr eigenes Refresh-Signal.
/INT Mit einem Low-Pegel auf dieser Leitung wird ein Interrupt im Prozessor ausgelöst. So kann die Peripherie bei Auftreten bestimmter Ereignisse die CPU veranlassen, einen bestimmten Programmteil zur Behandlung des Ereignisses aufzurufen.
/WAIT Durch dieses Signal kann der Prozessor angehalten werden und dieent zur Synchronisierung zwischen dem schnellen Prozessor und eventuellen langsamen Peripheriebausteinen.
A8 ... A15 Die oberen Adressleitungen des 64 KByte umfassenden Adressraumes.
BANKEN Das Signal beietet die Möglichkeit, andere Speicherbaugruppen in den Adressraum einzublenden. Es ist High-Aktiv und wird zum Beispiel durch die Baugruppe BANKBOOT genutzt.
/BUSRQ Mit einem Low-Pegel auf dieser Leitung wird der CPU mitgeteilt, dass eine andere Baugruppe die Kontrolle über den Bus übernehmen will. Dies ist zum Beispiel bei einer DMA-Anforderung (Direct Memory Access) der Fall. Eine solche Anforderung muss von der CPU durch das Signal BUSAK bestätigt werden.
/BUSAK Bestätigung der CPU, dass eine Busanforderung erkannt und jetzt ausgeführt werden kann. In der Regel erfolgt das Signal BUSAK nach Abarbeitung des Befehls, der Bei Empfang des Signals BUSRQ ausgeführt wurde..
PI Dient zur Regelung der Interrupt-Priorität und wird im NKC nicht verwendet.
PO Dient zur Regelung der Interrupt-Priorität und wird im NKC nicht verwendet.
/NMI Nicht maskierbarer Interrupt. Ein Low-Pegel auf dieser Leitung weist den Prozessor an, ein spezielles Unterprogramm zur Behandlung der Anforderung abzuarbeiten.
A16 ... A19 Mit dieser Erweiterung des Adressbusses kann der Speicher auf bis zu 1 MByte ausgebaut werden. Beim 68000 sind maximal 2 MByte, beim 68020 maximal 4 MByte möglich, da diese Prozessoren einen 16 bzw. 32 Bit breiten Datenbus verwenden.
+12V, -12V, -5V Zusätzliche Versorgungsspannungen zur Verwendung auf speziellen Eingabe- und Ausgabebaugruppen.


Unterschiedliche Busbreiten für Daten


Das ganze Bussystem ist in dieser Form für einen Datenbus mit einer Breite von 8 Bit ausgelegt. Auf diesem Bus lassen sich ohne besondere Anpassungen alle Baugruppen mit 8 Bit Prozessoren verwenden. Dies sind die Systeme Z80, 68008 und 8088. Die Position der Prozessorbaugruppe sowie aller anderen Baugruppen ist in dieser Konfiguration beliebig.

Will man eine Baugruppe mit einem 16 Bit Datenbus verwenden (zum Beispiel den 68000), so reichen die 8 Datenleitungen des BUS3 nicht aus. Aus diesem Grund wurde eine besondere Anordnung des Busses geschaffen, der es ermöglicht, den Datenbus in zwei Hälften zu je 8 Bit aufzuteilen.

Dazu muss die Prozessorbaugruppe in der Mitte der BUS3 plaziert und der Bus an der doppelreihigen Buchsenleiste getrennt werden (nur die Signale D0 ... D7, WR, RD, IORQ und MREQ). Alle Baugruppen, die durch I/O Adressen angesprochen werden sollen, sind dann auf der Seite mit den geraden Adressen zu bestücken. Alle Speicherbaugruppen müssen doppelt bestückt werden.

Nach gleichem Schema wird auch verfahren, wenn der Datenbus (bei Verwendung des Prozessors 68020) mit 32 Bit Breite ausgeführt werden muss. Dazu werden dann jedoch zwei Buskarten benötigt. Die Prozessorplatine stellt die Verbindung zwischen den beiden Busplatinen her, beide Busse müssen in der Mitte getrennt werden.

Alle Speicherbaugruppen müssen jetzt vierfach installiert werden, was den Aufbau eines solchen Systems entsprechend teuer macht. Natürlich erhält man so auch die vierfache Menge an nutzbarem Speicher.

Die Eingabe- und Ausgabebaugruppen werden weiterhin nur mit dem 8 Bit breiten Datenbus angesprochen und müssen an der richtigen Stelle eingesetzt werden. Zur Verwendung ist eine Anpassung des Grundprogramms notwendig.