I have been trying to figure out if it is possible to terminate a bidirectional bus from one end only. I have found techniques for terminating a bidirectional bus using both sides of the line, but haven't found one that just uses one side.
This is a circuit I came up with that attempts to terminate the bidirectional bus:
The design is pretty simple, Rseries1 is a series termination for when XCVR2 is driving, and Rparallel1,2 are a parallel termination for when XCVR1 is driving.
Will this work? Is there is a better way that I'm missing? It doesn't need to perfectly eliminate reflections, it just needs to be better than an unterminated line.
This is a debug bus for a SiLabs microcontroller. The board on the left is the programmer, and the board on the right is my board. The cable is ~6" ribbon with a characteristic impedance of ~80 ohms.
The vendor recommends just populating Rparallel1, but some people have had issues with that configuration. Running at a lower frequency is possible, but I'm more interested in this problem now :)
Edit: more information
- Cable length: 6"
- Prop delay: 1.25 ns/ft
- Maximum bus freq: 12 MHz (~16 ns rise time max)
- Maximum part freq: 50 MHz (~4 ns rise time max)