68008-Busspezifikation V2.1C Stand: 03.06.99 (Sebastian Klein, Karsten Merker) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mechanisch: 2*36 Pfostenstecker gewinkelt (auf Platine) 2*36 Pfostenbuchse gerade (auf Motherboard) "K" bezeichnet die der Platinenkante zugewandte Seite, "P" die der Platine zugewandte. "1" ist links, "36" ist rechts (von der Bestueckungs- seite aus gesehen, mit dem Stecker unten: +-----+ | | | | | | P1 |.....| P36 K1 |.....| K36 +-----+ nicht massstabsgetreu) Ich habe versucht, die wichtigeren Signale auf die "P"-Seite zu legen. Bei den Steuerleitungen habe ich ein- und ausgehende Signale getrennt, die Adress- und Datenleitungen habe ich so orientiert, dass der Anschluss eines Speicherbausteins (27256) moeglichst einfach wird. Die Stromversorgungsleitungen sind paarweise ausgelegt, damit sie auf dem Motherboard mit einer schoen breiten Leitung (50+ mil) verbunden werden koennen. +----------+ +5V | K1 P1 | +5V GND | K2 P2 | GND GND | K3 P3 | GND AS | K4 P4 | GOOD DS | K5 P5 | R/W FC0 | K6 P6 | CLOCK FC1 | K7 P7 | INTA FC2 | K8 P8 | BG VMA | K9 P9 | E (aka phi-2) DTACKCPU| K10 P10| DTACK IPL0 | K11 P11| CSACK IPL1 | K12 P12| BERR IPL2 | K13 P13| VPA | K14 P14| BR VPACPU | K15 P15| HALTOUT | K16 P16| RESETOUT HALTIN | K17 P17| RESETIN A19 | K18 P18| A18 A17 | K19 P19| A16 A15 | K20 P20| A14 A13 | K21 P21| A12 A11 | K22 P22| A10 A9 | K23 P23| A8 A7 | K24 P24| A6 A5 | K25 P25| A4 A3 | K26 P26| A2 A1 | K27 P27| A0 D7 | K28 P28| D6 D5 | K29 P29| D4 D3 | K30 P30| D2 D1 | K31 P31| D0 +5V | K32 P32| +5V GND | K33 P33| GND GND | K34 P34| GND DREQi | K35 P35| IRQi DACKi | K36 P36| DONEi +----------+ Hilfsstecker fuer die Auswahl des IRQ und des DMA-Kanals: +----------+ IRQ1 | K1 P1 | IRQ2 IRQ3 | K2 P2 | IRQ4 IRQ5 | K3 P3 | IRQ6 IRQ7 | K4 P4 | DREQ0 | K5 P5 | DACK0 DONE0 | K6 P6 | DREQ1 DACK1 | K7 P7 | DONE1 DREQ2 | K8 P8 | DACK2 DONE2 | K9 P9 | DREQ3 DACK3 | K10 P10| DONE3 +----------+ Es fehlt noch: - 2+1 freie Leitungen Notwendige Unterstuetzungsschaltungen: - Stromversorgung, "Beruhigungs"-Kondensatoren - Pullups fuer die Steuerleitungen BUS->CPU (auch fuer die Datenleitungen? Adressleitungen wg. DMA?) - Taktgenerierung (CLOCK) - Erzeugung von STROBE: /STROBE = /AS && /DS && !!(FC0 && FC1 && FC2) - Reset-Logik (automatisch beim Einschalten und durch Schalter) - Mechanismus zur Wahl des Interrupt-Levels (Jumper o. dgl. auf Motherboard -- fuer jede Platine einzeln) - Erzeugung von INTA (=interrupt acknowledge) und von VPACPU (bei autovector-Interrupts) - Generierung von VMA und VPACPU aus E und VPA (vgl. M68000-Datenbuch, S. B-2; dabei VPACPU als Tristate-Ausgang ausfuehren, um Konflikte mit der VPACPU-Generierung bei autovector-Interrupts zu vermeiden) - Jumper zwischen DTACK und DTACKCPU - Verarbeitung von CSACK (Bus-Watchdog) - DMA? - Fuer Bausteine, die eine 3-Wire-Busarbitration verlangen, vgl. M68020-Datenbuch, S. A-1 - Logik zur "manuellen" DTACKCPU-Generierung - Reset, Halt: Treiberlogik In/Out - Treiber auf CPU-Platine: HC, HCT, AC oder ACT? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Bus auf Flachbandkabeln: Stecker I: 1..20 A0..A19 21..28 D0..D7 29 +5V 30 GND 31 DREQ 32 IRQ 33 DACK 34 DONE 35..38 N.C. 39 +5V 40 GND Stecker II: 1..17 wie K1..K17 18 +5V 19,20 GND 21,22 GND 23 +5V 24..40 wie P17..P1 [also liegen die Signale Kn und Pn jeweils gegenüber]