使用CANScope測(cè)量CAN總線信號(hào),在干擾很?chē)?yán)重的情況下會(huì)出現(xiàn)CAN總線波形解碼與CAN報(bào)文解碼不一致的情況,具體表現(xiàn)為某些正確報(bào)文對(duì)應(yīng)的波形解碼卻是錯(cuò)誤的,或者收到的錯(cuò)誤報(bào)文對(duì)應(yīng)的波形解碼卻是正確的,如圖1中,幀ID為0x721的正確報(bào)文對(duì)應(yīng)的波形解碼卻為CRC錯(cuò)誤。本文將對(duì)這種現(xiàn)象產(chǎn)生的原因及其存在的意義進(jìn)行詳細(xì)的說(shuō)明。
圖1 報(bào)文解碼與波形解碼不一致
一、解碼差異錯(cuò)誤的主要原因
CANScope對(duì)CAN信號(hào)的處理包含2部分:報(bào)文處理部分和波形處理部分。報(bào)文處理部分通過(guò)CAN收發(fā)器將總線上的CANH和CANL差分信號(hào)轉(zhuǎn)成單端的數(shù)字信號(hào)RXD,再使用專(zhuān)用的CAN控制器接收RXD信號(hào)并進(jìn)行CAN協(xié)議解碼,最后將解碼后的報(bào)文進(jìn)行接收存儲(chǔ);波形處理部分通過(guò)信號(hào)調(diào)理電路將CAN總線信號(hào)進(jìn)行隔離等必要的處理后通過(guò)ADC電路將模擬信號(hào)數(shù)字化后順序保存,完成對(duì)波形信號(hào)的采集。
圖2 CAN總線信號(hào)處理
如圖2所示,報(bào)文處理和波形處理兩部分的電路和控制是完全獨(dú)立的,CAN信號(hào)經(jīng)過(guò)這兩部分電路之后會(huì)有所差異,主要的不同在于:1、經(jīng)過(guò)收發(fā)器之后的信號(hào)延時(shí)和經(jīng)過(guò)信號(hào)調(diào)理電路的延時(shí)不同,但這個(gè)不同對(duì)解碼的影響比較小,本文不做討論;2、CAN收發(fā)器內(nèi)部有遲滯比較器,具有相當(dāng)于低通濾波器的功能,能通過(guò)的信號(hào)帶寬不高,而波形采集由于需要觀測(cè)高頻干擾等信號(hào),要求信號(hào)調(diào)理電路的帶寬比較高,所以帶寬的差異對(duì)后續(xù)解碼的差異影響比較大。
如圖3所示,帶有高頻尖脈沖干擾信號(hào)的總線信號(hào)CANH和CANL,在經(jīng)過(guò)低帶寬的收發(fā)器后,其攜帶的干擾信號(hào)被濾除(輸出的RXD信號(hào)是無(wú)干擾的數(shù)字信號(hào));而同樣的CANH和CANL信號(hào),在經(jīng)過(guò)高帶寬的信號(hào)調(diào)理電路后,其攜帶的干擾信號(hào)依然保留(波形采集模塊采集到有干擾的CANH和CANL信號(hào)后,經(jīng)過(guò)軟件差分后,得到的差分信號(hào)依然存在干擾,所以軟件轉(zhuǎn)換后的邏輯信號(hào)依然存在干擾)。
圖3 波形差異
根據(jù)以上分析,干擾信號(hào)的存在使得后續(xù)的CAN波形解碼會(huì)出現(xiàn)與報(bào)文解碼不同的情況。我們繼續(xù)往下深究:是否有干擾信號(hào)就一定會(huì)導(dǎo)致波形解碼與報(bào)文解碼不同呢?其實(shí)也不然,這還得從CAN總線的采樣規(guī)則說(shuō)起。
二、CAN總線采樣規(guī)則
CAN控制器先將高頻時(shí)鐘進(jìn)行預(yù)分頻,生成較低頻率的時(shí)鐘信號(hào),這個(gè)時(shí)鐘信號(hào)的周期定義為1個(gè)時(shí)間份額,1位CAN信號(hào)的碼元寬度包含有數(shù)倍的時(shí)間份額,如控制器時(shí)鐘頻率為16MHz,預(yù)分頻為8MHz的時(shí)鐘,則1個(gè)時(shí)間份額為125ns,對(duì)于1M波特率的CAN信號(hào),1位CAN信號(hào)的碼元寬度即為8個(gè)時(shí)間份額。
以1個(gè)時(shí)間份額為最小單位,將1位CAN信號(hào)碼元分為3段:同步段、相位段1、相位段2。同步段固定為1個(gè)時(shí)間份額,相位段1和相位段2可設(shè)置成不同參數(shù),控制器在相位段1和相位段2之間對(duì)CAN總線進(jìn)行采樣。
責(zé)任編輯:gt
-
收發(fā)器
+關(guān)注
關(guān)注
10文章
3551瀏覽量
107035 -
CAN總線
+關(guān)注
關(guān)注
145文章
1968瀏覽量
131956 -
測(cè)量
+關(guān)注
關(guān)注
10文章
5093瀏覽量
112663
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
TPL0102-100讀寄存器0x00,讀到的值和寫(xiě)入的值不一致,為什么?
CAN兩機(jī)通訊出現(xiàn)問(wèn)題,兩個(gè)STM32通過(guò)CAN通訊,測(cè)得RX TX波形不一致,請(qǐng)問(wèn)能看出什么問(wèn)題嗎?
CAN一致性測(cè)試—容錯(cuò)性測(cè)試
基于偏好不一致熵的偏好決策方法
不一致數(shù)據(jù)上精確決策樹(shù)生成算法

感興趣區(qū)域不一致性決策算法
分布式大數(shù)據(jù)不一致性檢測(cè)
鋰電池組不一致性的原因及危害是怎樣的
鋰電池組不一致性的原因是什么,它的危害有哪些
基于CAN總線信號(hào)的波形解碼和報(bào)文解碼不一致的情況分析

評(píng)論