I've been given a task to design a wiring harness tester for automobiles. The tester's job is to test wiring harnesses which can contain upto 300 wires. My initial design was quite simple. Feed the wires 5V and connect them to multiplexers. The AVR can address the mux and test each line to see if its high. If its high, the wire is good to go. In my "back of the envelope" design I chose to use 10 32-channel mux.
Of course, addressing each would also take 50 pins in itself - not practical. But I could address each using the same pins - that is, I could wire them in parallel. So if I set mux 1 to select line 12, the rest of the 9 mux also do that. The uC can then check to see if all these 10 lines are high - if so, they are all good to go.
However, I also need to check to see if two lines (or more) are short circuited. Obviously, this means that I'll need to make sure that the only the line being addressed is high. How can I ensure this? To my understanding, I'm going to need some sort of device which can switch voltages for lines.
I thought of using a demultiplexer to switch the 5V onto the wire being tested. So suppose wire 'B' is being tested - the uC would switch 5V onto wire 'B' and then run through all wires to see if they are high. If only the other end of wire 'B' (i.e. B`) are high, then the wire is good.
What would be the best way to approach this problem? My ultimate goal is to test the entire wiring harness and then display the errors (or lack of) on a 20 x 4 LCD.