Background: I need to set up a CAN bus between different components of an electric UAV (battery management system, motor inverter, autopilot, etc.). My avionics/networking experience up to now includes home networking, RC hobby servos (PWM), and "smart" hobby servos (serial), so I'm familiar with the general process I have to follow in terms of network software (device IDs, baud rates, etc).
Problem: I've never dealt with the idea of "termination". I keep reading something along the lines of "CAN needs 120Ω termination at each device".
This video helps me understand why I need termination, but I'm not sure how to implement that.
Am I supposed to slap a 120c resistor parallel to the CAN_H and CAN_L pins of each device?
OR
Should I measure the impedance of a length of desired wire length and match that impedance?
For example: I need 75 cm of wire between device A and B. I've set CAN bit rate to 250 kbps. I connect 75 cm of wire connected to a signal generator supplying a square wave at 250 kHz and measure an impedance of 75 Ohms. I terminate with a 75Ω resistor.
Followup questions:
- Do I need to terminate at both ends of a connection?
- Is there a hand-held tool for measuring impedance at a set frequency?
- What is the recommended way of connecting a wire branch from the main CAN line to a set device? Solder?