In order to save cost on the system in one of my current projects (no cables) I would like to eliminate the CAN cable and add traces to the PCB (one pair from left to right to connect the connectors + 1 pair stub to the CAN Transceiver on each board). As I have anyway a continues chain of PCBs connected by a connector with free Pins this seems fairly reasonable to do. I'm planning to implement CAN with a fairly low speed (125kbits/sec).
Each PCB looks roughly like this:
The system is set up likes this and is about 50m long!
I've read a couple of other questions (e.g. here, here and here) and articles and application notes (such as this, this and this). But am nowhere near to fully understand it.
I have a couple of questions for this:
First one is regarding the transmission line impedance.
- The 120Ohm standard are differential impedance of or singled ended for each CAN_H and CAN_L?
- how to reach 120Ohm impedance on a 4 layer board? (I use JLCPCB standard 4 layer stack-up, and with their calculator I don't reach 120Ohm for single ended and for differential I only get close with 3.5mil trace + 4mil spacing - which is close to their absolute minimum).
- Can I / should I add extra components to the bus traces, to reach the 120Ohm?
Regarding shielding:
- Despite the impedance topic, in the CAN specification a shielded twisted pair cable is recommended. Shall I in that case better route the CAN lines on one of the inner layers and shield it by a GND plane above, beside and below?
Regarding twisted pair:
- Would it make sense to model the traces on the PCB similar to a twisted pair (e.g. something like this
Overall the questions can be summarized to:
Which trace width, spacing on which layer give me the best result for long CAN traces on a 4 Layer PCB and how do I shield it?