hardwaregpioparallel-port

Reading/writing 9 different I/O lines with PC hardware


I have one of those problems which can probably be solved using an Arduino or a Raspberry Pi, but I'm wondering if a good old regular desktop or laptop is actually the simplest approach.

I need to test an industrial amount of custom cables. Each cable has 9 wires and two ends, which we can call A and B. I want to make sure that if a signal is given to Ax on one end (for x in [0..8]), then the corresponding Bx gets the signal (and only Bx, as I want to test for possible short-circuits). So basically I need a device where I can independently write to 9 output pins, and simultaneosuly read from 9 input pins.

Mind you, I have plenty of experience with low-level bit-manipulation programming in C, but not much experience programming I/O ports. At first I though that a parallel cable -- having tons of pins -- might do the trick, but it seems that only 8 of those pins are actually readable or writable. Is this correct? And can I write to 8 pins and simulataneously read from 8 other pins? If so, then I might be able to put together a solution by using two parallel ports (there's a total of 9 wires that I need to test, remember).

Anyway, is there some other PC port that would allow me to read/write 9 lines simultaneously? I would very much appreciate your insight into this problem. There may be an out-of-the-box approach I am not considering, or perhaps some simple and cheap USB peripheral that gives me tons of GPIO pins.


Solution

  • You are going to need some external device with I/O. I would go with a microcontroller board that with one usb cable you can power and communicate, stm32 discovery I think, mbed, an arduino or avr, etc. Does the pc actually care? you could just have a microcontroller board always be trying the I/O and have a pass and fail led, plug the cable in fail led goes off pass goes on, next...Opens the door to more boards msp430 launchpad, and others. Or just roll your own at oshpark.com or other similar place.

    I assume you realize there are off the shelf cable testers that do this and impedance, capacitance, check for shorts, etc. And have various standard connector modules depending on what connectors you are using on each end. With a microcontroller board or a pc you would need to fashion a fixture to put the connectors on anyway.