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