Saturday, 07 July 2018 01:58

FlexCAN Bit Timing Calculation Featured

Written by
Rate this item
(1 Vote)
The FlexCAN module supports a variety of means to setup bit timing parameters that are required by the CAN protocol.This document gives a basic insight into bit timings relationship and provide easy step-by-step guide to calculate bit timing parameters for desired baudrate.
1. Introduction

The clock dependency can be described based on the following figure.Starting from a data frame transferred on the bus. A desired baudrate tells how many bits are sent on the network per second. The Nominal Bit Rate (baudrate) is uniform throughout the network and is given by:
baudrate = 1 / tNBT       (1)
The tNBT represents a period of the Nominal Bit Time (NBT), i.e. single bit transfered on the bus. The NBT is separated into four non-overlaping segments, SYNC_SEG, PROP_SEG, PHASE_SEG1 and PHASE_SEG2. Each of these segments is an integer multiple of Time Quantum (tQ).
tNBT= tQ+PROP_SEG* tQ + PHASE_SEG1* tQ + PHASE_SEG2* tQ = NBT * tQ             (2)
The below table summarizes the possible values each segment can be set to.

Note: The function MAX( , ) returns the larger of the two arguments.The duration of the segment PHASE_SEG1 may be between 1 and 8 Time Quanta if one sample per bit is selected and may be between 2 and 8 Time Quanta if three samples per bit are selected. If three samples per bit are chosen, the most frequently sampled value is taken as the bit value.The duration of segment PHASE_SEG2 must be equal to PHASE_SEG1, unless PHASE_SEG1 is less than the Information Processing Time (IPT), in which case PHASE_SEG2 must be equal to the Information Processing Time. The Information Processing Time is equal to 2 Time QuantaFrom the table, it would appear that the minimum number of Time Quanta per bit (NBT ) is 5. However, many CAN controllers require a minimum of 8 Time Quanta per bit. The maximum number of Time Quanta per bit is 25.A Time Quantum is the atomic unit of time handled by the CAN engine and it is given by the Serial Clock (Sclock) period as
tQ = 1/Sclock = 1/[CPI_clock /(PRESDIV+1)].            (3)
The CPI_clock is the CAN Protocol Interface clock, can be either the peripheral clock (driven by the FMPLL) or the crystal oscillator clock....

继续阅读完整内容

请查看下方广告以解锁文章剩余内容

广告加载中...
Read 49771 times Last modified on Saturday, 07 July 2018 18:49