I was thinking about 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 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 5 V 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 forgot the model numbers. Looking at those PCBs, I dreamed 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.
Disclaimer: I reserve the right to change the schematic diagram, the PCB layout, or the implementation without further notice. This is an entirely hobby do-it-yourself design and I am not responsible for any damage made by any possible mistake in any version or revision of the schematic diagrams or PCB layouts. Since it is an advanced microelectronics project, it requires very good assembly and debugging skills. In addition, I cannot offer any further technical support other than the contents of this article.
This project is in its final stage.
Current iteration of ASSY. 2486-SBP-001 is VER. 1.6 REV. B
* * *
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 diagram and circuit board layouts to the public for educational purposes. I did all this at my own expense and in my free time. If you like my work, please consider making a donation. It helps me continue these kind of projects.
Fig. 1: Electrical Schematic Diagram
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
Here are the Gerber files compressed in a .ZIP archive.
Please note that the file naming convention that I used is what OSHPark normally expects.
You can also order the printed circuit board directly from OSHPark by following the link in the bill of materials below.
Compressed Gerber Files: isa-backplane.zip
The following list contains the parts that are required to assemble this ISA backplane.
16-BIT ATX ISA BACKPLANE | ||||
---|---|---|---|---|
Identifier | Value | Qty | Notes | Mouser Number |
Printed Circuit Board | ASSY. 2486-SBP-001 | 1 | VER. 1.6 REV. B | Order from OSHPark |
IC1 | 74LS688 | 1 | Magnitude Comparer | 595-SN74LS688N |
IC2 | 28C64 | 1 | 64 Kbit ROM | 556-AT28C64B15PU |
IC3 | 74LS14 | 1 | Hex Inverter (ST) | 595-SN74LS14N |
IC4 | 74LS74 | 1 | Dual D Flip-Flop | 595-SN74LS74AN |
IC5 | LM555 | 1 | Timer | 926-LM555CN/NOPB |
IC6 | UA7905 | 1 | Negative Regulator | 595-UA7905CKCS |
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 |
SW1 | 7-position | 1 | DIP Switch | 774-2067 |
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 | 20-pin | 1 | IC1 | 575-11044320 |
IC Socket | 28-pin | 1 | IC2 | 575-11044628 |
IC Socket | 14-pin | 2 | IC3, IC4 | 575-199314 |
IC Socket | 8-pin | 1 | IC5 | 575-144308 |
J1 | 20-pin Connector | 1 | ATX Power Connector | 538-46015-2006 |
J2 | 3-pin Header | 1 | Header | 649-68001-203HLF |
J3-J5 | 2-pin Header | 3 | Header | 649-68001-202HLF |
J6, J7 | 22-23-2031 | 2 | Fan Connector | 538-22-23-2031 |
JP1 | 3-pin Header | 1 | Jumper | 649-68001-203HLF |
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
Lately I have observed that Mouser discontinued some of the parts in the list above. If you decide to build this project, then you need to find alternatives. It is out of my scope to maintain the correctness of the parts list above.
Here is a list of things you need to pay attention to should you decide to build such ISA system backplane.
The following section describes all the interface connectors and their respective pinouts.
INTERFACE CONNECTORS DESCRIPTION | |||
---|---|---|---|
Identifier | Value | Notes | Pinout |
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 |
1 | ON | ON | ON | ON | ON | 0xC0000 | 0xC1FFF | EGA/VGA BIOS |
2 | ON | ON | ON | ON | OFF | 0xC2000 | 0xC3FFF | EGA/VGA BIOS |
3 | ON | ON | ON | OFF | ON | 0xC4000 | 0xC5FFF | EGA/VGA BIOS |
4 | ON | ON | ON | OFF | OFF | 0xC6000 | 0xC7FFF | EGA/VGA BIOS |
5 | ON | ON | OFF | ON | ON | 0xC8000 | 0xC9FFF | |
6 | ON | ON | OFF | ON | OFF | 0xCA000 | 0xCBFFF | |
7 | ON | ON | OFF | OFF | ON | 0xCC000 | 0xCDFFF | |
8 | ON | ON | OFF | OFF | OFF | 0xCE000 | 0xCFFFF | |
9 | ON | OFF | ON | ON | ON | 0xD0000 | 0xD1FFF | |
10 | ON | OFF | ON | ON | OFF | 0xD2000 | 0xD3FFF | |
11 | ON | OFF | ON | OFF | ON | 0xD4000 | 0xD5FFF | |
12 | ON | OFF | ON | OFF | OFF | 0xD6000 | 0xD7FFF | |
13 | ON | OFF | OFF | ON | ON | 0xD8000 | 0xD9FFF | |
14 | ON | OFF | OFF | ON | OFF | 0xDA000 | 0xDBFFF | |
15 | ON | OFF | OFF | OFF | ON | 0xDC000 | 0xDDFFF | |
16 | ON | OFF | OFF | OFF | OFF | 0xDE000 | 0xDFFFF | |
17 | OFF | ON | ON | ON | ON | 0xE0000 | 0xE1FFF | |
18 | OFF | ON | ON | ON | OFF | 0xE2000 | 0xE3FFF | |
19 | OFF | ON | ON | OFF | ON | 0xE4000 | 0xE5FFF | |
20 | OFF | ON | ON | OFF | OFF | 0xE6000 | 0xE7FFF | |
21 | OFF | ON | OFF | ON | ON | 0xE8000 | 0xE9FFF | |
22 | OFF | ON | OFF | ON | OFF | 0xEA000 | 0xEBFFF | |
23 | OFF | ON | OFF | OFF | ON | 0xEC000 | 0xEDFFF | |
24 | OFF | ON | OFF | OFF | OFF | 0xEE000 | 0xEFFFF | |
25 | OFF | OFF | ON | ON | ON | 0xF0000 | 0xF1FFF | |
26 | OFF | OFF | ON | ON | OFF | 0xF2000 | 0xF3FFF | |
27 | OFF | OFF | ON | OFF | ON | 0xF4000 | 0xF5FFF | |
28 | OFF | OFF | ON | OFF | OFF | 0xF6000 | 0xF7FFF | |
29 | OFF | OFF | OFF | ON | ON | 0xF8000 | 0xF9FFF | |
30 | OFF | OFF | OFF | ON | OFF | 0xFA000 | 0xFBFFF | |
31 | OFF | OFF | OFF | OFF | ON | 0xFC000 | 0xFDFFF | |
32 | OFF | OFF | OFF | OFF | OFF | 0xFE000 | 0xFFFFF |
Let's proceed to the actual construction then.
This is the bare 2-layer printed circuit board (PCB), component side.
And a view of the solder side.
PCB details.
I began by soldering the smallest components first.
Followed by the MLCCs and the tantalum capacitors.
The eight card edge connectors followed next.
I soldered the LEDs, IC sockets, small-signal transistor, switch array, and ATX power connector.
And here is the printed circuit board assembly (PCBA) with all the components soldered.
Solder side. It was fun to solder all these many terminals but it was not so fun at all to clean the flux residues.
Eventually, the flux cleaned up really well, but it took a lot of time.
The bench testing phase followed up next. 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 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 video card from Ted Allen, owner and designer at Micro-Labs, Inc. He is a very nice person and, at least as of 2019, he still has some of these fine cards for sale. Ted has other ISA video graphics cards as well, so please take a look since it is worth if you're into 1990s PCs.
Idling...
Next, comes the testing phase with real hardware. I 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 even 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 are their titles.
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...
Here I am in June 2020, already thinking into the future about my next project. So, still having some bare PCBs left from the initial order, I decided to build a second backplane. I will use this one with a new 80386 CPU based server. More on this at a later point in time. For now let's concentrate on the construction of this second backplane.
Again, the bare 2-layer printed circuit board.
This PCB has a minor scratch on the solder side between ISA Slot 4 and 5. Only the purple soldermask is scratched. The copper traces are not affected.
Soldering the components. Since Mouser was out of stock on 10 uF tantalum capacitors, I went with solid aluminum polymer capacitors instead.
Capacitor array.
More capacitors.
I am missing a resistor array since it was not in stock at Mouser.
These LEDs are eye-catchy.
This design is already two years old. I can't believe how fast time flies by.
Solder side looks nice. This time I had fun both while soldering all these THD terminals and while cleaning the PCB, because I used pure acetone -- sic.
The backplane PCB assembly is mounted in an old AT case which I easily converted to ATX by slightly altering the internal mechanism of the power button. Then I soldered wires directly to the button terminals and made a small cable that connects to the backplane Power Switch header.
This old case has some weird looking plastic posts for securing the mainboard (or backplane in my case) to the metal chassis. These posts don't fit the diameter of the holes that I designed. So, I had to improvise and make my own binding posts from some longer M3 machine screws, some washers, and a couple of nuts. This binding system looks good, is sturdy, and future proof.
Testing with some random ISA cards that I have around.
This section lists the project version and revision history.
Copyright © 2004- Alexandru Groza
All rights reserved.
VER. 1.0 | REV. A