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 UV EPROMs 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, 80486, and Pentium 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||VER. 1.6 REV. A||Order from OSHPark|
|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-D4||1N4148||4||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, R11, R13||10 kΩ||3||Carbon Resistor||291-10K-RC|
|R10, R14||1 kΩ||2||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||20-pin Connector||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|
Alternatively you can use the following link to the Mouser project that I created for this backplane. It should make ordering of parts and removing typing faults pretty easy.
Mouser Project: 16-bit ATX ISA BACKPLANE
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||ATX Power Connector||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||PWR/STB-L||Power/StandBy LED||1 - Power LED Anode|
2 - LED Cathode
3 - StandBy LED Anode
|J3||PWR-L||Power LED||1 - LED Anode|
2 - LED Cathode
|J4||STB-L||StandBy LED||1 - LED Anode|
2 - LED Cathode
|J5||PWR||Power Switch||1 - Power Signal|
2 - Ground
|J6||5V FAN||5 V Cooling Fan||1 - Ground|
2 - +5 V
3 - NC
|J7||12V FAN||12 V Cooling 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. The 74LS688 magnitude comparator will be active once the CPU has control of the address and data bus. In other words /G signal will be active when AEN is not asserted (low). 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|
Let's proceed to the actual construction then.
This is the bare 2-layer printed circuit board (PCB).
Soldering the components.
And here is the printed circuit board assembly (PCBA) with all the components soldered.
Solder side. I was fun to solder all these many terminals but it was not so fun at all to clean the flux residues.
Bench testing phase follows quickly. I am using a modern Corsair power supply rated at 450 W. It is absolutely overkill for my project but it is all I could find around with a fair price-tag and from a reputable manufacturer.
All good by now so the PCBA is mounted in the PC case that I prepared for this project.
Note the first ISA card installed: a Tseng Labs ET4000/W32i equipped with 2 Mb RAM.
I got this ISA card from Ted Allen, owner and designer at Micro-Labs, Inc. He is a very nice person and he still has some of these fine cards for sale. Check this eBay link for more details. Ted has other ISA video graphics cards as well so please take a look since it worths if you're into 1990s PCs.
Next comes the testing phase with real hardware. I had used the following ISA cards.
And some standard hardware.
Detailed view of the Intel Pentium 100 MHz CPU. It has a small fan but I am pretty sure it can work without one if a bigger heatsink is used. TDP is about 8 W.
Games run smoothly. If you are too young -- good news for you, you have an entire life ahead -- to recognize the games below, here they are.
I had a lot of fun designing this project and building it. I fulfilled a small part of my dream from 26 years ago. Time to move on to the next project though...
Copyright © 2004- Alexandru Groza
All rights reserved.
VER. 1.0 | REV. A