38.3.3 CAN Bit Time Configuration
Bit rate is limited by the propagation delay of the CAN network (see 38.3.3.2 Propagation Delay). The transmitting node always compares the intended transmitted bits with the actual bits on the CAN bus.
NBR is the number of bits per second during the CAN 2.0 transmission. It is the inverse of the Nominal Bit Time (NBT) (see Equation 38-1).
The Baud Rate Prescaler (NBRP) is used to divide the SYSCLK. The divided SYSCLK is used to generate the bit times. The Time Quanta (NTQ) are selected as shown in Equation 38-2.
CAN bit times have four segments, as specified in ISO11898-1 (see Figure 38-3).
Synchronization Segment (SYNC) – Synchronizes the different nodes connected on the CAN bus. A bit edge is expected to be within this segment. The Synchronization Segment is always one TQ.
Propagation Segment (PRSEG) – Compensates for the propagation delay on the bus. PRSEG has to be longer than the maximum propagation delay.
Phase Segment 1 (PHSEG1) – Compensates for errors that may occur due to phase shifts in the edges. The time segment may be automatically lengthened during resynchronization to compensate for the phase shift.
Phase Segment 2 (PHSEG2) – Compensates for errors that may occur due to phase shifts in the edges. The time segment may be automatically shortened during resynchronization to compensate for the phase shift.
In the Bit Time registers, PRSEG and PHSEG1 are combined to create TSEG1. PHSEG2 is called TSEG2. Each segment has multiple Time Quanta (TQ). The sample point lies between TSEG1 and TSEG2. Table 38-1 shows the ranges for the bit time configuration parameters.
The total number of TQ in a bit time is programmable and can be calculated using Equation 38-3.
Segment | Minimum | Maximum |
---|---|---|
NSYNC | 1 | 1 |
NTSEG1 | 2 | 256 |
NTSEG2 | 1 | 128 |
NSJW | 1 | 128 |
NTQ per Bit | 4 | 385 |