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