Hey all, I've been working on a project to build a cable pinout "solver". I've tried a few variations of my idea and I'm trying to narrow down why it's not working.
Problem Background:
I recently had a problem where I had access to an 8-pin connector. I knew that 4 pins were probably wired back to a USB port (for the sake of argument, let's say I knew it connected to a PC USB port), but I had no idea of the pinout nor access to check behind the connector.
I needed to figure out the pinout, so I used a multimeter to identify candidates for the VCC and GND, then essentially "brute force" manually tested combinations of 4 pins to a USB drive that had an LED indicator on it when data was communicating. So eventually when I got the pinout correct, the USB drive lit up and I knew the pinout was right.
The project:
In future, rather than manually testing each cable pinout, I thought why not build a circuit that automates it. I figured something like an analog mux would let me wire in 8 possible pins to a single output. So I could test possible combinations. From my limited knowledge it sounded like an analog mux might work.
To test it, I spliced a single USB cable data pin through a 4051 mux into a PC and ran the other USB wires directly (not through the mux). But the PC doesn't detect the USB drive. I also tested the wire running through the mux with a multimeter and got no continuity. After a bit of troubleshooting I realised the mux actually has resistance of ~125ohms and a continuity tester only pings if resistance is under ~40ohms. So it might be I had the mux correctly wired but just continuity test couldn't work due to resistance.
I then decided on an analog mux with very low resistance, SN74CBT3251 at ~5ohms. The continuity test started working, but I still could not get the USB protocol working with a data wire running through the mux.
I did a bit of research into some USB switching ICs, and I found that USB 2.0 wires require something like 60MHz frequency. I'm currently thinking that's where I'm going wrong in my logic and I actually need a switch or mux that can support a higher frequency connection.
This is stretching my knowledge so I'd really appreciate any pointers or topics to look into.
Cheers,
Josh