CS/A bus connector
(C) - André Fachat
Note: superseded by bus specification version 1.1
The bus connector is a 96 pin connector according to DIN 41612, type C, where only 64 pins (rows a+c) are used. The board itself has the male connector. It can be plugged into a bus plane with female connectors.
The bus layout is:
a c -------------------------- GND a 1 c GND Vbuf a 2 c Vcc 50Hz a 3 c Vcc -IOINH a 4 c A19 -EXTIO a 5 c A18 -MEMSEL a 6 c A17 -IOSEL a 7 c A16 -BE a 8 c A15 a 9 c A14 a 10 c A13 a 11 c A12 a 12 c A11 a 13 c A10 a 14 c A9 D7 a 15 c A8 D6 a 16 c A7 D5 a 17 c A6 D4 a 18 c A5 D3 a 19 c A4 D2 a 20 c A3 D1 a 21 c A2 D0 a 22 c A1 -NMI a 23 c A0 -IRQ a 24 c SYNC -SO a 25 c R/-W RDY a 26 c Phi2 -RES a 27 c Phi1 GND a 28 c Phi0 GND a 29 c 2Phi2 GND a 30 c 16MHz GND a 31 c 8Phi2 GND a 32 c GND
Comments
- For non-MMU systems like the Gecko
only the lines
A0-A11, D0-D7, Phi2, R/-W, -RES, -IRQ, -NMI, -IOSEL
are necessary. Still some of the other lines need to be taken care of. (-MEMSEL must be pushed high). - -MEMSEL and -IOSEL are memory selection lines. If -MEMSEL goes low
(active), address lines A0-A19 must be valid. If -IOSEL goes low, then
only address lines A0-A11 must be valid. Both lines are not
open collector lines (although this is one of the few 'known bugs' of
this design)!
The select lines are generated by the CPU.
To map the I/O address space somewhere else (i.e. in a memory area selected
by -MEMSEL), -EXTIO must be pulled low
when an address in the selected area is accessed (by a memory card).
Thus -MEMSEL and
-IOSEL go then low on such an access.
In MMU systems, the I/O space is normally mapped to some fixed location in the CPU address space and cannot be mapped around with the MMU. To avoid this mapping, -IOINH must be pulled low. Warning: if you pull -IOINH and not do not assign -EXTIO at some address, you lose access to the I/O area. In the BIOS card for the MMU system, a control port can set these lines. -IOINH and -EXTIO are open collector lines. - Vbuf is a battery buffered 5 Volt supply. Vcc is standard 5 Volt supply, respective to GND.
- 50Hz is a 50/50 phase 50 Hz TTL signal, generated from line frequency.
(In the U.S., you might generate it differently).
16MHz is a 16 MHz clock. - To drive some circuits synchronously with the CPU, there are 2Phi2 and 8Phi2.
2Phi2 has double the frequency than the CPU clock Phi2. At each
transition of Phi2, 2Phi2 has a low-high transition. The high-low transition
follows about less than 100 ns later. I use 2Phi2 to directly drive
the -RAS signal of dynamic RAM.
8Phi2 is the 8-times Phi2, but this signal has no fixed phase relation to Phi2. I use it as pixel clock in a video card.
Both signals are usually generated by the CPU card. - -BE cuts the CPU off the bus, i.e. select (-IOSEL, -MEMSEL), Data (D0-7) and Address lines (A0-A19) are put into tri-state. This line is asynchronous and should only be assigned with carefully designed circuitry using -RDY stop the CPU and Phi2 for clock and all that. Using -RDY and BE should allow an external bus master to take the bus, although it has not been tested so far.
- The lines that are not used (a9-a14) are reserved for future use.
Return to Homepage
Last modified: 2023-08-27