詳解基于CAN總線(xiàn)的汽車(chē)儀表系統設計―CAN報文傳輸
3、出錯幀
出錯幀由兩個(gè)不同場(chǎng)組成,第一個(gè)場(chǎng)由來(lái)自個(gè)站的錯誤標志疊加得到,后隨的第二個(gè)是出錯界定符。出錯幀的組成如下圖2一12所示:
4、超載幀
超載幀包括兩個(gè)位場(chǎng);超載標志和超載界定符,其組成如下圖2一13所示
5、幀間空間
數據幀和遠程幀同前面的幀相同,不管是何種幀(數據幀、遠程幀、出錯
幀和超載幀)均被稱(chēng)為幀間空間的位場(chǎng)分開(kāi)。幀間空間包括間歇場(chǎng)和總線(xiàn)空閑
場(chǎng),對于“錯誤認可”節點(diǎn)還有暫停發(fā)送場(chǎng)。對于非”錯誤認可“的接收器,
其幀空間如下圖2一14所示:
對于“錯誤認可”節點(diǎn),其幀空間如下圖2-15所示:
2.2.7CAN數據錯誤監測
CAN協(xié)議可使用五種檢查錯誤的方法,其中前三種為基于報文內容檢查。
1.循環(huán)冗余檢查(CRC):在一幀報文中加入冗余檢查位可保證報文正確。接收站通過(guò)cRc可判斷報文是否有錯【25]。其工作原理如下:
(5).根據R(x)和R‘(x)是否相等來(lái)判斷傳輸是否出錯,如果計算余數多項式和接收余項多項式相等,則數據傳輸無(wú)差錯,如果不等,則表明出現了錯誤,由發(fā)送方重新發(fā)送數據,知道數據傳送正確為止。
2.幀檢查:這種方法通過(guò)位場(chǎng)檢查幀的格式和大小來(lái)確定報文的正確性,用于檢查格式上的錯誤。
3.應答錯誤:被接收到的幀由接收站通過(guò)明確的應答來(lái)確認。如果發(fā)送站未收到應答,那么表明接收站發(fā)現幀中有錯誤,也就以錯誤類(lèi)型和界定是說(shuō),ACK場(chǎng)己損壞或網(wǎng)絡(luò )中的報文無(wú)站接收。
4.總線(xiàn)檢測:CAN中的一個(gè)節點(diǎn)可監測自己發(fā)出的信號。因此,發(fā)送報文的站可以觀(guān)測總線(xiàn)電平并探測發(fā)送位和接收位的差異。
5.位填充:如果在一幀報文中有太多相同電平的位,就有可能失去同步。為保證同步,在五個(gè)連續相等位后,發(fā)送站自動(dòng)插入一個(gè)與之互補的補碼位;接收時(shí),這個(gè)填充位被自動(dòng)去掉。例如,五個(gè)連續的低電平位后,CAN自動(dòng)插入一個(gè)高電平位。CAN過(guò)這種編碼規則檢查錯誤,如果在一幀報文中有6個(gè)相同位,CAN就知道發(fā)生了錯誤。
評論