汽車CAN總線的信息包括兩部分:信息部分和數(shù)據(jù)部分。
頭兩個(gè)字節(jié)為信息部分,其前是一位為標(biāo)識(shí)符,標(biāo)識(shí)符中的前8位用作接收判斷,應(yīng)包涵本信息包的目的地址。
然后是以為RTR位(應(yīng)設(shè)置為0),最后是4位的DLC。DLC是數(shù)據(jù)長(zhǎng)度位,即所發(fā)數(shù)據(jù)的實(shí)際長(zhǎng)度,單位是字節(jié)。
其余8個(gè)字節(jié)是數(shù)據(jù)部分,存有實(shí)際要發(fā)的數(shù)據(jù)可以參考下面這個(gè)圖:
在進(jìn)行數(shù)據(jù)傳送時(shí),發(fā)出報(bào)文的單元稱為該報(bào)文的發(fā)送器。該單元在總線空閑或丟失仲裁前恒為發(fā)送器,如果一個(gè)單元補(bǔ)是報(bào)文發(fā)送器,并且總線不處于空閑狀態(tài),則該單元為接收器。
對(duì)于報(bào)文發(fā)送器和接收器,報(bào)文的實(shí)際有效時(shí)刻是不同的,對(duì)與發(fā)送器而言,如果直到幀結(jié)束尾一直未出錯(cuò),則對(duì)于發(fā)送器報(bào)文有效。如果報(bào)文受損,將允許按照優(yōu)先權(quán)順序自動(dòng)發(fā)送。為了能同其他報(bào)文進(jìn)行CAN總線訪問(wèn)競(jìng)爭(zhēng),總線一旦空閑,重發(fā)送立即開(kāi)始。對(duì)于接收器而言,如果直到幀結(jié)束的最后一位一直未出錯(cuò),則對(duì)于接收器報(bào)文有效。
構(gòu)成一幀的幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)和CRC序列均借助位填充規(guī)則進(jìn)行編碼。當(dāng)發(fā)送器在發(fā)送的位流中檢測(cè)到5位連續(xù)的相同數(shù)值時(shí),將自動(dòng)地在實(shí)際發(fā)送的位流中插入一個(gè)補(bǔ)碼位。數(shù)據(jù)幀和遠(yuǎn)程幀的其余位場(chǎng)采用固定格式,不進(jìn)行填充。出錯(cuò)幀和超載幀同樣是固定格式,也不進(jìn)行位填充。
數(shù)據(jù)幀攜帶數(shù)據(jù)由發(fā)送器至接收器,遠(yuǎn)程幀通過(guò)CAN總線單元發(fā)送,以情丟發(fā)送具有相同標(biāo)識(shí)符的數(shù)據(jù)幀,出錯(cuò)幀由檢測(cè)出CAN總線錯(cuò)誤的任何單元發(fā)送,超載幀用于提供當(dāng)前的和后續(xù)的數(shù)據(jù)幀的附加延遲,數(shù)據(jù)幀和遠(yuǎn)程幀借助幀間空間與當(dāng)前幀分開(kāi)。