精品国产一区在线_av无码中文字幕无码王_天海翼三点刺激高潮不停_好硬好大好爽视频_欧美高清一区三区在线专区_香蕉黄色片

微軟公司宣布不再支持你正在使用的 IE瀏覽器,這會嚴重影響瀏覽網(wǎng)頁,請使用微軟最新的Edge瀏覽器
廠商專區(qū)
產(chǎn)品/技術
應用分類

為何會出現(xiàn)CAN波形解碼和報文解碼不一致的現(xiàn)象?

2019-10-31 12:56 來源:致遠電子 編輯:電源網(wǎng)

摘要:使用CANScope測量CAN總線信號,在干擾很嚴重的情況下會出現(xiàn)CAN總線波形解碼與CAN報文解碼不一致的情況,具體表現(xiàn)為某些正確報文對應的波形解碼卻是錯誤的,或者收到的錯誤報文對應的波形解碼卻是正確的,如圖1中,幀ID為0x721的正確報文對應的波形解碼卻為CRC錯誤。本文將對這種現(xiàn)象產(chǎn)生的原因及其存在的意義進行詳細的說明。

摘要:使用CANScope測量CAN總線信號,在干擾很嚴重的情況下會出現(xiàn)CAN總線波形解碼與CAN報文解碼不一致的情況,具體表現(xiàn)為某些正確報文對應的波形解碼卻是錯誤的,或者收到的錯誤報文對應的波形解碼卻是正確的,如圖1中,幀ID為0x721的正確報文對應的波形解碼卻為CRC錯誤。本文將對這種現(xiàn)象產(chǎn)生的原因及其存在的意義進行詳細的說明。 圖1 報文解碼與波形解碼不一致 一、解碼差異錯誤的主要原因 CANScope對CAN信號的處理包含2部分:報文處理部分和波形處理部分。報文處理部分通過CAN收發(fā)器將總線上的CANH和CANL差分信號轉成單端的數(shù)字信號RXD,再使用專用的CAN控制器接收RXD信號并進行CAN協(xié)議解碼,最后將解碼后的報文進行接收存儲;波形處理部分通過信號調理電路將CAN總線信號進行隔離等必要的處理后通過ADC電路將模擬信號數(shù)字化后順序保存,完成對波形信號的采集。 圖2 CAN總線信號處理 如圖2所示,報文處理和波形處理兩部分的電路和控制是完全獨立的,CAN信號經(jīng)過這兩部分電路之后會有所差異,主要的不同在于:1、經(jīng)過收發(fā)器之后的信號延時和經(jīng)過信號調理電路的延時不同,但這個不同對解碼的影響比較小,本文不做討論;2、CAN收發(fā)器內部有遲滯比較器,具有相當于低通濾波器的功能,能通過的信號帶寬不高,而波形采集由于需要觀測高頻干擾等信號,要求信號調理電路的帶寬比較高,所以帶寬的差異對后續(xù)解碼的差異影響比較大。 如圖3所示,帶有高頻尖脈沖干擾信號的總線信號CANH和CANL,在經(jīng)過低帶寬的收發(fā)器后,其攜帶的干擾信號被濾除(輸出的RXD信號是無干擾的數(shù)字信號);而同樣的CANH和CANL信號,在經(jīng)過高帶寬的信號調理電路后,其攜帶的干擾信號依然保留(波形采集模塊采集到有干擾的CANH和CANL信號后,經(jīng)過軟件差分后,得到的差分信號依然存在干擾,所以軟件轉換后的邏輯信號依然存在干擾)。 圖3 波形差異 根據(jù)以上分析,干擾信號的存在使得后續(xù)的CAN波形解碼會出現(xiàn)與報文解碼不同的情況。我們繼續(xù)往下深究:是否有干擾信號就一定會導致波形解碼與報文解碼不同呢?其實也不然,這還得從CAN總線的采樣規(guī)則說起。 二、CAN總線采樣規(guī)則 CAN控制器先將高頻時鐘進行預分頻,生成較低頻率的時鐘信號,這個時鐘信號的周期定義為1個時間份額,1位CAN信號的碼元寬度包含有數(shù)倍的時間份額,如控制器時鐘頻率為16MHz,預分頻為8MHz的時鐘,則1個時間份額為125ns,對于1M波特率的CAN信號,1位CAN信號的碼元寬度即為8個時間份額。 以1個時間份額為最小單位,將1位CAN信號碼元分為3段:同步段、相位段1、相位段2。同步段固定為1個時間份額,相位段1和相位段2可設置成不同參數(shù),控制器在相位段1和相位段2之間對CAN總線進行采樣。 圖4 采樣點位置 當干擾信號出現(xiàn)的位置不在采樣點位置時,解碼是不會因為被干擾而出現(xiàn)錯誤的,只有當干擾信號剛好位于采樣位置時,解碼才會因為干擾而出現(xiàn)錯誤。 圖5 干擾位置 CAN總線通常工作在比較惡劣的環(huán)境中,常常有干擾信號的存在,CAN總線組網(wǎng)時為了保證解碼的一致性,要求所有節(jié)點的采樣點位置設置應該一致。CANScope中的報文處理和波形處理兩部分電路可看成2個CAN節(jié)點,CANScope的波形解碼的采樣點位置設置是跟報文解碼的采樣點位置保持一致的,然而,當高頻干擾信號出現(xiàn)在采樣點位置時,即使是在相同采樣點位置進行采樣,因為波形處理和報文處理電路的帶寬差異,還是有較大概率出現(xiàn)波形解碼和報文解碼不一致的現(xiàn)象。 三、軟件邏輯濾波 CANScope采用軟件濾波的方式,即對采集到的CAN總線模擬波形信號經(jīng)過軟件差分和邏輯化后的數(shù)字信號進行軟件濾波,濾波后允許通過的信號帶寬隨著波特率的不同而不同,波特率越小,濾波后允許的信號帶寬越小;通過這樣的濾波處理,最大程度提高了對干擾信號的容忍度,甚至在報文解碼出現(xiàn)錯誤的情況下仍然能對波形做出正確的解碼。這樣,在干擾很嚴重的情況下就可能會出現(xiàn)文章開頭所說的報文解碼正確而波形解碼錯誤或者報文解碼錯誤而波形解碼正確的現(xiàn)象。 四、解碼差異存在的意義 使用過CAN卡的人可能會有這樣一個印象:在使用CAN卡的過程中,幾乎遇不到有些節(jié)點收到正確報文而有些節(jié)點收到錯誤報文的現(xiàn)象,因為只要一個節(jié)點(處于錯誤主動狀態(tài)的節(jié)點)收到錯誤報文,其它所有節(jié)點都會收到錯誤報文,最多就是錯誤的類型不同而已。這一點跟CANScope的報文解碼和波形解碼的差異現(xiàn)象是不同的,那這又是何原因呢?這是因為正常的CAN網(wǎng)絡中,當某個節(jié)點解碼到有錯誤時,會向總線發(fā)出錯誤幀破壞當前報文,從而導致所有節(jié)點都接收到錯誤報文。與之不同的是,CANScope作為測量設備,只對CAN總線進行監(jiān)聽和采集,不影響CAN總線,將總線上的波形細節(jié)(包括波形細節(jié)導致的解碼差異)盡可能地展示出來,這正是解碼差異存在的意義。 圖6 解碼錯誤不影響總線 如圖6所示,CAN總線被嚴重干擾,CANScope的報文解碼出錯,但這時CANScope并不會向總線發(fā)出錯誤幀,而其它節(jié)點沒有解碼出錯,當前幀被正常應答并正常完成傳輸,這些情況可通過波形及波形解碼全部展現(xiàn)出來且不影響CAN總線網(wǎng)絡。 總結: 使用CANScope測量CAN總線信號,在總線信號干擾很嚴重的情況下會出現(xiàn)CAN波形解碼與CAN報文解碼不一致的情況,這是由于CANScope獨立兩路的報文處理和波形處理所導致,而CANScope作為測量設備,只對CAN總線進行靜默監(jiān)聽,不影響CAN總線,并將總線上的波形細節(jié)(包括波形細節(jié)導致的解碼差異)盡可能地展示出來,這正是CANScope的價值所在。

