The option you did not try is to have end termination resistors with capacitors in series. Pick the capacitors so that the tau corresponds to 2 times the length of the transmission line.
the tau you will need is still twice the total length of the line. Increasing tau beyond that (which is what happens when the driver is towards the middle rather than at the end, which in turns shortens the length from the driver to the termination) just increases power consumption over the optimum case. But, as you say, you need to be able to handle the driver at the ends also, which is why I suggest 2x the line length. Edit: and if you go with a very large value (textbooks usually have 10x the line length for this example), it behaves the same as just the end termination resistor, but at lower power dissipation, _as long_ as the dwell time of the signal is greater than tau. If the dwell time is faster than tau, the power dissipaton is the same as a termination resistor to vcc/2.
Source terminating each chip is not easy since you have many of them spread across the bus. Terminating each end of the bus (as in CAN protocol, for instance) would mean half of the amplitude would reach the receiver (if you also source terminate). I would try an RC termination at each end. R would be the characteristic impedance of the transmission line. I would determine C empirically. This way you have the full amplitude and you are still terminating high frequencies. I have used RC terminations and had very good results. By the looks of your waveforms, you are having reflections and you are not properly terminating it. You should have a clean square wave without any ringing.
You may want to become familiar with SPICE simulations of transmission lines. An article that can help: i.cmpnet.com/rfdesignline/2010/06/C0580Pt1edited.pdf Change the C0580Pt1edited to C5080Pt2edited and C5080Pt3edited for parts 2 and 3. Part 3 includes a spice model for a transmission line as a 2-port network, which is faster than the built-in lossy transmission line simulation for most SPICE tools. TI has a handy application note, especially figure 5: www.ti.com/lit/an/slyt441/slyt441.pdf You'll probably also want to read Analog Devices Practical Guide to High Speed PCB layout: www.analog.com/media/en/analog-dialogue/volume-39/number-3/articles/high-speed-printed-circuit-board-layout.pdf and possibly AN-47. The pulse generator in AN47 appendix D is particularly handy for measuring transmission line reflection effects, because it tends to be faster than most signal generators (
Follow up .. I just went looking for a decent Oscilloscope and the price of that unit is a small house here in Canada. I think perhaps I won't be doing any lab work at home. Be thankful you have access to such equipment. Would be nice if you took a moment and did point out the units on the screen. I saw ( blurry ) what seems to be 100ps per point and thought "there is no way that instrument is getting 100 picosecond samples" and even thought "noise in the sensor cables and clips and EM sources would disturb a sugnal at those resolutions" but what do I know. Best scope I worked with was in the megahertz range and you have a Ferrari there at 25GHz or more.
I would RC terminate both ends with R=1.5 Z0 and engineer all cards with 0.5 Z0 output impedance and infinite input impedance. I would adjust C to give RC of about 0.7 of the end to end wave travel time (NOT round trip).
I have to ask if you have a physics background and have worked with electric field effects in conductors. I know you keep saying "wave" as if the electron cloud inside the conductors propagate in a wave like format but I don't think that is really what is happening. Hope we don't ever have to get to quantum mechanics but really I was looking at your oscilloscope at the 8:29 mark and questioning what I was seeing. Just .. thinking out loud here.
Amazing intro
The option you did not try is to have end termination resistors with capacitors in series. Pick the capacitors so that the tau corresponds to 2 times the length of the transmission line.
On a bus, the length of the transmission line is variable, so there is no value of capacitance that will work for all cards.
the tau you will need is still twice the total length of the line. Increasing tau beyond that (which is what happens when the driver is towards the middle rather than at the end, which in turns shortens the length from the driver to the termination) just increases power consumption over the optimum case. But, as you say, you need to be able to handle the driver at the ends also, which is why I suggest 2x the line length.
Edit: and if you go with a very large value (textbooks usually have 10x the line length for this example), it behaves the same as just the end termination resistor, but at lower power dissipation, _as long_ as the dwell time of the signal is greater than tau. If the dwell time is faster than tau, the power dissipaton is the same as a termination resistor to vcc/2.
Interesting! I will have to try that.
Actually, I think adding an RC on the ends is just a low-pass filter, so it will slow down the transition time. Ideally I'd like to avoid that.
I tried it, and it seems to have worked quite well! I think I'll use that, and I'm working on the video for it.
Source terminating each chip is not easy since you have many of them spread across the bus. Terminating each end of the bus (as in CAN protocol, for instance) would mean half of the amplitude would reach the receiver (if you also source terminate). I would try an RC termination at each end. R would be the characteristic impedance of the transmission line. I would determine C empirically. This way you have the full amplitude and you are still terminating high frequencies. I have used RC terminations and had very good results. By the looks of your waveforms, you are having reflections and you are not properly terminating it. You should have a clean square wave without any ringing.
You may want to become familiar with SPICE simulations of transmission lines. An article that can help: i.cmpnet.com/rfdesignline/2010/06/C0580Pt1edited.pdf
Change the C0580Pt1edited to C5080Pt2edited and C5080Pt3edited for parts 2 and 3. Part 3 includes a spice model for a transmission line as a 2-port network, which is faster than the built-in lossy transmission line simulation for most SPICE tools.
TI has a handy application note, especially figure 5: www.ti.com/lit/an/slyt441/slyt441.pdf
You'll probably also want to read Analog Devices Practical Guide to High Speed PCB layout: www.analog.com/media/en/analog-dialogue/volume-39/number-3/articles/high-speed-printed-circuit-board-layout.pdf and possibly AN-47. The pulse generator in AN47 appendix D is particularly handy for measuring transmission line reflection effects, because it tends to be faster than most signal generators (
Follow up .. I just went looking for a decent Oscilloscope and the price of that unit is a small house here in Canada. I think perhaps I won't be doing any lab work at home. Be thankful you have access to such equipment. Would be nice if you took a moment and did point out the units on the screen. I saw ( blurry ) what seems to be 100ps per point and thought "there is no way that instrument is getting 100 picosecond samples" and even thought "noise in the sensor cables and clips and EM sources would disturb a sugnal at those resolutions" but what do I know. Best scope I worked with was in the megahertz range and you have a Ferrari there at 25GHz or more.
DPO7104 (the oscilloscope) is 1 GHz if I remember correctly.
I would RC terminate both ends with R=1.5 Z0 and engineer all cards with 0.5 Z0 output impedance and infinite input impedance. I would adjust C to give RC of about 0.7 of the end to end wave travel time (NOT round trip).
I have to ask if you have a physics background and have worked with electric field effects in conductors. I know you keep saying "wave" as if the electron cloud inside the conductors propagate in a wave like format but I don't think that is really what is happening. Hope we don't ever have to get to quantum mechanics but really I was looking at your oscilloscope at the 8:29 mark and questioning what I was seeing. Just .. thinking out loud here.
Just out of interest, what probes are you using?
I have a Tektronix P6139A 500MHz 10x probe.
Your scope/probe might not be fast enough to see switching spikes. Maybe slow down your toggle slew rate a little?