圖5 干擾位置
CAN總線通常工作在比較惡劣的環(huán)境中,常常有干擾信號的存在,CAN總線組網(wǎng)時(shí)為了保證解碼的一致性,要求所有節(jié)點(diǎn)的采樣點(diǎn)位置設(shè)置應(yīng)該一致。CANScope中的報(bào)文處理和波形處理兩部分電路可看成2個CAN節(jié)點(diǎn),CANScope的波形解碼的采樣點(diǎn)位置設(shè)置是跟報(bào)文解碼的采樣點(diǎn)位置保持一致的,然而,當(dāng)高頻干擾信號出現(xiàn)在采樣點(diǎn)位置時(shí),即使是在相同采樣點(diǎn)位置進(jìn)行采樣,因?yàn)椴ㄐ翁幚砗蛨?bào)文處理電路的帶寬差異,還是有較大概率出現(xiàn)波形解碼和報(bào)文解碼不一致的現(xiàn)象。
軟件邏輯濾波
CANScope采用軟件濾波的方式,即對采集到的CAN總線模擬波形信號經(jīng)過軟件差分和邏輯化后的數(shù)字信號進(jìn)行軟件濾波,濾波后允許通過的信號帶寬隨著波特率的不同而不同,波特率越小,濾波后允許的信號帶寬越?。煌ㄟ^這樣的濾波處理,最大程度提高了對干擾信號的容忍度,甚至在報(bào)文解碼出現(xiàn)錯誤的情況下仍然能對波形做出正確的解碼。這樣,在干擾很嚴(yán)重的情況下就可能會出現(xiàn)文章開頭所說的報(bào)文解碼正確而波形解碼錯誤或者報(bào)文解碼錯誤而波形解碼正確的現(xiàn)象。
解碼差異存在的意義
使用過CAN卡的人可能會有這樣一個印象:在使用CAN卡的過程中,幾乎遇不到有些節(jié)點(diǎn)收到正確報(bào)文而有些節(jié)點(diǎn)收到錯誤報(bào)文的現(xiàn)象,因?yàn)橹灰粋€節(jié)點(diǎn)(處于錯誤主動狀態(tài)的節(jié)點(diǎn))收到錯誤報(bào)文,其它所有節(jié)點(diǎn)都會收到錯誤報(bào)文,最多就是錯誤的類型不同而已。這一點(diǎn)跟CANScope的報(bào)文解碼和波形解碼的差異現(xiàn)象是不同的,那這又是何原因呢?這是因?yàn)檎5?span>CAN網(wǎng)絡(luò)中,當(dāng)某個節(jié)點(diǎn)解碼到有錯誤時(shí),會向總線發(fā)出錯誤幀破壞當(dāng)前報(bào)文,從而導(dǎo)致所有節(jié)點(diǎn)都接收到錯誤報(bào)文。與之不同的是,CANScope作為測量設(shè)備,只對CAN總線進(jìn)行監(jiān)聽和采集,不影響CAN總線,將總線上的波形細(xì)節(jié)(包括波形細(xì)節(jié)導(dǎo)致的解碼差異)盡可能地展示出來,這正是解碼差異存在的意義。
圖6 解碼錯誤不影響總線
如圖6所示,CAN總線被嚴(yán)重干擾,CANScope的報(bào)文解碼出錯,但這時(shí)CANScope并不會向總線發(fā)出錯誤幀,而其它節(jié)點(diǎn)沒有解碼出錯,當(dāng)前幀被正常應(yīng)答并正常完成傳輸,這些情況可通過波形及波形解碼全部展現(xiàn)出來且不影響CAN總線網(wǎng)絡(luò)。
總結(jié)
使用CANScope測量CAN總線信號,在總線信號干擾很嚴(yán)重的情況下會出現(xiàn)CAN波形解碼與CAN報(bào)文解碼不一致的情況,這是由于CANScope獨(dú)立兩路的報(bào)文處理和波形處理所導(dǎo)致,而CANScope作為測量設(shè)備,只對CAN總線進(jìn)行靜默監(jiān)聽,不影響CAN總線,并將總線上的波形細(xì)節(jié)(包括波形細(xì)節(jié)導(dǎo)致的解碼差異)盡可能地展示出來,這正是CANScope的價(jià)值所在。