新聞中心

CAN總線數(shù)據(jù)格式

作者: 時(shí)間:2011-07-12 來(lái)源:網(wǎng)絡(luò) 收藏

  所有通信在應(yīng)用上都是一致的,但有兩種硬件和兩個(gè)版本的,分為基本型和完全型,如圖1所示。幾乎所有新的處理器內(nèi)部嵌入的模塊都支持這兩種操作模式,其中基本型主要用于對(duì)成本要求比較敏感的系統(tǒng)中。

基本型(BASIC—CAN)主要有以下特點(diǎn):   

●MCU內(nèi)核和模塊采用閉環(huán)連接方式;   

●有1個(gè)發(fā)送緩沖;   

●有2個(gè)接收緩沖;   

●需要使用軟件選擇輸入的消息。

完全型(FULL—CAN)主要有以下特點(diǎn):   

●提供消息服務(wù);   

●對(duì)輸人消息進(jìn)行更大范圍的接收濾波;   

●郵箱允許用戶配置;   

●郵箱的存儲(chǔ)區(qū)以及郵箱的大小與具體的芯片有關(guān);   

●先進(jìn)的錯(cuò)誤識(shí)別功能。

此外,CAN2.OB總線規(guī)范定義了 2種不同的(標(biāo)準(zhǔn)幀和擴(kuò)展幀),其主要區(qū)別在于標(biāo)識(shí)符域的長(zhǎng)度不同:標(biāo)準(zhǔn)幀有II位的標(biāo)識(shí)符,擴(kuò)展幀有29位的標(biāo)識(shí)符,如圖1所示。CAN總線的標(biāo)準(zhǔn)數(shù)據(jù)幀的長(zhǎng)度是44~108位,而擴(kuò)展數(shù)據(jù)幀的長(zhǎng)度是64~128位。根據(jù)數(shù)據(jù)流代碼的不同,標(biāo)準(zhǔn)數(shù)據(jù)幀可以插入28位填充位,擴(kuò)展數(shù)據(jù)幀可以插人28位填充位。因此,標(biāo)準(zhǔn)數(shù)據(jù)幀最長(zhǎng)為131位,擴(kuò)展數(shù)據(jù)幀最長(zhǎng)為156位。

  圖1 CAN總線應(yīng)用類型

  圖2 類型   

圖1給出了構(gòu)成標(biāo)準(zhǔn)/擴(kuò)展數(shù)據(jù)幀各位在整個(gè)數(shù)據(jù)幀中的位置,主要包括:   

●幀起始位;   

●包含標(biāo)識(shí)符和發(fā)送消息類型的仲裁域;   

●包含數(shù)據(jù)位數(shù)的控制域;   ELTMS320X281x∶DSP jffilE& C柳;ffilBTT,荃∶   

●最多8字節(jié)的數(shù)據(jù)域;   

●循環(huán)冗余檢查位(CRC);   

●應(yīng)答位;   

●幀結(jié)束位。

  圖3 數(shù)據(jù)幀格式   

CAN總線消息主要由仲裁區(qū)、數(shù)據(jù)區(qū)、CRC校驗(yàn)區(qū)以及幀結(jié)束區(qū)荃部分構(gòu)成。各區(qū)主要情 況如下。

●仲裁區(qū):   

◇定義消息的優(yōu)先級(jí);   

◇消息的邏輯地址(標(biāo)識(shí)符);   

◇標(biāo)準(zhǔn)幀11位標(biāo)識(shí)符;   

◇擴(kuò)展幀29位標(biāo)識(shí)符。

●數(shù)據(jù)區(qū):   

◇每個(gè)消息最多可以包含8字節(jié)的數(shù)據(jù);   

◇允許不包含數(shù)據(jù)幀的幀存在(數(shù)據(jù)區(qū)長(zhǎng)度為0字節(jié))。

●CRC校驗(yàn)區(qū):包含循環(huán)冗余校驗(yàn)位。

●幀結(jié)束區(qū):幀結(jié)束區(qū)消息響應(yīng)標(biāo)識(shí)、錯(cuò)誤消息、消息結(jié)束。

圖3給出的數(shù)據(jù)幀包含起始位、標(biāo)識(shí)符、遠(yuǎn)程傳輸請(qǐng)求、標(biāo)識(shí)擴(kuò)展等,所有相關(guān)的仲裁、數(shù)據(jù)、CRC校驗(yàn)以及幀結(jié)束構(gòu)成了完整的CAN總線消息幀,各部分的具體含義如下。

起始位(1 bit) 標(biāo)識(shí)一個(gè)消息幀的開(kāi)始,在空閑時(shí)間的下降沿同步所有的總線模塊;   

標(biāo)識(shí)符(11 bits):定義消息的邏輯地址和優(yōu)先級(jí),優(yōu)先級(jí)的數(shù)字越小優(yōu)先級(jí)越高;   

RTR(1 bit):遠(yuǎn)程傳輸請(qǐng)求,如果RTR=1表示在數(shù)據(jù)幀中沒(méi)有有效數(shù)據(jù),請(qǐng)求遠(yuǎn)程節(jié)點(diǎn)向發(fā)出請(qǐng)求幀的節(jié)點(diǎn)發(fā)送數(shù)據(jù);   

IDE(1 bit):標(biāo)識(shí)符擴(kuò)展,如果IDE=1,則采用擴(kuò)展的數(shù)據(jù)幀傳送數(shù)據(jù);   

r0 保留;   

DLC(4 bits):數(shù)據(jù)長(zhǎng)度代碼,數(shù)據(jù)幀長(zhǎng)度允許的數(shù)據(jù)字節(jié)數(shù)為{0~8),其他長(zhǎng)度數(shù)值不允許使用;   

數(shù)據(jù)(0~8字節(jié)):消息數(shù)據(jù);   

CRC(15 bits):循環(huán)冗余校驗(yàn)碼”只用于檢測(cè)錯(cuò)誤而不能校正;   

ACK(2 bits)每一個(gè)接聽(tīng)者接收到消息后必須發(fā)送響應(yīng)位(ACK):   

EOF(7 bits=1,recesslve):幀的結(jié)束;   

IFS(3 bits=1,recessive):內(nèi)部幀空間,將接收到的消息從總線處理單元復(fù)制到緩沖,只有擴(kuò)展模式有該位;   

SRR(1 bit=recesslve): 替代標(biāo)準(zhǔn)幀中的遠(yuǎn)程幀請(qǐng)求位(RTR);   r0:保留。



關(guān)鍵詞: CAN總線 數(shù)據(jù)格式

評(píng)論


相關(guān)推薦

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

關(guān)閉