CAN總線的功能安全問題
摘要:汽車的功能安全是當(dāng)前汽車技術(shù)發(fā)展的重點之一,也是車廠競爭的利器。安全的實現(xiàn)與通信有關(guān),現(xiàn)在90%以上的車用CAN總線來實現(xiàn)控制用的通信。已經(jīng)發(fā)現(xiàn)CAN總線有高錯幀漏檢和長的等效離線與真正離線的機制性隱患,本文對這2種隱患的發(fā)生概率及其后果作了進一步分析,漏檢的錯幀可能最多是原數(shù)據(jù)的33倍或1/33,等效離線造成的失效概率在誤碼率為10-5時可達到16.8/h(總線利用率40%,速率500 kbps、平均幀長100位)。如先發(fā)生錯幀漏檢,應(yīng)用收下錯幀,又發(fā)生離線,阻斷正確幀的改正作用,應(yīng)用將長時間工作于錯誤狀態(tài)下,是十分危險的。
關(guān)鍵詞:CAN;錯幀漏檢;離線;功能安全
引言
ISO26262道路車輛的功能安全國際標(biāo)準已經(jīng)通過。車企實施這項標(biāo)準是自利的事,因為可以減少出事故后的賠償損失,同時也是爭取客戶的競爭手段之一。所以,回顧已有的實踐是非常必要的。參考文獻指出,ISO26262強調(diào)了安全的管理與安全的文化理念。安全不再僅是一種事后的風(fēng)險評估,他還建議用參考文獻系統(tǒng)原理性過程的風(fēng)險分析方法(system theoretic processhazard analysis method)實施ISO262 62。在這種方法中人、組織、機器等相互之間信息傳遞出錯的過程及其風(fēng)險都要加以評估。作為車輛控制設(shè)備間的信息傳遞,當(dāng)前的車輛中主要是CAN總線,CAN總線幀的丟失、錯幀漏檢、送達次序的錯誤、超過時限等帶來的風(fēng)險均應(yīng)定量地分析。
筆者在本刊就CAN總線的隱患發(fā)表過若干文章,簡單地講,主要有2個致命的隱患:非常大的錯幀漏檢率,比Bosch公司聲稱的大幾個數(shù)量級;由于協(xié)議規(guī)則間的不匹配,連續(xù)出錯造成的等效離線,可能的持續(xù)時間很長。這2種錯誤單獨發(fā)生就會影響安全性,如果連著發(fā)生風(fēng)險就更大:發(fā)生第1個故障時應(yīng)用會收下錯誤的原始數(shù)據(jù),接著發(fā)生的第2個故障將阻斷數(shù)據(jù)刷新,從而使應(yīng)用的錯誤持續(xù)一段時間,造成系統(tǒng)的安全事故。
1 錯幀漏檢造成的值域失誤
圖1是發(fā)生位錯(bit flip)而產(chǎn)生錯幀漏檢的2個例子,具體構(gòu)造方法可見參考文獻。它們都滿足差錯Ec=U·G,其中G是CAN總線的CRC生成多項式G=(110o,0101,1001,1001)。圖中,Ec=U·G=(1000,0010,0001,1100,1110,1001)。由于Ec是G的倍數(shù),所以CRC檢驗不出錯。
構(gòu)造錯幀漏檢的例子時,第1個1的作用是確保填充規(guī)則在第6位后發(fā)生,這個1既可以是發(fā)生在DLC中的代碼,也可以視為數(shù)據(jù)域中填充進來的1。所以它的值可以不考慮作Tx與Rx的值。在此種情況下,如果第1個位錯發(fā)生在Tx的第2位,收到的Rx值將是Tx的33倍,或者1/33。如果將第1次位錯發(fā)生在1后面幾位,Rx值也會比Tx變化很多倍。
評論