Mulitple open-circuit transmission lines

spitransmission line

I'm using a single SPI microcontroller to talk to about 10 boards. Of course, only one of them is actively listening at a time, using chip select (for the unfamiliar, when chip select is high, the SPI inputs are high-impedance)

But, the clock/MOSI lines are going to be connected to all of the boards. There is no end-termination. So when talking to one board, the other 9 are high impedance; so, can I expect 9 back-reflections? If my logic voltage is 3.3V, might I end up with 3.3*9 volts at the source? (!?)

If this is the case, should I series terminate each line according to the transmission line impedance (ribbon cable, so ~100 Ohms)?

edit: Rise times of the digital signals are ~7ns. Time spent high or low is ~20ns.

edit2: My reasoning of 9*3.3 was based on this nice simulation a fellow stack-exchanger made: http://helloworld922.blogspot.com/2013/04/online-transmission-line-simulation.html

If you have no series termination and high impedance, you get up to 2*Vin at the source on the back reflection. That was just one wire; I just scaled that up for 9 more reflections. Is my logic flawed?

Best Answer

So when talking to one board, the other 9 are high impedance;

This isn't quite right. The input impedance of the receiver doesn't change when it is listening or not listening. So all 10 loads will be high impedance (or capacitive).

If this is the case, should I series terminate each line according to the transmission line impedance (ribbon cable, so ~100 Ohms)?

This won't do any good. 100 ohms in series with a high impedance is still a high impedance. If you are going to terminate these lines at the receiving end, you would need the termination to be in parallel with the load. But be careful before you do that and make sure your driver can actually drive a 100 ohm load.

Series terminations are more often seen at the source, since the driver tends to be low impedance, and, say, 95 ohms in series with the driver might match a 100-ohm line reasonably well.

If you have no series termination and high impedance, you get up to 2*Vin at the source on the back reflection. That was just one wire; I just scaled that up for 9 more reflections. Is my logic flawed?

Yes, your logic is flawed. Because if you split up the signal to lead to 9 (or 10) loads, only a fraction of the energy would travel down each line. If all the lines were the same length, you'd end up with a total reflection of 2*Vin (or probably a little less because some of the signal would have been reflected back at the fanout point, and returned out of phase with the other reflections).

So what should you actually do?

Depending on your design constraints, you could try

  • Connecting the loads in daisy-chain configuration and provide a parallel termination only at the end.

or

  • Use a fan-out buffer to drive the signal to each load separately