3
\$\begingroup\$

I have a large, but slow, SPI bus comprising of 8 devices. The frequency of operation is 2 MHz. As I understand, I need to ensure that the bus lines are properly terminated or reflections may cause signal integrity issues. The max. length that my signal can transfer is 1 foot over a standard ribbon cable.

One thing that I'm missing is the rise/fall times of my signal, which would actually determine if I have high frequency components in the signal requiring proper termination. I buffer the signal with a NC7WZ16 IC but was not able to find the rise/fall times in the datasheet.

How can I ensure that the bus is properly terminated to minimize reflections? The load is a CPLD in all cases.

\$\endgroup\$
  • \$\begingroup\$ The rise and fall times are in the datasheet; check page 3 for rise and fall times and page 5 for other important characteristics. \$\endgroup\$ – Kevin Vermeer Mar 11 '12 at 19:14
  • \$\begingroup\$ @KevinVermeer Aren't those input rise/fall times? \$\endgroup\$ – Saad Mar 11 '12 at 19:18
  • \$\begingroup\$ On a buffer like this, the outputs should mirror the inputs as long as you don't go faster than the ratings shown. \$\endgroup\$ – Kevin Vermeer Mar 12 '12 at 2:11
6
\$\begingroup\$

2 MHz gives a 500 ns bit period. 1 foot foot of ribbon cable would be about 1.5 ns (or less) propagation delay or 3 ns round trip.

Adding termination resistors will increase power consumption, and the CMOS-style chip you're using isn't really designed to work with a terminated line.

A cleaner solution is to slow down your rise and fall times. You could easily transport 2 MHz signals with 50 ns rise and fall times. One way to get slower edge times is to use a different chip than the "ultra-high speed" part you chose. Another would be add a series resistor at the driver outputs. This resistor doesn't have to exactly match the transmission line characteristic impedance, just slow the edges when combined with the line's capacitance. As an added benefit, if someone comes along later and wants to use your circuit with a shorter ribbon cable (and less capacitance), the loss from the series resistor will still help to kill any ringing quickly so its died down by the time (250 ns later) that your receiver samples the signal.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ Thank you. Would the series resistance slow down the signal even if I place them somewhat further away from the source? My buffers are placed next to the uC but my off-board connectors, where the ribbon cable connects, is on the edge of the board (a distance of 5"). If I place the resistance next to the connectors, would it work? There's zero space near uC. \$\endgroup\$ – Saad Mar 12 '12 at 6:07
  • \$\begingroup\$ I don't know enough about your board to say for sure what will work and what won't, but I'd guess that you'd be better off to move the buffers away from the uC and put the resistor close to the buffer output. But at this speed you can get away with a lot, so probably you'll be okay with having the resistors 5" from the buffer. \$\endgroup\$ – The Photon Mar 12 '12 at 15:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.