I have been working on a communication link between an FPGA and a SPI slave. The electrical connection between the two is done via a 2 metre cable composed of 42AWG wires with the following characteristics, as shown in the datasheet:
- Conductor: 7/0.025 (<-What does this mean?) Silver copper alloy
- Insulation: PFA 0.19 diameter
- Wire resistance 7000 MAX (<-what does this mean?)
- Characteristic impedance: 50 ohm
Looking at an old coworker's notes, the capacitance per meter found is 110pF/m.
In order to measure the impact of the cable's length on the SPI link, I created a RLC model (see figure 1.) Since the characteristic impedance of the cable is 50 ohm, I inserted a 50 ohm resistor at the output of the FPGA.
I ran some simulations and noticed some reflections on the signal (the normal, I guess.) Out of curiousity, I re-ran the simulation with a 100 ohm output resistor and it improved the quality of the pulsed signal. See the following figures for reference.
- 50 Ohm simulation
- 100 Ohm simulation
Now going to the question (as the title says):
Must the output impedance match the cable's characteristic impedance? If not, how do I determine/approximate the right value?
7/0.025
means 7 strands of 0.025mm-dia wires.7000 MAX
indicates the maximum DC resistance in Ohms per km at, generally, 20°C. As for your question, first, forget about an SPI application with 2m cables; and second, google "source-impedance termination" or "source termination" or "source matching". Although they apply to "unterminated" transmission lines, the research will help you find the answer. Oh, BTW, for properly terminated transmission lines, any series resistance such as source output impedance may make things worse. \$\endgroup\$