新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 高級(jí)外設(shè)CAN之波特率計(jì)算

高級(jí)外設(shè)CAN之波特率計(jì)算

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
在做技術(shù)支持的時(shí)候,經(jīng)常接到這樣的客戶電話,“在使用開發(fā)板上的CAN通信時(shí),VPB時(shí)鐘為和光盤例程里的不一樣,CAN波特率怎么設(shè)置?我們希望用到的CAN波特率有5K、10K、50K、500K、1000K等”。CAN波特率設(shè)置不正確將導(dǎo)致CAN無(wú)法通信,于是,就波特率計(jì)算的方法我寫了這篇文章,以后再有客戶問(wèn)這類問(wèn)題,便可以直接把這篇文章發(fā)給客戶。

CAN波特率的計(jì)算公式如下:

本文引用地址:http://butianyuan.cn/article/201611/322217.htm

其中tcan是CAN系統(tǒng)時(shí)鐘的一個(gè)周期,tbit是一個(gè)CAN位周期。

以VPB時(shí)鐘Fpclk=24MHz,選擇采樣點(diǎn)位置在85%左右為佳,即使TESG1/(TESG1+TESG2)在85%左右,2

BPS_1000K0x140002
BPS_800K0x160002
BPS_500K0x1C0002
BPS_250K0x1C0005
BPS_125K0x1C000B
BPS_100K0x1C000E
BPS_50K0x1C001D
BPS_20K0x1C004A
BPS_10K0x1C0095

現(xiàn)在以500Kbps為例,首先得到(3 + TESG1 + TESG2) *(BRP+1)= 48, 滿足TESG1 /(TESG1 + TESG2)在85%左右,2

第一組采樣點(diǎn)在88%左右,第二組采樣點(diǎn)在84%左右,所以我們?nèi)〉诙M,得到TESG1=11,TESG2=2,BRP=2,代入得到CANnBTR寄存器值為0x1C0002。
對(duì)于另一個(gè)常用的Fpclk=11.0592MHz,同樣可以得出相應(yīng)CANnBTR寄存器值,在此給出部分值,您可以根據(jù)自己的需要計(jì)算對(duì)應(yīng)的值。
500k0x170001
250k0x170003
125k0x170007
100k0x170009
50k0x1700013
20k0x170031
10k0x170064
5k0x1700c8



評(píng)論


技術(shù)專區(qū)

關(guān)閉