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