I was thinking on restarting experiments with vintage computing hardware. Thus I decided to start working on an 8 slot, 16-bit ISA backplane that will fit either AT or ATX computer cases and will accept power from a modern ATX supply. Well I would've preferred to design it so that it could accept either AT or ATX power supplies. But I just couldn't find an on-line parts supplier for P8 and P9 male connectors to fit on the printed circuit board. Thus ATX it is.
I always wanted to experiment with option and boot ROMs. Back in the very early 1990s when I was routinely using an 80386SX / 25 MHz machine, 27C series EEPROMs were expensive and difficult to find. These days I have access to a lot of ROM integrated circuits at low prices from the local and online electronics stores. Needless to say that over the time I have recovered quite a few ROM ICs from vintage computer boards. I can erase and reprogram them for my experiments. Thus this backplane implements support for one 64 Kbit option ROM of type 27C64 or 28C64. Address range decoding for the ROM is implemented as well.
Adjacent circuitry is also carried on this backplane. Think reset and ATX power control circuits, and indicator LEDs. I have even made provisions for the case LEDs and cooling fans. If you don't like the noise of a 12 V cooling fan, then just plug it into the 5V fan header. I decided not to include a 5-pin DIN keyboard connector because this backplane will mostly be used with ATX cases. These don't align the back bracket with the keyboard connector that well. I know there are metal brackets already milled for an AT-style keyboard. But then again, this system backplane will most certainly use the keyboard socket on the CPU ISA card. Thus I omitted it from this design.
This ISA system backplane should handle 8088, 80286, 80386, and 80486 CPU boards as well as any 8-bit or 16-bit ISA expansion card. So a complete computer can be easily built.
The design of such a backplane is no secret and despite all the many apparently complicated connection points, overall, the circuitry is fairly simple to understand and implement. Regarding the printed circuit board layout, I have manually routed all tracks in order to fulfill the best digital design constraints and -- why not -- looks.
A historical fun fact: Back in the 1990s I was spending hours looking at computer printed circuit boards, observing the wire routing design, the choice of electronic parts, and the overall layout. I was seeing this as some kind of abstract art. In fact I was mesmerized by computer PCBs. I remember a few notable ones: an Adaptec AHA-1542CF SCSI ISA controller, ATI VGA WONDER-16 ISA video controller, an old 1989 CHIPS & TECHNOLOGIES 256K VGA controller, an unknown model NCR MFM ISA controller, a beautiful Western Digital WD-1004A-27X MFM ISA controller, a UNiSYS 80286-10 mainboard, and countless other that I cannot remember the model numbers. Looking at those PCBs I was dreaming about creating my own one day. So here I am, designing my own ISA backplane. I am planning other ISA designs in the upcoming couple of years.
This project is in its final stage.
Current iteration of ASSY. 2486-SBP-001 is VER. 1.6 REV. A
I decided to keep it a long time in review so that I can correct all errors and produce the -- expensive -- prototype PCB only once.
* * *
Laudatur ab his, culpatur ab illis. This project is provided as-is and is not for commercial purposes. It reflects my experimental work in microcomputer system design and should be treated as such. I release the schematic and circuit boards to the public for educational purposes. I did all this on my expense and in my free time. So if you like my work, please consider a donation.
Fig. 1: Electrical principial schematic.
Fig. 2: Top silkscreen.
Fig. 3: Top layer printed circuit board.
Fig. 4: Bottom layer printed circuit board.
Fig. 5: Top layer printed circuit board - simulation.
Fig. 6: Bottom layer printed circuit board - simulation.
The following list contains the parts that are required to assemble this ISA backplane.
|16-bit ATX ISA BACKPLANE|
|Printed Circuit Board||ASSY. 2486-SBP-001||1||Order from OSHPark||N/A|
|IC2||28C64||1||64 Kbit ROM||556-AT28C64B15PU|
|IC4||74LS74||1||Dual D Flip-Flop||595-SN74LS74AN|
|T1||2N2222||1||Small Signal Transistor||610-2N2222|
|D1-D6||1N4148||6||Small Signal Diode||78-1N4148|
|C1-C48, C64||10 uF / 25 V||49||Tantalum Capacitor||80-T350E106M025AT|
|C55-C58||47 uF / 25 V||4||Tantalum Capacitor||80-T350K476M025AT|
|C62, C65||100 uF / 10 V||2||Tantalum Capacitor||80-T350J107M010|
|C63||1 uF / 35 V||1||Tantalum Capacitor||80-T350A105K035AT|
|C49-C54, C59-C61||100nF / 50 V||9||MLCC||80-C322C104M5R-TR|
|R1-R3, R6-R8, R12||470 Ω||7||Carbon Resistor||291-470-RC|
|R4, R5||1.2 kΩ||2||Carbon Resistor||291-1.2K-RC|
|R9||220 kΩ||1||Carbon Resistor||291-220K-RC|
|R10||33 kΩ||1||Carbon Resistor||291-33K-RC|
|R11, R13||10 kΩ||2||Carbon Resistor||291-10K-RC|
|R14||1 kΩ||1||Carbon Resistor||291-1K-RC|
|RN1||8 x 10 kΩ||1||Bussed Resistor Network||652-4609X-1LF-10K|
|LED1||5 mm Orange LED||1||Standby Indicator||755-SLR-56DC3F|
|LED2||5 mm Red LED||1||+5 V Indicator||755-SLR-56VC3F|
|LED3||5 mm Red LED||1||-5 V Indicator||755-SLR-56VC3F|
|LED4||5 mm Red LED||1||+12 V Indicator||755-SLR-56VC3F|
|LED5||5 mm Red LED||1||-12 V Indicator||755-SLR-56VC3F|
|LED6||5 mm Green LED||1||CPU Activity Indicator||755-SLR-56MC3F|
|IC Socket||14-pin||2||IC3, IC4||575-199314|
|J1||46015-2006||1||ATX Power Connector||538-46015-2006|
|J6, J7||22-23-2031||2||Fan Connector||538-22-23-2031|
|ISA0-ISA7||Card Edge Connectors||8||ISA Slot||587-395-098-520-350|
Here is a list of things you need to pay attention to should you decide to build such ISA system backplane.
Following are described all the interface connectors and their respective pinouts.
|INTERFACE CONNECTORS DESCRIPTION|
|J1||ATX Power||1 - NC|
2 - NC
3 - Ground
4 - +5 V
5 - Ground
6 - +5 V
7 - Ground
8 - NC
9 - +5 V StandBy
10 - +12 V
11 - NC
12 - -12 V
13 - Ground
14 - Power Supply ON
15 - Ground
16 - Ground
17 - Ground
18 - -5 V
19 - +5 V
20 - +5 V
|J2||Power/StandBy LED||1 - Power LED Anode|
2 - LED Cathode
3 - StandBy LED Anode
|J3||Power LED||1 - LED Anode|
2 - LED Cathode
|J4||StandBy LED||1 - LED Anode|
2 - LED Cathode
|J5||Power Switch||1 - Power Signal|
2 - Ground
|J6||5V Fan||1 - Ground|
2 - +5 V
3 - NC
|J7||12V Fan||1 - Ground|
2 - +12 V
3 - NC
|JP1||-5 V Selector||1 - -5 V Rail (local)|
2 - -5 V Rail (board)
3 - -5 V Rail (PSU)
ATX power supplies are turned on and off through a momentary push button. This circuit does exactly that: sends a /PS_ON signal to the power supply to turn it either on (active low) or off (active high). This circuit is designed by Sergey Kiselev.
This circuit section will provide some visual feedback through the STDBY LED once the system is powered off. A repetitive breathing-like fade in and out effect will signal that the system is standing by. Once you press the power button to turn the system on, the STDBY LED will remain off.
Once the CPU will start putting addresses on the address bus, A7 signal will provide a visual feedback through the CPUACT LED. This is a spartan indication that the CPU is actively working on something.
This circuit is, again, based on Sergey Kiselev's idea of a CPU activity indicator. I have further adapted it in a way that it is only active when the system is powered on. In the original circuit, there was a big chance that the LED will remain lit once power is removed from the system. This is because 74LS74 is powered through +5VSB rail which is always on. Section A of 74LS74 will store and reflect the previous state of A7 signal. And if this signal was high upon powering the system off, the LED will remain lit indicating false CPU activity.
In order for the microcode in the option ROM to be actually reachable, a valid start address needs to be supplied to the ROM decoder circuit. This is done by configuring the SW1 switch array. First of all, to enable the option ROM, SW1.1 needs to be set to ON. That means /G signal will be active low and the 74LS688 magnitude comparator will be active. Then SW1.2 needs to be set to OFF. That means ROM /WE signal is not active. Which is normal since we don't want to provide writing capabilities to a non-writable memory. However this switch is useful for programming empty ROMs directly in-place.
A combination of SW1.3, SW1.4, SW1.5, SW1.6, and SW1.7 will dictate the start address for the option ROM. Some combinations will generate conflicts with System BIOS or other option ROMs that might be present in the system. So double check their actual address range before configuring the on-board option ROM start address.
|OPTION ROM CONFIGURATION|
|Combination||SW1.3||SW1.4||SW1.5||SW1.6||SW1.7||Start Address||End Address||Conflict|
TO BE CONTINUED SOON At the moment I am waiting for the PCB to arrive from the Factory.
Copyright © 2004- Alexandru Groza
All rights reserved.
VER. 1.0 | REV. A