圖1  報文解碼與波形解碼不一致

一、解碼差異錯誤的主要原因

CANScope對CAN信號的處理包含2部分:報文處理部分和波形處理部分。報文處理部分通過CAN收發(fā)器將總線上的CANH和CANL差分信號轉成單端的數(shù)字信號RXD,再使用專用的CAN控制器接收RXD信號并進行CAN協(xié)議解碼,最后將解碼后的報文進行接收存儲;波形處理部分通過信號調理電路將CAN總線信號進行隔離等必要的處理后通過ADC電路將模擬信號數(shù)字化后順序保存,完成對波形信號的采集。

摘要:使用CANScope測量CAN總線信號,在干擾很嚴重的情況下會出現(xiàn)CAN總線波形解碼與CAN報文解碼不一致的情況,具體表現(xiàn)為某些正確報文對應的波形解碼卻是錯誤的,或者收到的錯誤報文對應的波形解碼卻是正確的,如圖1中,幀ID為0x721的正確報文對應的波形解碼卻為CRC錯誤。本文將對這種現(xiàn)象產(chǎn)生的原因及其存在的意義進行詳細的說明。 圖1 報文解碼與波形解碼不一致 一、解碼差異錯誤的主要原因 CANScope對CAN信號的處理包含2部分:報文處理部分和波形處理部分。報文處理部分通過CAN收發(fā)器將總線上的CANH和CANL差分信號轉成單端的數(shù)字信號RXD,再使用專用的CAN控制器接收RXD信號并進行CAN協(xié)議解碼,最后將解碼后的報文進行接收存儲;波形處理部分通過信號調理電路將CAN總線信號進行隔離等必要的處理后通過ADC電路將模擬信號數(shù)字化后順序保存,完成對波形信號的采集。 圖2 CAN總線信號處理 如圖2所示,報文處理和波形處理兩部分的電路和控制是完全獨立的,CAN信號經(jīng)過這兩部分電路之后會有所差異,主要的不同在于:1、經(jīng)過收發(fā)器之后的信號延時和經(jīng)過信號調理電路的延時不同,但這個不同對解碼的影響比較小,本文不做討論;2、CAN收發(fā)器內部有遲滯比較器,具有相當于低通濾波器的功能,能通過的信號帶寬不高,而波形采集由于需要觀測高頻干擾等信號,要求信號調理電路的帶寬比較高,所以帶寬的差異對后續(xù)解碼的差異影響比較大。 如圖3所示,帶有高頻尖脈沖干擾信號的總線信號CANH和CANL,在經(jīng)過低帶寬的收發(fā)器后,其攜帶的干擾信號被濾除(輸出的RXD信號是無干擾的數(shù)字信號);而同樣的CANH和CANL信號,在經(jīng)過高帶寬的信號調理電路后,其攜帶的干擾信號依然保留(波形采集模塊采集到有干擾的CANH和CANL信號后,經(jīng)過軟件差分后,得到的差分信號依然存在干擾,所以軟件轉換后的邏輯信號依然存在干擾)。 圖3 波形差異 根據(jù)以上分析,干擾信號的存在使得后續(xù)的CAN波形解碼會出現(xiàn)與報文解碼不同的情況。我們繼續(xù)往下深究:是否有干擾信號就一定會導致波形解碼與報文解碼不同呢?其實也不然,這還得從CAN總線的采樣規(guī)則說起。 二、CAN總線采樣規(guī)則 CAN控制器先將高頻時鐘進行預分頻,生成較低頻率的時鐘信號,這個時鐘信號的周期定義為1個時間份額,1位CAN信號的碼元寬度包含有數(shù)倍的時間份額,如控制器時鐘頻率為16MHz,預分頻為8MHz的時鐘,則1個時間份額為125ns,對于1M波特率的CAN信號,1位CAN信號的碼元寬度即為8個時間份額。 以1個時間份額為最小單位,將1位CAN信號碼元分為3段:同步段、相位段1、相位段2。同步段固定為1個時間份額,相位段1和相位段2可設置成不同參數(shù),控制器在相位段1和相位段2之間對CAN總線進行采樣。 圖4 采樣點位置 當干擾信號出現(xiàn)的位置不在采樣點位置時,解碼是不會因為被干擾而出現(xiàn)錯誤的,只有當干擾信號剛好位于采樣位置時,解碼才會因為干擾而出現(xiàn)錯誤。 圖5 干擾位置 CAN總線通常工作在比較惡劣的環(huán)境中,常常有干擾信號的存在,CAN總線組網(wǎng)時為了保證解碼的一致性,要求所有節(jié)點的采樣點位置設置應該一致。CANScope中的報文處理和波形處理兩部分電路可看成2個CAN節(jié)點,CANScope的波形解碼的采樣點位置設置是跟報文解碼的采樣點位置保持一致的,然而,當高頻干擾信號出現(xiàn)在采樣點位置時,即使是在相同采樣點位置進行采樣,因為波形處理和報文處理電路的帶寬差異,還是有較大概率出現(xiàn)波形解碼和報文解碼不一致的現(xiàn)象。 三、軟件邏輯濾波 CANScope采用軟件濾波的方式,即對采集到的CAN總線模擬波形信號經(jīng)過軟件差分和邏輯化后的數(shù)字信號進行軟件濾波,濾波后允許通過的信號帶寬隨著波特率的不同而不同,波特率越小,濾波后允許的信號帶寬越小;通過這樣的濾波處理,最大程度提高了對干擾信號的容忍度,甚至在報文解碼出現(xiàn)錯誤的情況下仍然能對波形做出正確的解碼。這樣,在干擾很嚴重的情況下就可能會出現(xiàn)文章開頭所說的報文解碼正確而波形解碼錯誤或者報文解碼錯誤而波形解碼正確的現(xiàn)象。 四、解碼差異存在的意義 使用過CAN卡的人可能會有這樣一個印象:在使用CAN卡的過程中,幾乎遇不到有些節(jié)點收到正確報文而有些節(jié)點收到錯誤報文的現(xiàn)象,因為只要一個節(jié)點(處于錯誤主動狀態(tài)的節(jié)點)收到錯誤報文,其它所有節(jié)點都會收到錯誤報文,最多就是錯誤的類型不同而已。這一點跟CANScope的報文解碼和波形解碼的差異現(xiàn)象是不同的,那這又是何原因呢?這是因為正常的CAN網(wǎng)絡中,當某個節(jié)點解碼到有錯誤時,會向總線發(fā)出錯誤幀破壞當前報文,從而導致所有節(jié)點都接收到錯誤報文。與之不同的是,CANScope作為測量設備,只對CAN總線進行監(jiān)聽和采集,不影響CAN總線,將總線上的波形細節(jié)(包括波形細節(jié)導致的解碼差異)盡可能地展示出來,這正是解碼差異存在的意義。 圖6 解碼錯誤不影響總線 如圖6所示,CAN總線被嚴重干擾,CANScope的報文解碼出錯,但這時CANScope并不會向總線發(fā)出錯誤幀,而其它節(jié)點沒有解碼出錯,當前幀被正常應答并正常完成傳輸,這些情況可通過波形及波形解碼全部展現(xiàn)出來且不影響CAN總線網(wǎng)絡。 總結: 使用CANScope測量CAN總線信號,在總線信號干擾很嚴重的情況下會出現(xiàn)CAN波形解碼與CAN報文解碼不一致的情況,這是由于CANScope獨立兩路的報文處理和波形處理所導致,而CANScope作為測量設備,只對CAN總線進行靜默監(jiān)聽,不影響CAN總線,并將總線上的波形細節(jié)(包括波形細節(jié)導致的解碼差異)盡可能地展示出來,這正是CANScope的價值所在。

