CAN總線數(shù)據(jù)格式
所有CAN總線通信在應(yīng)用上都是一致的,但有兩種硬件和兩個版本的數(shù)據(jù)格式,分為基本型和完全型,如圖1所示。幾乎所有新的處理器內(nèi)部嵌入的CAN總線模塊都支持這兩種操作模式,其中基本型主要用于對成本要求比較敏感的系統(tǒng)中。
基本型(BASIC—CAN)主要有以下特點:
●MCU內(nèi)核和CAN總線模塊采用閉環(huán)連接方式;
●有1個發(fā)送緩沖;
●有2個接收緩沖;
●需要使用軟件選擇輸入的消息。
完全型(FULL—CAN)主要有以下特點:
●提供消息服務(wù);
●對輸人消息進行更大范圍的接收濾波;
●郵箱允許用戶配置;
●郵箱的存儲區(qū)以及郵箱的大小與具體的芯片有關(guān);
●先進的錯誤識別功能。
此外,CAN2.OB總線規(guī)范定義了 2種不同的數(shù)據(jù)格式(標準幀和擴展幀),其主要區(qū)別在于標識符域的長度不同:標準幀有II位的標識符,擴展幀有29位的標識符,如圖1所示。CAN總線的標準數(shù)據(jù)幀的長度是44~108位,而擴展數(shù)據(jù)幀的長度是64~128位。根據(jù)數(shù)據(jù)流代碼的不同,標準數(shù)據(jù)幀可以插入28位填充位,擴展數(shù)據(jù)幀可以插人28位填充位。因此,標準數(shù)據(jù)幀最長為131位,擴展數(shù)據(jù)幀最長為156位。
圖1 CAN總線應(yīng)用類型
圖2 數(shù)據(jù)格式類型
圖1給出了構(gòu)成標準/擴展數(shù)據(jù)幀各位在整個數(shù)據(jù)幀中的位置,主要包括:
●幀起始位;
●包含標識符和發(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校驗區(qū)以及幀結(jié)束區(qū)荃部分構(gòu)成。各區(qū)主要情 況如下。
●仲裁區(qū):
◇定義消息的優(yōu)先級;
◇消息的邏輯地址(標識符);
◇標準幀11位標識符;
◇擴展幀29位標識符。
●數(shù)據(jù)區(qū):
◇每個消息最多可以包含8字節(jié)的數(shù)據(jù);
◇允許不包含數(shù)據(jù)幀的幀存在(數(shù)據(jù)區(qū)長度為0字節(jié))。
●CRC校驗區(qū):包含循環(huán)冗余校驗位。
●幀結(jié)束區(qū):幀結(jié)束區(qū)消息響應(yīng)標識、錯誤消息、消息結(jié)束。
圖3給出的數(shù)據(jù)幀包含起始位、標識符、遠程傳輸請求、標識擴展等,所有相關(guān)的仲裁、數(shù)據(jù)、CRC校驗以及幀結(jié)束構(gòu)成了完整的CAN總線消息幀,各部分的具體含義如下。
起始位(1 bit) 標識一個消息幀的開始,在空閑時間的下降沿同步所有的總線模塊;
標識符(11 bits):定義消息的邏輯地址和優(yōu)先級,優(yōu)先級的數(shù)字越小優(yōu)先級越高;
RTR(1 bit):遠程傳輸請求,如果RTR=1表示在數(shù)據(jù)幀中沒有有效數(shù)據(jù),請求遠程節(jié)點向發(fā)出請求幀的節(jié)點發(fā)送數(shù)據(jù);
IDE(1 bit):標識符擴展,如果IDE=1,則采用擴展的數(shù)據(jù)幀傳送數(shù)據(jù);
r0 保留;
DLC(4 bits):數(shù)據(jù)長度代碼,數(shù)據(jù)幀長度允許的數(shù)據(jù)字節(jié)數(shù)為{0~8),其他長度數(shù)值不允許使用;
數(shù)據(jù)(0~8字節(jié)):消息數(shù)據(jù);
CRC(15 bits):循環(huán)冗余校驗碼”只用于檢測錯誤而不能校正;
ACK(2 bits)每一個接聽者接收到消息后必須發(fā)送響應(yīng)位(ACK):
EOF(7 bits=1,recesslve):幀的結(jié)束;
IFS(3 bits=1,recessive):內(nèi)部幀空間,將接收到的消息從總線處理單元復(fù)制到緩沖,只有擴展模式有該位;
SRR(1 bit=recesslve): 替代標準幀中的遠程幀請求位(RTR); r0:保留。
評論