<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 關(guān)于車(chē)用迢信協(xié)議中的假冒錯

關(guān)于車(chē)用迢信協(xié)議中的假冒錯

作者: 時(shí)間:2009-05-08 來(lái)源:網(wǎng)絡(luò ) 收藏

3 CAN對抗錯的措施
CAN的CRC檢驗是在加入與去掉填充位后進(jìn)行的,因此其報錯能力受填充位的影響很大,要靠CRC來(lái)對抗發(fā)生在傳送中誤碼形成的錯是不夠的。因為傳送中的比特錯在接收節點(diǎn)可能引起后面比特流的錯誤解釋?zhuān)瑥亩烟畛湮徽`作數據而未剔除,或將數據位解讀為填充位誤剔除,如圖3所示。此時(shí)原來(lái)發(fā)送的比特流會(huì )向前或向后錯一位,從而形成大量的誤碼(最壞的情況下,錯位之后對CRC而言均為誤碼),很容易超出CRC的有效檢錯范圍,造成CRC的漏檢(將錯幀誤判為有效幀),由于填充過(guò)程的影響,單個(gè)比特錯的后果被放大了。所幸的是CAN還有其他的判錯手段,例如格式錯,那些漏過(guò)CRC校驗的幀還可能被攔下。通過(guò)仿真,由CRC與各種判錯手段綜合的結果其漏判率還是比較小的,約為O.1×10-6,但是,并不是CAN所聲稱(chēng)的可以攔截5個(gè)以下的單個(gè)比特錯(HD=6)。

CAN的2.0B版采用32位的仲裁區,它可以自動(dòng)區分采用11位ID的消息(標準格式)或29位ID的消息(擴展格式)。如果在cc發(fā)送之前或發(fā)送中ID及另三位內容有變化,就有發(fā)生的可能性。
CAN總線(xiàn)可以用ID的重新分配實(shí)現對假冒錯的預防,這種重新分配的可能性在于29位的ID空間非常大,即使用去一部分對抗假冒錯,剩余的部分依然足夠消息的分配。對29位ID中取一部分作數字簽名,這個(gè)數字簽名為離線(xiàn)時(shí)用CRC生成的校驗和。因此,仲裁域內發(fā)生等于該CRC生成多項式的Hamming距離個(gè)比特同時(shí)錯才會(huì )有一個(gè)假冒錯。小于Hamming距離的比特錯將是無(wú)效ID,該消息將被接收節點(diǎn)的過(guò)濾器濾掉,從而使假冒錯無(wú)法產(chǎn)生影響。雖然在這里并沒(méi)有進(jìn)行接收ID的校驗計算,因ID分配已經(jīng)考慮了有效ID之間的距離,所以固定的接收濾波器足以防止假冒錯。這樣,無(wú)需增加軟硬件的開(kāi)銷(xiāo),CAN便可以實(shí)現與FlexRay同樣的抗假冒錯功能。數字簽名的生成方法,可以在現有的資料中選用,或者重新設計。例如參考文獻,若取16階的生成多項式,29位ID中去掉16位作數字簽名后還剩13位,應能滿(mǎn)足應用之需,須知FlexRay僅定義了ll位的ID。也可以取更短的數字簽名,例如和FlexRay相同的11位CRC生成多項式(它的CRC校驗覆蓋區為31位,Hamming距離為6),以留出更多的可用消息種類(lèi)。重新設計時(shí)可以參考BCH碼的設計方法設計生成多項式,以保證所需的Hamming距離。選用16階的CRC生成多項式時(shí),它可以保證15位頭部Hamming距離為8,在仲裁域ID的前13位內因CAN填充規則造成1位錯被放大為多位錯的情況,被檢出的概率就增大。該多項式為:


選用16位CRC校驗和時(shí)留給消息種類(lèi)的大小為213=8 192種。采用上述方案,CAN在對抗假冒錯上要比FlexRay的方法簡(jiǎn)單。
CAN仲裁域里的SRR、IDE和RTR位的誤碼可能引起通信控制器對輸入比特流的解釋變化,但是可以采取措施防止假冒錯。首先,如果仲裁域第12位、13位發(fā)生誤碼,就有可能在CAN2.0B的標準格式和擴展格式間產(chǎn)生轉換(如擴展格式誤為標準格式),那么節點(diǎn)對此時(shí)發(fā)生的假冒未加保護,因此應避免在系統里使用標準格式。標準格式誤為擴展格式的情況,因幀長(cháng)等被解釋為ID,被濾波器及CAN的其他檢錯措施攔下的可能性增大。其次,在RTR位的誤碼將數據幀誤為遠程幀時(shí)接收節點(diǎn)收不到數據,屬于故障一靜默(fault―silent),是一般容錯理論所要求的,遠程幀請求誤為數據幀時(shí),有可能引起不良后果,這是另一個(gè)問(wèn)題,但同時(shí)存在的假冒錯將由濾波器攔截住。
添加ID的數字簽名并不改變原來(lái)的消息的優(yōu)先級分配,因為優(yōu)先級只在ID的前面部分確定好了。因此,采用不同數字簽名的消息可以在同一系統里應用,只要收發(fā)節點(diǎn)的約定一致即可。但是,隨便混用會(huì )使ID之間的距離變小。所以對一個(gè)高層協(xié)議,為了保證抗假冒錯的能力不變,應該采用統一的CRC生成多項式。從OEM廠(chǎng)的總體利益看,開(kāi)放其協(xié)議的數字簽名方式較為有利。


4 小 結
假冒錯在應用中是不能接受的,與一般數據錯造成消息數據量上的變化不同,它可能造成消息質(zhì)的變化。本文從信息傳遞的整個(gè)流程出發(fā),討論受干擾時(shí)的比特出錯量,從而作為分析抗假冒錯措施的依據。作為新一代的通信協(xié)議FlexRay,其頭部CRC校驗的覆蓋面似嫌不足,由于帶寬的增加誤碼率可能增大;尾部CRC檢驗也可能不夠,從而仍有漏過(guò)假冒錯的可能。本文討論的CAN的抗假冒錯方案實(shí)現比較簡(jiǎn)單,可以提升CAN的可靠度。需要指出,CAN的抗假冒錯方案是基于出錯時(shí)被丟棄的原理,它并不報錯,發(fā)送節點(diǎn)無(wú)法知道已發(fā)送了錯幀,從而進(jìn)行重發(fā)。所以對那些重要的消息,在應用上仍要設置其他的保障措施。例如,預定時(shí)限到而未收到數據則通知應用層,或請求發(fā)送。由于CAN填充位規則對CRC的干擾,使CRC攔截誤碼的能力下降,這是不理想的地方。雖然由CAN各種檢錯機制造成的漏檢很小,但對一些重要的消息還應添加額外的校驗。CAN的消息數據比較短,一般只有一二字節。添加1個(gè)8位的CRC校驗是一種可行的方法,在ECU增加的軟件開(kāi)銷(xiāo)不會(huì )太大,但可進(jìn)一步提高CAN的可信度。
對于較小的或專(zhuān)用的系統,也可以用本文的方案把固定的事件信號加數字簽名一起傳送,以提高通信的可靠性。例如開(kāi)關(guān)信號分別用2個(gè)ID來(lái)表示1或O,傳送時(shí)還有數據1或O,這樣用多重檢錯方法來(lái)防止CAN的CRC檢驗的軟肋。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>