Close
0%
0%

RC2014 Bus Extender

A buffered I/O extender to allow a second (and third) backplane to be used and free up I/O ports

Similar projects worth following
The RC2014 bus extender allows a second (and third) backplane to be added to an RC2014 system and hold the usual 8bit addressed I/O devices with or without interrupts. The devices are remapped to a 16bit port address, the lows of which are fixed by extender settings. This allows the extender to know the direction of flow and also means multiple potentially clashing devices can be used.

I ran out of slots. 12 is not enough, and I didn't feel comfortable trying to do 24 or 36 slots with active termination because.. lets face it.. termination is deep magic.

Instead the board is a combination of buffers driving the unidirectional signals onto the secondary bus, some very generic decode logic to match a specific 8bit port, and a very standard bidirectional 8bit I/O port that happens to be wired to the data bus of the secondary.

When the low 8bits of the I/O port in question match, the request ends up on the secondary bus with the upper 8bits of the port remapped to the lower bits on the secondary bus. The data bus is buffered in the right direction according to the R/W lines. The first version has a slight glitch in that I forgot to add jumpers so you can avoid driving RX/TX across the boards when they are in use on the primary (as would be normal). Hence the pin sticking out in the picture.


0.2 should fix that but will not get tested until the next PCB orders.

ioexpander.kicad_pcb

Kicad PCB layout

x-kicad-pcb - 302.48 kB - 11/08/2019 at 21:03

Download

ioexpander.sch

Kicad Schematic

x-kicad-schematic - 20.48 kB - 11/08/2019 at 21:03

Download

  • 1 × 74HCT32 Electronic Components / Misc. Electronic Components
  • 1 × 74HCT688 Electronic Components / Misc. Electronic Components
  • 3 × 74HCT245 Electronic Components / Misc. Electronic Components
  • 5 × 0.1µF capacitor
  • 1 × 10K resistor

View all 8 components

  • 1
    Construction Notes

    I found it easier to solder the two 40 pin connectors and then work on the component side of the board. Everything is through hole so it's easiest to just work up by height until assembly is complete.

    The jumpers do the following

    JP1: determines if A8-A15 should always be driven across the bus or only when the port matches.

    JP2: fit this jumper to drive the TX from the secondary bus onto the primary.

    JP3: fit this jumper to drive the RX from the primary onto the secondary.

    If you really need 36 slots you should be able to solder the two 40pin connectors the other way up and install an inverted board between the front of the primary and the back of the tertiary. It will need a different I/O address to the secondary.

  • 2
    Power

    The board does not address power consumption power is simply carried across the bus. It might help to also wire the backplanes together directly using the screw terminals many have I don't know.


    If you need a really long case hold a 6x4 index card up in front of your system and it should fit well within the profile. In the UK at least ebay is full of old index card drawers and holders - just be sure that it's a 6x4 not 5x3 size.

View all instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates