How many MHz can a 1.27mm ribbon cable handle? - Page 1
Forum section: electronics / projects

author: ivonenand
author_rank: Contributor
timestamp: February 14, 2016, 12:28:08 pm
content: Hi Guys,I would like to transfer a standard SPI data (at 3.3V) over a 1.27mm pitch ribbon cable connected to a 2.54mm dual row header. Has anyone tried, how many MHz can this kind of cable handle? I would need it to run at about 25-30MHz. The cable length would be about 40-50cm.Thanks in advance for any input,Ivo

author: dom0
author_rank: Super Contributor
timestamp: February 14, 2016, 12:35:42 pm
content: It shouldn't be a problem, but noise immunity can be improved if you put a ground line between the data lines:G CLK G MISO G MOSI G /CS G +5

author: bktemp
author_rank: Super Contributor
timestamp: February 14, 2016, 01:22:34 pm
content: There is almost no limit. I have used ribbon cable for LVDS at over 500MBit/s. It worked well up to 2m.If you have the impedance right and use proper termination at both ends, ribbon cable can work at hundreds of MHz.Using a GND - signal - GND - signal - GND pattern and driving the signals with around 100ohms source impedance it should be no problem.

author: tggzzz
author_rank: Super Contributor
timestamp: February 14, 2016, 01:36:01 pm
content: Quote from: ivonenand on February 14, 2016, 12:28:08 pmThat should work, but you should take precautions:in the cable have ground-signal-ground-signal-...-signal-ground. That will reduce ground bounce, crosstalk, and provide a roughly 100ohm controlled impedance linedepending on the signal transition times (i.e.notsignal periods), it may be necessary to have the standard terminations to reduce reflections which can cause overvoltages and subtle malfunctionsdon't have anything with large rapidly varying currents or voltages in the same cable - that could introduce noise

author: T3sl4co1l
author_rank: Super Contributor
timestamp: February 14, 2016, 02:21:10 pm
content: Hella.

author: uncle_bob
author_rank: Unknown
timestamp: February 14, 2016, 06:57:31 pm
content: HiIf it's standard SPI on normal CMOS, termination issues will get you before the cable does. Differential signaling is different in this respect, it's always terminated. With CMOS,source termination is simple. A 100 ohm resistor in series with your output will give you a reasonable match to the cable. On the other end, you could use two 200 ohm resistors (one to ground one to 3.3V) or a singe 100 ohm to a 1.65V termination supply. Either way your logic swing is half what it was. That gets you a bit close to the noise limits on most devices. Next thing would be an AC termination (0.1uf in series with 100 ohms). That would terminate the fast edges, but not take care of the lower frequency stuff. Definitely include the source termination in your design. If you have the room, allow for (but do not install) the AC termination. If you have trouble, fiddle with the load termination.Bob

author: Kalvin
author_rank: Super Contributor
timestamp: February 14, 2016, 07:14:22 pm
content: Placing a 100 ohm resistor in series with all signal wires at the both ends of the ribbon cable will not hurt. Thus, you do not have to really mind which signal is input and which signal is output, and it will also work automagically with bidirectional signals like a charm. Just make sure that at least the clock and control signals are paired with the adjacent ground. For best performance pair every signal with a ground: ground - signal A - ground - signal B - ground - signal C - ground ... like others have already suggested.

author: uncle_bob
author_rank: Unknown
timestamp: February 14, 2016, 07:31:16 pm
content: Quote from: Kalvin on February 14, 2016, 07:14:22 pmHiA resistor in series at the load end will not hurt. It also is unlikely to help much. The terminating load impedance will be the 100 ohms in series with a few pf of load from the gate. The 100 ohms and a 0.1 uf will work to a much lower frequency.Bob

author: T3sl4co1l
author_rank: Super Contributor
timestamp: February 14, 2016, 10:46:09 pm
content: Quote from: uncle_bob on February 14, 2016, 07:31:16 pmYou only need C >= 2.5 x Cstray, whatever that is (~50-100pF/m of line?).0.1uF is so large, you are likely to get pattern-dependent bit errors, because the input is being loaded to voltages between V_IH(min) and V_IL(max).Source termination is better than load termination, for point-to-point interconnects (e.g., USB, PCIe). For bus interconnects, you often have no choice but to do load or double termination (e.g., RS-485 multi master). Noisy environments give some advantage to load termination, because then you can apply CM filtering to improve immunity.Note that a logic output pin has some series resistance, usually around 30-70 ohms, so you don't need a full 100 ohms to match it. 33-68 ohms is typical.If your line length and bit rate are small, you can save more EMI by using an excessively large value (>300 ohms?), or filtering even more (extra C, ferrite bead, etc.).Tim

author: uncle_bob
author_rank: Unknown
timestamp: February 15, 2016, 12:02:26 am
content: HiLast time I put the time into checking it, the impedance of the ribbon cable came out to about 120 ohms.Bob

author: T3sl4co1l
author_rank: Super Contributor
timestamp: February 15, 2016, 03:27:43 am
content: Datasheets typically call out ~130 ohms differential (adjacent wires as pairs, the rest open circuit), 100 ohms alternate (GND-signal-GND).You can draw the cross section and run it in ATLC to see what other combinations can do.Tim