圖2  CAN總線信號處理

如圖2所示,報文處理和波形處理兩部分的電路和控制是完全獨立的,CAN信號經(jīng)過這兩部分電路之后會有所差異,主要的不同在于:1、經(jīng)過收發(fā)器之后的信號延時和經(jīng)過信號調理電路的延時不同,但這個不同對解碼的影響比較小,本文不做討論;2、CAN收發(fā)器內部有遲滯比較器,具有相當于低通濾波器的功能,能通過的信號帶寬不高,而波形采集由于需要觀測高頻干擾等信號,要求信號調理電路的帶寬比較高,所以帶寬的差異對后續(xù)解碼的差異影響比較大。

如圖3所示,帶有高頻尖脈沖干擾信號的總線信號CANH和CANL,在經(jīng)過低帶寬的收發(fā)器后,其攜帶的干擾信號被濾除(輸出的RXD信號是無干擾的數(shù)字信號);而同樣的CANH和CANL信號,在經(jīng)過高帶寬的信號調理電路后,其攜帶的干擾信號依然保留(波形采集模塊采集到有干擾的CANH和CANL信號后,經(jīng)過軟件差分后,得到的差分信號依然存在干擾,所以軟件轉換后的邏輯信號依然存在干擾)。

摘要:使用CANScope測量CAN總線信號,在干擾很嚴重的情況下會出現(xiàn)CAN總線波形解碼與CAN報文解碼不一致的情況,具體表現(xiàn)為某些正確報文對應的波形解碼卻是錯誤的,或者收到的錯誤報文對應的波形解碼卻是正確的,如圖1中,幀ID為0x721的正確報文對應的波形解碼卻為CRC錯誤。本文將對這種現(xiàn)象產(chǎn)生的原因及其存在的意義進行詳細的說明。 圖1 報文解碼與波形解碼不一致 一、解碼差異錯誤的主要原因 CANScope對CAN信號的處理包含2部分:報文處理部分和波形處理部分。報文處理部分通過CAN收發(fā)器將總線上的CANH和CANL差分信號轉成單端的數(shù)字信號RXD,再使用專用的CAN控制器接收RXD信號并進行CAN協(xié)議解碼,最后將解碼后的報文進行接收存儲;波形處理部分通過信號調理電路將CAN總線信號進行隔離等必要的處理后通過ADC電路將模擬信號數(shù)字化后順序保存,完成對波形信號的采集。 圖2 CAN總線信號處理 如圖2所示,報文處理和波形處理兩部分的電路和控制是完全獨立的,CAN信號經(jīng)過這兩部分電路之后會有所差異,主要的不同在于:1、經(jīng)過收發(fā)器之后的信號延時和經(jīng)過信號調理電路的延時不同,但這個不同對解碼的影響比較小,本文不做討論;2、CAN收發(fā)器內部有遲滯比較器,具有相當于低通濾波器的功能,能通過的信號帶寬不高,而波形采集由于需要觀測高頻干擾等信號,要求信號調理電路的帶寬比較高,所以帶寬的差異對后續(xù)解碼的差異影響比較大。 如圖3所示,帶有高頻尖脈沖干擾信號的總線信號CANH和CANL,在經(jīng)過低帶寬的收發(fā)器后,其攜帶的干擾信號被濾除(輸出的RXD信號是無干擾的數(shù)字信號);而同樣的CANH和CANL信號,在經(jīng)過高帶寬的信號調理電路后,其攜帶的干擾信號依然保留(波形采集模塊采集到有干擾的CANH和CANL信號后,經(jīng)過軟件差分后,得到的差分信號依然存在干擾,所以軟件轉換后的邏輯信號依然存在干擾)。 圖3 波形差異 根據(jù)以上分析,干擾信號的存在使得后續(xù)的CAN波形解碼會出現(xiàn)與報文解碼不同的情況。我們繼續(xù)往下深究:是否有干擾信號就一定會導致波形解碼與報文解碼不同呢?其實也不然,這還得從CAN總線的采樣規(guī)則說起。 二、CAN總線采樣規(guī)則 CAN控制器先將高頻時鐘進行預分頻,生成較低頻率的時鐘信號,這個時鐘信號的周期定義為1個時間份額,1位CAN信號的碼元寬度包含有數(shù)倍的時間份額,如控制器時鐘頻率為16MHz,預分頻為8MHz的時鐘,則1個時間份額為125ns,對于1M波特率的CAN信號,1位CAN信號的碼元寬度即為8個時間份額。 以1個時間份額為最小單位,將1位CAN信號碼元分為3段:同步段、相位段1、相位段2。同步段固定為1個時間份額,相位段1和相位段2可設置成不同參數(shù),控制器在相位段1和相位段2之間對CAN總線進行采樣。 圖4 采樣點位置 當干擾信號出現(xiàn)的位置不在采樣點位置時,解碼是不會因為被干擾而出現(xiàn)錯誤的,只有當干擾信號剛好位于采樣位置時,解碼才會因為干擾而出現(xiàn)錯誤。 圖5 干擾位置 CAN總線通常工作在比較惡劣的環(huán)境中,常常有干擾信號的存在,CAN總線組網(wǎng)時為了保證解碼的一致性,要求所有節(jié)點的采樣點位置設置應該一致。CANScope中的報文處理和波形處理兩部分電路可看成2個CAN節(jié)點,CANScope的波形解碼的采樣點位置設置是跟報文解碼的采樣點位置保持一致的,然而,當高頻干擾信號出現(xiàn)在采樣點位置時,即使是在相同采樣點位置進行采樣,因為波形處理和報文處理電路的帶寬差異,還是有較大概率出現(xiàn)波形解碼和報文解碼不一致的現(xiàn)象。 三、軟件邏輯濾波 CANScope采用軟件濾波的方式,即對采集到的CAN總線模擬波形信號經(jīng)過軟件差分和邏輯化后的數(shù)字信號進行軟件濾波,濾波后允許通過的信號帶寬隨著波特率的不同而不同,波特率越小,濾波后允許的信號帶寬越小;通過這樣的濾波處理,最大程度提高了對干擾信號的容忍度,甚至在報文解碼出現(xiàn)錯誤的情況下仍然能對波形做出正確的解碼。這樣,在干擾很嚴重的情況下就可能會出現(xiàn)文章開頭所說的報文解碼正確而波形解碼錯誤或者報文解碼錯誤而波形解碼正確的現(xiàn)象。 四、解碼差異存在的意義 使用過CAN卡的人可能會有這樣一個印象:在使用CAN卡的過程中,幾乎遇不到有些節(jié)點收到正確報文而有些節(jié)點收到錯誤報文的現(xiàn)象,因為只要一個節(jié)點(處于錯誤主動狀態(tài)的節(jié)點)收到錯誤報文,其它所有節(jié)點都會收到錯誤報文,最多就是錯誤的類型不同而已。這一點跟CANScope的報文解碼和波形解碼的差異現(xiàn)象是不同的,那這又是何原因呢?這是因為正常的CAN網(wǎng)絡中,當某個節(jié)點解碼到有錯誤時,會向總線發(fā)出錯誤幀破壞當前報文,從而導致所有節(jié)點都接收到錯誤報文。與之不同的是,CANScope作為測量設備,只對CAN總線進行監(jiān)聽和采集,不影響CAN總線,將總線上的波形細節(jié)(包括波形細節(jié)導致的解碼差異)盡可能地展示出來,這正是解碼差異存在的意義。 圖6 解碼錯誤不影響總線 如圖6所示,CAN總線被嚴重干擾,CANScope的報文解碼出錯,但這時CANScope并不會向總線發(fā)出錯誤幀,而其它節(jié)點沒有解碼出錯,當前幀被正常應答并正常完成傳輸,這些情況可通過波形及波形解碼全部展現(xiàn)出來且不影響CAN總線網(wǎng)絡。 總結: 使用CANScope測量CAN總線信號,在總線信號干擾很嚴重的情況下會出現(xiàn)CAN波形解碼與CAN報文解碼不一致的情況,這是由于CANScope獨立兩路的報文處理和波形處理所導致,而CANScope作為測量設備,只對CAN總線進行靜默監(jiān)聽,不影響CAN總線,并將總線上的波形細節(jié)(包括波形細節(jié)導致的解碼差異)盡可能地展示出來,這正是CANScope的價值所在。

