Closing out a few details on the SPI communications that might help someone trying to design an extended distance control of an ADC or other sensor.
In my previous post a method was proposed to back terminate the SPI signal lines using a series resistor to match the propeller driver impedance to the line impedance. By experimentation I’ve come up with an output impedance for the propeller of 35 ohms.
I used a 10ns length of unterminated RG58 and an SPI clock toggle of 50us. The rise time of the propeller out was about 1 volt/ns and came out the other end of the cable at about 0.5 volts/ns. Notches were apparent at the source, as well as ringing at the direct DC 10 meg input to the scope (500MHz 2465B). Adding 17 ohms left a 50% notch at the source and, at the other end, eliminated the ringing at the scope input, indicating a good back termination. This bodes very well for anyone that wants to drive coax and get a pretty clean signal to the destination.
CAT5/6. The internet consensus is that CAT5 & 6 line impedance is 100 +/- 15 ohms. I used a length of 27 feet and found 76 ohms in series works well to reduce ringing and reflections (76 + 35 = 102 ohms). This seems to support the RG58 measurements. Also the CAT5 round trip delay was aprox 80ns, which closely matches the formula for delay 2 X “40.5ns = (27ft X 12) / 8 inch per ns.” The width of the notch indicated the round-trip delay in nano seconds.
This may seem academic but the hard numbers and results have merit. It may be useful to someone that wants to place an SPI device at the end of a long length of CAT5 cable, supplying +12V power that is down regulated at the end and enable serial data transmission at 10MHz clock rates. This doesn’t mean constant high speed data transfer is occurring. It does mean when a request is made by the propeller, a fast response with data in a few microseconds will happen. This leaves more processing time available for other tasks or remote sensors.
Two way I/O data: If both ends of the cable have 76 ohm resistors it can be used as an IO line, possibly between two propellers. This allows both sources to be 100 ohm-back terminated and the far end unterminated-open while in the input-receive mode.
As a side note, lines that were left to float picked up 1 volt of cross talk from the 3.3 volt clock pulse even though the clock was twisted with ground and connected to ground at both ends.
Comments
You're right, "friendly head butting" is the perfect description. I guess we all like to think our way of doing things is the best way.
In my previous post a method was proposed to back terminate the SPI signal lines using a series resistor to match the propeller driver impedance to the line impedance. By experimentation I’ve come up with an output impedance for the propeller of 35 ohms.
I used a 10ns length of unterminated RG58 and an SPI clock toggle of 50us. The rise time of the propeller out was about 1 volt/ns and came out the other end of the cable at about 0.5 volts/ns. Notches were apparent at the source, as well as ringing at the direct DC 10 meg input to the scope (500MHz 2465B). Adding 17 ohms left a 50% notch at the source and, at the other end, eliminated the ringing at the scope input, indicating a good back termination. This bodes very well for anyone that wants to drive coax and get a pretty clean signal to the destination.
CAT5/6. The internet consensus is that CAT5 & 6 line impedance is 100 +/- 15 ohms. I used a length of 27 feet and found 76 ohms in series works well to reduce ringing and reflections (76 + 35 = 102 ohms). This seems to support the RG58 measurements. Also the CAT5 round trip delay was aprox 80ns, which closely matches the formula for delay 2 X “40.5ns = (27ft X 12) / 8 inch per ns.” The width of the notch indicated the round-trip delay in nano seconds.
This may seem academic but the hard numbers and results have merit. It may be useful to someone that wants to place an SPI device at the end of a long length of CAT5 cable, supplying +12V power that is down regulated at the end and enable serial data transmission at 10MHz clock rates. This doesn’t mean constant high speed data transfer is occurring. It does mean when a request is made by the propeller, a fast response with data in a few microseconds will happen. This leaves more processing time available for other tasks or remote sensors.
Two way I/O data: If both ends of the cable have 76 ohm resistors it can be used as an IO line, possibly between two propellers. This allows both sources to be 100 ohm-back terminated and the far end unterminated-open while in the input-receive mode.
As a side note, lines that were left to float picked up 1 volt of cross talk from the 3.3 volt clock pulse even though the clock was twisted with ground and connected to ground at both ends.