CAN bus bit timing calculation?

CAN bus bit timing calculation?

Bit timing is the count of time Quanta(tq,a basic unit of bit time) required to carry a single bit(i.e tour of a bit on CAN bus from writing to reading) on CAN Bus. reciprocal of Bit timing is known as Bit rate or Nominal bit rate. As per CAN standard CAN supports bit-rate up to 1000 kbps.

CAN bit timing tolerance?

The bit timing for each node in a CAN system is derived from the reference frequency (fOSC) of its node. The CAN specification indicates that the worst case oscillator tolerance is 1.58% and is only suitable for low bit rates (125 kb/s or less).

CAN bus MHz?

Hi, the maximum baud rate of CAN bus is 1 Mbps as defined in the Bosch standard. In order to implement the CAN sampling/synchronization algorithm though, you usually need to have a higher frequency clock in your design (e.g. 16 MHz).

CAN bus propagation delay?

The total propagation delay comprises the round trip time through the cable, two CAN controllers I/O, and two CAN transceivers. At the maximum standard CAN data rate of 1 Mbps, the allowed propagation delay is more limited, though ISO 11898-2 specifies a bus length of 40 meters for operation at 1 Mbps.

CAN bit timing sample point?

Figure 1: CAN Bit time segments Sampling point – Sampling point is the point of time at which the bus level is read and interpreted as the value at that respective time. Nominal Bit Time (NBT): This is the sum of all the CAN bit time segments.

What is CAN bus frequency?

The CAN bus (Controller Area Networking) was defined in the late 1980 by Bosch, initially for use in automotive applications (CAN 2.0). It has been found to be very useful in a wide variety of distributed industrial systems. Maximum Signal frequency used is 1 Mbit/sec (CAN 2.0) , 15 Mbits/sec (CAN FD)

How are CAN bus samples calculated per bit time?

The SJWist not (yet) considered by the tool. Values are always zero, which means the Synchronization Jump Widthis 1 tq. If a value is entered, it is only copied to the appropriate register. SAMor (SAMP) determines the number of CAN bus samples taken per bit time.

Why is the timing of the bus so important?

Every time the bus resyncs (at least once every 10 bits) the SJW allows the sampling point to move in compensation to where the rising edge of a dominant bit falls. This can help with a jittery or leading/lagging clock. The bit timing is important for both sender and receiver: each sender also samples the bus while transmitting.

How to set bit timing in CAN controller?

Most CAN controllers allows the programmer to set the bit timing using the following parameters: A clock prescaler value. The number of quanta before the sampling point. The number of quanta after the sampling point. The number of quanta in the Synchronization Jump Width, SJW. Usually two registers are provided for this purpose: btr0 and btr1.

Why is CAN bus length different from physical oscillator frequency?

Because the CAN bus frequency is nothing but the baud rate which is different from the physical oscillator frequency and the propagation delay changes due to the CAN bus length in between the transmitter and receiver node by which the bit might be received before or after the synchronization segment.