圖3  波形差異

根據(jù)以上分析,干擾信號的存在使得后續(xù)的CAN波形解碼會出現(xiàn)與報文解碼不同的情況。我們繼續(xù)往下深究:是否有干擾信號就一定會導致波形解碼與報文解碼不同呢?其實也不然,這還得從CAN總線的采樣規(guī)則說起。

二、CAN總線采樣規(guī)則

CAN控制器先將高頻時鐘進行預分頻,生成較低頻率的時鐘信號,這個時鐘信號的周期定義為1個時間份額,1位CAN信號的碼元寬度包含有數(shù)倍的時間份額,如控制器時鐘頻率為16MHz,預分頻為8MHz的時鐘,則1個時間份額為125ns,對于1M波特率的CAN信號,1位CAN信號的碼元寬度即為8個時間份額。

以1個時間份額為最小單位,將1位CAN信號碼元分為3段:同步段、相位段1、相位段2。同步段固定為1個時間份額,相位段1和相位段2可設置成不同參數(shù),控制器在相位段1和相位段2之間對CAN總線進行采樣。

摘要:使用CANScope測量CAN總線信號,在干擾很嚴重的情況下會出現(xiàn)CAN總線波形解碼與CAN報文解碼不一致的情況,具體表現(xiàn)為某些正確報文對應的波形解碼卻是錯誤的,或者收到的錯誤報文對應的波形解碼卻是正確的,如圖1中,幀ID為0x721的正確報文對應的波形解碼卻為CRC錯誤。本文將對這種現(xiàn)象產(chǎn)生的原因及其存在的意義進行詳細的說明。 圖1 報文解碼與波形解碼不一致 一、解碼差異錯誤的主要原因 CANScope對CAN信號的處理包含2部分:報文處理部分和波形處理部分。報文處理部分通過CAN收發(fā)器將總線上的CANH和CANL差分信號轉成單端的數(shù)字信號RXD,再使用專用的CAN控制器接收RXD信號并進行CAN協(xié)議解碼,最后將解碼后的報文進行接收存儲;波形處理部分通過信號調理電路將CAN總線信號進行隔離等必要的處理后通過ADC電路將模擬信號數(shù)字化后順序保存,完成對波形信號的采集。 圖2 CAN總線信號處理 如圖2所示,報文處理和波形處理兩部分的電路和控制是完全獨立的,CAN信號經(jīng)過這兩部分電路之后會有所差異,主要的不同在于:1、經(jīng)過收發(fā)器之后的信號延時和經(jīng)過信號調理電路的延時不同,但這個不同對解碼的影響比較小,本文不做討論;2、CAN收發(fā)器內部有遲滯比較器,具有相當于低通濾波器的功能,能通過的信號帶寬不高,而波形采集由于需要觀測高頻干擾等信號,要求信號調理電路的帶寬比較高,所以帶寬的差異對后續(xù)解碼的差異影響比較大。 如圖3所示,帶有高頻尖脈沖干擾信號的總線信號CANH和CANL,在經(jīng)過低帶寬的收發(fā)器后,其攜帶的干擾信號被濾除(輸出的RXD信號是無干擾的數(shù)字信號);而同樣的CANH和CANL信號,在經(jīng)過高帶寬的信號調理電路后,其攜帶的干擾信號依然保留(波形采集模塊采集到有干擾的CANH和CANL信號后,經(jīng)過軟件差分后,得到的差分信號依然存在干擾,所以軟件轉換后的邏輯信號依然存在干擾)。 圖3 波形差異 根據(jù)以上分析,干擾信號的存在使得后續(xù)的CAN波形解碼會出現(xiàn)與報文解碼不同的情況。我們繼續(xù)往下深究:是否有干擾信號就一定會導致波形解碼與報文解碼不同呢?其實也不然,這還得從CAN總線的采樣規(guī)則說起。 二、CAN總線采樣規(guī)則 CAN控制器先將高頻時鐘進行預分頻,生成較低頻率的時鐘信號,這個時鐘信號的周期定義為1個時間份額,1位CAN信號的碼元寬度包含有數(shù)倍的時間份額,如控制器時鐘頻率為16MHz,預分頻為8MHz的時鐘,則1個時間份額為125ns,對于1M波特率的CAN信號,1位CAN信號的碼元寬度即為8個時間份額。 以1個時間份額為最小單位,將1位CAN信號碼元分為3段:同步段、相位段1、相位段2。同步段固定為1個時間份額,相位段1和相位段2可設置成不同參數(shù),控制器在相位段1和相位段2之間對CAN總線進行采樣。 圖4 采樣點位置 當干擾信號出現(xiàn)的位置不在采樣點位置時,解碼是不會因為被干擾而出現(xiàn)錯誤的,只有當干擾信號剛好位于采樣位置時,解碼才會因為干擾而出現(xiàn)錯誤。 圖5 干擾位置 CAN總線通常工作在比較惡劣的環(huán)境中,常常有干擾信號的存在,CAN總線組網(wǎng)時為了保證解碼的一致性,要求所有節(jié)點的采樣點位置設置應該一致。CANScope中的報文處理和波形處理兩部分電路可看成2個CAN節(jié)點,CANScope的波形解碼的采樣點位置設置是跟報文解碼的采樣點位置保持一致的,然而,當高頻干擾信號出現(xiàn)在采樣點位置時,即使是在相同采樣點位置進行采樣,因為波形處理和報文處理電路的帶寬差異,還是有較大概率出現(xiàn)波形解碼和報文解碼不一致的現(xiàn)象。 三、軟件邏輯濾波 CANScope采用軟件濾波的方式,即對采集到的CAN總線模擬波形信號經(jīng)過軟件差分和邏輯化后的數(shù)字信號進行軟件濾波,濾波后允許通過的信號帶寬隨著波特率的不同而不同,波特率越小,濾波后允許的信號帶寬越小;通過這樣的濾波處理,最大程度提高了對干擾信號的容忍度,甚至在報文解碼出現(xiàn)錯誤的情況下仍然能對波形做出正確的解碼。這樣,在干擾很嚴重的情況下就可能會出現(xiàn)文章開頭所說的報文解碼正確而波形解碼錯誤或者報文解碼錯誤而波形解碼正確的現(xiàn)象。 四、解碼差異存在的意義 使用過CAN卡的人可能會有這樣一個印象:在使用CAN卡的過程中,幾乎遇不到有些節(jié)點收到正確報文而有些節(jié)點收到錯誤報文的現(xiàn)象,因為只要一個節(jié)點(處于錯誤主動狀態(tài)的節(jié)點)收到錯誤報文,其它所有節(jié)點都會收到錯誤報文,最多就是錯誤的類型不同而已。這一點跟CANScope的報文解碼和波形解碼的差異現(xiàn)象是不同的,那這又是何原因呢?這是因為正常的CAN網(wǎng)絡中,當某個節(jié)點解碼到有錯誤時,會向總線發(fā)出錯誤幀破壞當前報文,從而導致所有節(jié)點都接收到錯誤報文。與之不同的是,CANScope作為測量設備,只對CAN總線進行監(jiān)聽和采集,不影響CAN總線,將總線上的波形細節(jié)(包括波形細節(jié)導致的解碼差異)盡可能地展示出來,這正是解碼差異存在的意義。 圖6 解碼錯誤不影響總線 如圖6所示,CAN總線被嚴重干擾,CANScope的報文解碼出錯,但這時CANScope并不會向總線發(fā)出錯誤幀,而其它節(jié)點沒有解碼出錯,當前幀被正常應答并正常完成傳輸,這些情況可通過波形及波形解碼全部展現(xiàn)出來且不影響CAN總線網(wǎng)絡。 總結: 使用CANScope測量CAN總線信號,在總線信號干擾很嚴重的情況下會出現(xiàn)CAN波形解碼與CAN報文解碼不一致的情況,這是由于CANScope獨立兩路的報文處理和波形處理所導致,而CANScope作為測量設備,只對CAN總線進行靜默監(jiān)聽,不影響CAN總線,并將總線上的波形細節(jié)(包括波形細節(jié)導致的解碼差異)盡可能地展示出來,這正是CANScope的價值所在。

