ECB Bus
Intro
The ECB Bus is a (more or less) standarized bus for Z80 and 8080 computers; similar to the ISA bus used on 80x86 computers. In theory, ECB cards could be used with different computers - however, in practice, different computer systems have different memory and I/O maps, so one would need to modify the memory and I/O address decoding (on the ECB cards) in order to get them working on other computers. Another problem is that some pins aren't standarized, and various companies have assigned different signals to them, including for -5V and -12V supplies (which may blow-up other cards that don't expect negative voltages on those pins).
History
The ECB bus was invented in 1977 by the German company Kontron. ECB originally stands for "Einfach Europaformat Computer Baugruppen" (Simple or Single Europaformat Computer Modules; where "Europaformat" refers to a standarized circuit board size of 160×100mm). ECB is sometimes also referred to as "Europa Bus" or "Europe Card Bus".
Aside from Kontron, other companies like J&K, o+r, ELZET80, Conitec, E-Lab, Marflow, and miro also invented different ECB-bus variants. The CPC Schneiderware series also invented a new variant. There is also an extended 16bit variant (for 68000 processors or so).
The bus is still used in some situations (for example, as by 2010, www.reichelt.de still sells 96-pin "Euro Bus" backplane boards). Confusingly, Kontron themselves are now using the abbreviation "ECB" for PCI-bus based "Embedded Computer Boards", which have little (or nothing) to do with the original ECB bus.
ECB Bus Hardware for CPC
- Schneiderware (DIY series from CPC Schneider International, issues 6-1986..6-1987)
- Sikos ECB Bus (reviewed in CPC Schneider International 8-1986, page 67)
ECB Bus Pin-Outs
The ECB Bus uses 3x32 pin connectors (96 pins), of which, usually on 2x32 (64 pins) are actually used (the middle row is used only for newer "16bit" cards).
Pin | A | B | C |
1 | +5V | (+5V) | +5V |
2 | D5 | (A20) | D0 |
3 | D6 | (A21) | D7 |
4 | D3 | (A22) | D2 |
5 | D4 | (A23) | A0 |
6 | A2 | (D8) | A3 |
7 | A4 | (D9) | A1 |
8 | A5 | (D10) | A8 |
9 | A6 | (D11) | A7 |
10 | /WAIT | (D12) | (A16,A21,CLK/2) |
11 | /BUSRQ | (D13) | IEI Schneiderware: RAMRD |
12 | (/BAI,A18) | (D14) | (A17,A19) Schneiderware: RAMDIS |
13 | +12V | (D15) | (A18,-12V,A20) |
14 | (A19,-12V,/MMU DIS) | (IRQ7) | D1 |
15 | (-12V,-5V) Schneiderware: EXP |
(IRQ6) | (-12/15V) Schneiderware: -12V |
16 | (2PHI,nPHI) Schneiderware: HALT |
(IRQ5) | IEO Schneiderware: LPEN |
17 | (/BAO,A17) | (IRQ4) | A11 |
18 | A14 | (IRQ3) | A10 |
19 | (+12/15V) | (IRQ2) | (A21,A16) Schneiderware: ROMEN |
20 | /M1 Schneiderware: SOUND |
(IRQ1) | /NMI |
21 | (A22,BDCL) | (IRQ0) | /INT Schneiderware: ROMDIS |
22 | (A23,/RDY,/BOOT) Schneiderware: M1 |
(IOWR) | /WR |
23 | (DPR,/PF,/BAI) | (xxx) | (A20,/SEL,/VBLANK,A21) Schneiderware: INT |
24 | (UBAT 2V..3V) Schneiderware: 5V ACCU |
(IORD) | /RD |
25 | (nCLK,/BAO) | (MEMRD) | /HALT Schneiderware: CURSOR |
26 | (/WREN,/BAO) | (xxx) | (/PCL,/RESOUT ;similar to /RESET) Schneiderware: RESET (Reset from CPC) |
27 | /IORQ | (MEMWR) | A12 |
28 | /RFSH | (DS0: /DataLSB) | A15 |
29 | A13 | (DS1: /DataMSB) | PHI |
30 | A9 | (OFF) | /MREQ |
31 | /BUSAK | (LOCK) | /RESET Schneiderware: BUSRESET (Reset to CPC) |
32 | GND | (GND) | GND |
Signals in brackets "(...)" aren't available on all ECB variants; the Schneiderware series doesn't support those signals. Moreover, the Schneiderware pin-outs are somewhat customized: Signals HALT, M1, INT, are mapped to wrong pin numbers, -12V complies with some ECB variants, and some non-ECB signals SOUND, CURSOR, LPEN, EXP, ROMEN, ROMDIS, RAMRD, RAMDIS are added, and, UBAT is listed as 5V in Schneiderware (normally it should be 2V..3V) (though UBAT isn't actually used/connected on the Schneiderware boards). Aside from the +5V, +12V, -12V supply voltages, the Schneiderware motherboard also has an "AC" soldering point; it's voltage/purpose and it's ECB-pin number are unknown -- it might possibly refer to the ACCU battery (rather than to a analog current AC voltage). The CPC's two Reset signals (BUSRESET and RESET) are mapped to the corresponding ECB-locations (not sure if they are assigned correctly, or if they should be exchanged with each other).
Documents
- ECB Bus - Pinout Variants.pdf - comparision of eight different ECB variants (by Tilmann Reh)
- Schneiderware Basisplatine Pinouts.png - the Schneiderware ECB Bus variant
Weblinks
- http://de.wikipedia.org/wiki/Europe_Card_Bus - wikipedia (german) - saying it was invented in 1977
- http://www.hardwarebook.info/ECBbus - hardwarebook (pin-outs) - saying it was invented in 1984 (which is wrong)
- http://www.prof80.de/circ_a02.html - prof80 (other pin-outs) (german)
- http://fixunix.com/cp-m/526627-article-different-versions-german-ecb-bus.html - notes on ECB variants from 1982