CAN總線(xiàn)丟幀案例診斷經(jīng)驗
用戶(hù)現場(chǎng)為一煤安監控網(wǎng)絡(luò ),節點(diǎn)包括一個(gè)主站設備、兩個(gè)分站設備,主站設備對分站設備進(jìn)行輪詢(xún)式數據查詢(xún)。故障出現時(shí)發(fā)現分站上傳的數據出現缺失現象。致遠電子工程師將專(zhuān)業(yè)工具——CANScope分析儀接入故障網(wǎng)絡(luò )捕獲數據,然后進(jìn)行分析?,F場(chǎng)情況如圖1所示。

圖1現場(chǎng)測試圖片
二、對故障通訊網(wǎng)絡(luò )快速體檢
監控系統上電工作后,記錄一段時(shí)間數據,通過(guò)【報文幀統計功能】分析,此次測試樣本為135個(gè)幀,成功報文119個(gè),正確率為88.15%。錯誤幀類(lèi)型主要包括CRC定界符錯誤、幀結束錯誤、應答定界符錯誤、數據場(chǎng)填充錯誤。使用CANScope分析儀輕松捕獲到網(wǎng)絡(luò )中的錯誤數據,如圖2所示。

圖2報文幀統計結果
三、數據丟失分析
由于用戶(hù)采取輪詢(xún)的方式查詢(xún)分站數據,存在固有的數據周期,通過(guò)【流量分析功能】可以發(fā)現,未丟數據的周期中,包含7條有效報文,如圖3所示。

圖3未丟數據周期
丟數據的周期中出現了紅色的錯誤幀,如圖4所示。有效報文數量=周期報文總數7-錯誤幀數量。我們都知道在正常模式下CAN總線(xiàn)中出現錯誤幀后底層會(huì )實(shí)現自動(dòng)重發(fā),保證報文不會(huì )因為錯誤幀而丟失,然而在本網(wǎng)絡(luò )中這一機制未能實(shí)現。通過(guò)檢查軟件,發(fā)現軟件工程師在CAN控制器初始化代碼中禁用了重發(fā)功能,導致錯誤幀不能重發(fā)。

圖4丟數據周期
四、錯誤幀分析
通過(guò)修改代碼解決了數據重發(fā)的問(wèn)題,但是網(wǎng)絡(luò )中偶爾冒出的錯誤幀仍然是工程師的一塊心病,錯誤重發(fā)機制的使能僅僅是治標不治本,那么究竟是什么原因導致CAN網(wǎng)絡(luò )中出現錯誤幀呢?這就需要借助CANScope的信號質(zhì)量分析功能。通過(guò)觀(guān)察錯誤幀的波形我們發(fā)現,CAN信號上存在很?chē)乐氐墓材8蓴_,使得CAN_H和CAN_L上的單線(xiàn)波形畸變嚴重,如圖5所示。

圖5波形分析
選取一條錯誤幀使用【FFT分析功能】進(jìn)行分析可以看到該錯誤幀信號上的頻域特性,其中在27KHz頻點(diǎn)上存在很強的能量,幅值甚至達到了1.38V,如圖6所示。我們知道CAN總線(xiàn)的顯隱性電平的壓差很小,1V左右的干擾很容易導致電平識別錯誤,出現錯誤幀。

圖6FFT分析
這一干擾是否具有統計特性呢,使用【干擾統計功能】針對所有樣本數據做干擾頻點(diǎn)強度排序,可以發(fā)現干擾最強的頻點(diǎn)集中在27KHz附近,如圖7所示。因此在CAN網(wǎng)絡(luò )附近確實(shí)存在這樣一個(gè)干擾源。經(jīng)過(guò)工程師們的排查發(fā)現,這一干擾頻率與開(kāi)關(guān)電源的開(kāi)關(guān)頻率最吻合,由于所有CAN節點(diǎn)未做隔離導致電源串擾,引發(fā)錯誤幀。

圖7干擾統計
五、總結
使用致遠電子的CANScope分析儀為何能夠標本兼治地解決CAN網(wǎng)絡(luò )通訊故障呢?
這是因為CANScope總線(xiàn)綜合分析儀是一款綜合性的CAN總線(xiàn)開(kāi)發(fā)與測試的專(zhuān)業(yè)工具,集海量存儲示波器、網(wǎng)絡(luò )分析儀、誤碼率分析儀、協(xié)議分析儀及可靠性測試工具于一身,并把各種儀器有機的整合和關(guān)聯(lián);重新定義CAN總線(xiàn)的開(kāi)發(fā)測試方法,可對CAN網(wǎng)絡(luò )通信正確性、可靠性、合理性進(jìn)行多角度全方位的評估;幫助用戶(hù)快速定位故障節點(diǎn),解決CAN總線(xiàn)應用的各種問(wèn)題,是CAN總線(xiàn)開(kāi)發(fā)測試的終極工具。
評論