圖4  采樣點位置

當干擾信號出現(xiàn)的位置不在采樣點位置時,解碼是不會因為被干擾而出現(xiàn)錯誤的,只有當干擾信號剛好位于采樣位置時,解碼才會因為干擾而出現(xiàn)錯誤。

聲明:本內容為作者獨立觀點,不代表電源網(wǎng)。本網(wǎng)站原創(chuàng)內容,如需轉載,請注明出處;本網(wǎng)站轉載的內容(文章、圖片、視頻)等資料版權歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認,避免給雙方造成不必要的經(jīng)濟損失,請電郵聯(lián)系我們,以便迅速采取適當處理措施;歡迎投稿,郵箱∶editor@netbroad.com。

微信關注
技術專題 更多>>
技術專題之EMC
技術專題之PCB

頭條推薦

電子行業(yè)原創(chuàng)技術內容推薦
客服熱線
服務時間:周一至周五9:00-18:00
微信關注
獲取一手干貨分享
免費技術研討會
editor@netbroad.com
400-003-2006
主站蜘蛛池模板: 国产精国产精品 | 中文在线а√天堂官网漫画怎么进 | 久久久久亚洲AV无码A片男男 | 插鸡网站在线播放免费观看 | 国产精品99在线观看 | 久草在线视频首页 | 78色淫网站女女免费 | 久热在线观看视频 | 日韩大片一区二区 | 亚洲精彩视频在线观看 | 四虎国产精品成人免费影视 | 操你妹影视 | 久久99精品国产99久久6 | 中文字幕_第3页_高清免费在线 | 日本三级精品视频 | 亚洲国产日韩欧美 | 韩国的无码av看免费大片在线 | 男人的天堂免费一区二区视频 | 无码中文AV有码中文A | 亚洲VA欧美va国产va综合 | 男人操女人的网站 | 色戒是空 | 国产精品久久久久久久久久久久午夜片 | 操操操干干 | 人人妻人人澡人人爽欧美精品 | 娇小videodes性爽h文 | 中文字幕不卡免费视频 | 久久国产精品-久久精品 | 亚洲四房综合激情五月在线 | 亚洲男人天堂电影 | 国产又爽又黄免费视频 | 国产中文欧美日韩在线 | 97超碰人人在线 | 国产精品人妻无码久久久郑州 | 亚洲aav| 亚洲av无码国产精品色午夜字幕 | 清纯唯美一区二区三区 | 亚洲kkk444kkk在线观看 | 日韩免费片 | 欧美午夜在线播放 | 按摩高潮A片一区二区三区 久久一级片 |