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