[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Fun challenge: cat-5 cable tester



I was thinking about this some more during my morning constitutional.  (For those of you with your minds in the gutter, that means during my morning walk, not what you were thinking).  Since I didn't have the original email in front of me, I simplified the circuit slightly:

| P0/AD0       R1                      
|  |----------\/\/\--< <--------> >-------+
|  |                                      \
|  |                                      /
|  |                                      \ R2
|  |                                      /
|  |----------\/\/\--< <--------> >-------+
P1/AD1          R3

In this configuration, I'm a little stumped, because I presume the A/D Converters have high impedance inputs.  If I set P0 high, then, I'll read +5V (or +3.3V, or whatever) at AD1, assuming that there are no opens in the circuit.

What made more sense to me was to look at:
|                R1                      
|     |----------\/\/\--< <--------> >-------+
|     | P0             |                     \
|     |----------------+                     /
|     |AD0                                   \ R2
|     |                                      /
|     |----------\/\/\--< <--------> >-------+
|     |P1          R3  |
|     |----------------+
|     |AD1

(It's ridiculous doing this with proportionally spaced fonts -- copy and paste this into something with fixed spaced fonts to see what it really looks like)


In this manner, I can set P0 high, P1 low, and measure the voltages at AD0 and AD1.  To make the math simple (because simple math is what I use to minimize the number of mistakes I make), let's assume R1, R2, and R3 are all equal, and that P1 drives 3V onto the pin when it is high.  Then, if everything is working correctly, when P0 is high and P1 is low, I should see 2V at AD0 and 1V at AD1.  (Please check me on this -- electrons and I seldom agree on what path they should take).

If there is a short between the two conductors, then I think that AD0 and AD1 will both read 1.5V.

If there is an open, then I think I can't detect that, unless I do something like:

|                R1                      
|     |----------\/\/\--< <--------> >-------+
|     | P0             |     (1)             \
|     |----------------+                     /
|     |AD0                                   \ R2
|     |           R3                         /
|     |----------\/\/\--< <--------> >-------+
|     | P1             |     (2)             \
|     |----------------+                     /
|     |AD1                                   \ R4
|     |           R5                         /
|     |----------\/\/\--< <--------> >-------+
|     |P2              |     (3)
|     |----------------+
|     |AD2

Then, I repeat the experiment with P2 placed in a high impedance state.  I can test for good connections and shorts along conductors (1) and (2).  If I detect an open (detected as AD0 reads +3V, AD1 reads 0V), then I can test conductors (2) and (3), and (1) and (3) to see which one is open.

Lather, Rinse, and Repeat for all 8 conductors.

This ends up with a uP that needs 8 GPIO's and 8 separate A/D converters (or perhaps a single A/D converter and an 8-way analog mux), and I'm probably missing something blatantly obvious to everybody else, but I don't mind making a fool of myself in the interest of learning something.

What do you folks think?

--wpd


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user