<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 關于車用迢信協(xié)議中的假冒錯

          關于車用迢信協(xié)議中的假冒錯

          作者: 時間:2009-05-08 來源:網(wǎng)絡 收藏

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

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


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


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


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();