CAN Newsletter magazine
Setting the bit rate is simple, but requires some background knowledge about the trade-offs.
Kent Lennartsson, Kvaser’s research manager, describes in his article “optimizing bit rate on robustness” criteria for the setting of the CAN bit timing. He provides a step-by-step method to optimize the configuration. He summarizes: “In most cases, the used bit-length is longer that the BIT_LENGTH_MIN and in that case it is possible to divide this slack into the different parts in the CAN bit. To ensure the CAN system’s robustness against variations in the cable length and delays in the circuits, this slack should be assigned to the PROPAGATION_SEGMENT. To ensure the CAN system’s robustness against phase noise and variations in clock tolerance, this slack should be divided between PHASE_SEGMENT1 and PHASE_SEGMENT2. If it is not known which part is the weakest, the best solution is probably to divide the slack between PROPAGATION_SEGMENT, PHASE_SEGMENT1, and PHASE_SEGMENT2.
It should be noted that an unnecessary large SJW will make the CAN system more sensitive to noise, because the resynchronization mechanism can ́t know if the phase shift is due to accumulated phase shift, that should be compensated, or non-accumulated phase errors that could result in an unnecessarily large phase compensation.
With this approach you will get the most robust CAN system according to the knowledge provided. The other approach is to predefine some basic setting for the bit-timing. If this setting is used, there will be one system with maximum robustness. By deviating from this optimal system, a system will become weaker compared to an optimal CAN system. CAN is very robust so it is possible to have larger deviations before the CAN system will encounter any real problems.”
News and reports