四、CAN總線關閉如何恢復?
如果出現了BUS OFF,總線上的節點需要做一些動作,例如重啟CAN控制器或是重新上電,但是這些都只是一些補救措施,最根本的還是需要找到引起BUS OFF的根源。
當發生CAN總線關閉時,我們可以檢查BUS OFF寄存器的值,對CAN控制器的驅動及相關寄存器進行初始化操作。初始化完成后,CAN總線關閉故障就會立即解除。為了避免該節點在CAN網絡中頻繁發生總線關閉問題,建議在初始化后,不要立即對外發送CAN報文。
上文也提到過,由于汽車內部存在強干擾,也會導致CAN總線關閉。針對這種現象,我們通過以下方式進行處理:
●由于汽車內部存在強電流產生的空間磁干擾,應該將CAN線纜雙絞程度加大;
●CAN接口設計采用CTM1051隔離收發器、隔離限幅,防止ECU死機;
●CAN接口增加磁環、共模電感等效果好的感性防護器件;
●外接專用的信號保護器消除干擾,如ZF-12Y2;
●使用網橋中繼設備CANBridge對部分強干擾源進行隔離。
綜合上述,汽車CAN總線關閉故障發生時,應分析物理層包括CAN線路、CAN控制器及收發器、CAN信號干擾等外在因素,同時分析CAN寄存器及軟件處理,重新初始化CAN驅動和恢復正常后,定時嘗試往外發送報文。
五、CAN網絡黑匣子-CANDTU
新能源汽車在發送總線關閉情況時,我們也希望能夠有對應的CAN報文去分析,尤其是針對偶發性的故障時,我們更需要有可靠的CAN報文來作為判斷依據。
廣州致遠電子有限公司推出CAN網絡總線“黑匣子”,我們稱之為CANDTU,如圖4所示,CANDTU集成有2路或4路符合ISO11898標準的獨立CAN-bus通道,并可標配存儲介質為32G高速SD卡,可以進行長時間記錄、條件記錄、預觸發記錄和定時記錄等多種模式,并可以將記錄的數據轉換為CSV格式,或者CANOE、CANScope等各種主流分析軟件的格式供后期處理分析。
圖4 CANDTU系列產品示意圖
CANDTU可以長時間記錄CAN報文,以便于工程師查找數據,但是對于網絡穩定性和偶發性故障無法進行定位和分析。