日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

CAN波特率設(shè)置

 rookie 2019-12-07

通過對(duì)CAN位定時(shí)寄存器CANBIT以及CAN波特率預(yù)分頻擴(kuò)展寄存器CANBRPE的設(shè)置可以得到需要的CAN通信波特率。

CAN的位定時(shí)配置不當(dāng),將使得CAN模塊無法按照目標(biāo)波特率接入CAN網(wǎng)絡(luò),將導(dǎo)致CAN節(jié)點(diǎn)無法通信正常。

根據(jù)CAN規(guī)范,位時(shí)間被分成4個(gè)時(shí)間段:同步段(Sync_Seg)、傳播時(shí)間段(Prop_Seg)、相位緩沖段1(Phase_Seg1)和相位緩沖段2(Phase_Seg2)

每個(gè)段由具體、可編程數(shù)量的時(shí)間份額(time quanta)組成,時(shí)間份額是位時(shí)間的基本時(shí)間單元,它的長度(tq)由CAN控制器的系統(tǒng)時(shí)鐘(fcan)和波特率預(yù)分頻器BRP定義:tq=BRP/fcan

 

CAN模塊的系統(tǒng)時(shí)鐘fcan是其CAN模塊時(shí)鐘(CAN_CLK)輸入的頻率。

各參數(shù)取值范圍:

參數(shù)                         范圍                   編程值                     說明

BRP                        1~64                   0~63                    波特率分頻器,定義時(shí)間單元tq的時(shí)間長度

Sync_Seg               1tq                                                  固定長度,總線輸入與系統(tǒng)時(shí)鐘同步

Prop_Seg               1~8tq                  0~7                      補(bǔ)償物理延時(shí)時(shí)間

Phase_Seg1          1~8tq                  0~7                      相位緩沖段1,補(bǔ)償邊沿階段的誤差,可通過同步暫時(shí)延長

Phase_Seg2          1~8tq                   0~7                      相位緩沖段2,補(bǔ)償邊沿階段的誤差,可通過同步暫時(shí)縮短

SJW                       1~4t                  0~3                       同步跳轉(zhuǎn)寬度,不能比相位緩沖段長

 

位時(shí)間長度為:[TSEG1+TSEG2+3]tq或[Sync_Seg+Prop_Seg+Phase_Seg1+Phase_Seg2]tq

位定時(shí)配置的編程是由兩個(gè)CANBTR決定的:Prop_Seg與Phase_Seg1 的和(作為TSEG1)與Phase_Seg2(作為TSEG2)組合成一個(gè)字節(jié),而SJW與BRP組合成另一個(gè)字節(jié)。

SAMP  TSEG22  TSEG21  TSEG20  TSEG13  TSEG12  TSEG11  TSEG10

SJW1   SJW0      BRP5       BRP4      BRP3       BRP2       BRP1      BRP0

將結(jié)果配置寫入寄存器:((TSeg2-1)<<12)|((TSeg1-1)<<8)|((SJW-1)<<6)|(BRP-1)

 

參數(shù)的計(jì)算步驟

1、首先計(jì)算CAN時(shí)鐘和波特率的比值

2、根據(jù)比值確定BRP和時(shí)間量子的數(shù)目,一個(gè)位時(shí)間總的時(shí)間份額值可以設(shè)置在8~25的范圍內(nèi)

3、Sync_Seg的值固定為1tq,量子數(shù)目減1后再分配

4、Prop_Seg其長度視系統(tǒng)測量的延遲時(shí)間而定,必須為可擴(kuò)展的CAN總線系統(tǒng)定義最大的總線長度和最大的節(jié)點(diǎn)延遲。

5、Prog_Seg<=Phase_Seg1<=Phase_Seg2;Phase_Seg1=Phase_Seg2 或者 Phase_Seg1+1=Phase_Seg2

6、Phase_Seg2不能比CAN控制器的信息處理時(shí)間短

7、同步跳轉(zhuǎn)寬度SJW取4和 Phase_Seg1中小的那個(gè)

總的來說,波特率BitRate=Fpclk/((BRP+1)*((TSEG1+1)+(TSEG2+1)+1)

 

舉例說明:

參考來源:http://www.docin.com/p-498322094.html

                 https://blog.csdn.net/sudogod/article/details/15503867

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多