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