使用Agilent 6000 系列MSO,對汽車 CAN 總線進(jìn)行調(diào)試
引言
為了改善系統(tǒng)通信質(zhì)量,降低成本,今天所有的汽車設(shè)計都采用了大量串行總線通信協(xié)議,I2C 和SPI 協(xié)議在電子控制單元(ECUs)中的片對片通信中經(jīng)常使用。對于各種汽車子系統(tǒng)之間的持久串行通信,例如防盜鎖,氣囊展開,發(fā)動機(jī)控制和GPS 導(dǎo)航等,CAN,LAN 以及MOST 協(xié)議是最常見的串行總線應(yīng)用,如圖1所示。但不幸的是,持久通信經(jīng)常受到信號完整性問題的影響,這是由汽車內(nèi)部自身的非理想環(huán)境造成的,包括點火系統(tǒng)和隨機(jī)系統(tǒng)噪聲之間的信號接口,這可能在關(guān)鍵的通信環(huán)節(jié)中造成錯誤。
準(zhǔn)確的說,汽車電子系統(tǒng)是嵌入式的混合信號系統(tǒng),因為它通過數(shù)字信號控制多路模擬傳感器和模擬發(fā)動機(jī)控制器。多年來,傳統(tǒng)的示波器是汽車電子系統(tǒng)工程師測試模擬和數(shù)字信號質(zhì)量的首選工具。但是傳統(tǒng)的模擬和數(shù)字示波器具有很多局限性。包括缺乏復(fù)雜的串行觸發(fā),以及有限的輸入通道。然而,一種新的測量工具,混合信號示波器(MSOs)能夠提供很多的優(yōu)勢,用來調(diào)試和驗證當(dāng)今汽車設(shè)計中的工作性能。
為了說明Agilent 6000 系列MSOs的獨(dú)特優(yōu)勢,本應(yīng)用指南給出了一個揭示基于CAN的汽車系統(tǒng)中信號完整性問題的典型的調(diào)試方法。除了同步和捕獲將模擬傳感器信號數(shù)字化轉(zhuǎn)化為ECU后的CAN差分信號之外,MSO還能夠反復(fù)捕獲和測
量一個遠(yuǎn)地模擬輸入傳感器的輸入幅度。但是在我們介紹這個特殊的汽車CAN 設(shè)計,并介紹如何使用MSO對信號完整性問題進(jìn)行調(diào)試和驗證之前,我們首先來定義以下什么是我們所說的MSO。

什么是MSO?
MSO是一個混合測試儀器,它結(jié)合了數(shù)字存儲示波器(DSO)的全部功能和邏輯分析儀的部分功能,以及一些串行協(xié)議分析的功能。利用MSO,您可以在同一個屏幕上觀察多路時間隊列模擬信號,并行數(shù)字信號,以及串行解碼微波信號,如圖2 所示。盡管今天很多傳統(tǒng)的示波器具有有限的觸發(fā)能力,一些MSO包含成熟的串行觸發(fā)和協(xié)議解碼分析,是汽車電子系統(tǒng)調(diào)試的最佳選擇。
相比與成熟的邏輯分析儀,MSO 一般缺乏足夠的數(shù)字獲取通道,而相對于串行協(xié)議分析儀,MSO 則缺乏較高的分析提取程度。但是相比之下,MSO的簡單使您能夠方便的使用,而避免邏輯分析儀和協(xié)議分析儀的復(fù)雜操作。事實上,MSO最主要得優(yōu)點就是它的使用模式。使用MSO和使用示波器十分相似。由于MSO集中了大量的功能,它比使用組合的測試方案,例如示波器與邏輯分析儀,或者示波器與串行總線協(xié)議分析儀要方便的多。一個好的MOS,例如AgilentMSO6000,是對用戶友好的。它提供快速的波形刷新,包含串行觸發(fā)和分析,操作起來與示波器十分相似,而不像操作邏輯分析儀或者協(xié)議分析儀那樣復(fù)雜。

驗證汽車風(fēng)擋雨刷系統(tǒng)的功能進(jìn)行驗證
在汽車上集成一個嵌入式設(shè)計之前,首先應(yīng)該在實驗室環(huán)境下,利用Agilent MSO驗證原型機(jī)械風(fēng)擋雨刷系統(tǒng)的電路和協(xié)議功能。圖3給出了來自原形系統(tǒng)的時間相關(guān)的多個模擬和數(shù)字信號,通過MSO6104A捕獲并顯示。通道1的波形(頂端,黃色軌跡)是差分CAN總線信號,它與包括風(fēng)擋雨刷系統(tǒng)在內(nèi)的各種外部子系統(tǒng)通信。通道2 波形(中間,綠色軌跡)給出了遠(yuǎn)地雨量傳感器的輸出信號電平,用來探測風(fēng)擋玻璃上雨雪量的大小。同時顯示的,還有各種在ECU中時間相關(guān)的SPI 控制信號(藍(lán)色軌跡,在示波器屏幕的底部),包括CLOCK,DATA,CS,和INTERRIPT 信號。這些波形都是通過MSO 的16 個邏輯定時通道獲得的。示波器屏幕底部的各種顏色的總線軌跡是CAN數(shù)據(jù)包的時間相關(guān)解碼信息,通過用戶選取的CAN通道獲取(這里是通道1)
在這個設(shè)計中,遠(yuǎn)地模擬傳感器的瞬態(tài)輸出幅度通過模數(shù)轉(zhuǎn)換器(ADC)被轉(zhuǎn)化為數(shù)字信號,然后以一定的數(shù)據(jù)格式(07FHEX)單比特串行地傳輸?shù)紼CU。為了顯示這個傳感器可重復(fù)的傳輸,驗證原型機(jī)的功能,MSO最初被設(shè)置為在CAN數(shù)據(jù)楨07FHEX上觸發(fā),如圖3 所示。模擬傳感器的輸出值通常被轉(zhuǎn)化為這種格式。在這種示波器配置情況下,汽車設(shè)計工程師可以很容易地測試傳感器的模擬輸出幅度(3.41V),以及精確轉(zhuǎn)換為CAN數(shù)據(jù)包的監(jiān)控信號(BHEX)。在實驗室中測試原型機(jī)械雨刷系統(tǒng)時,沒有發(fā)現(xiàn)問題,CAN差分信號看上去沒有噪聲。
但不幸的是,當(dāng)這個系統(tǒng)被集成到汽車中時,這個機(jī)械雨刷系統(tǒng)表現(xiàn)得很不穩(wěn)定,經(jīng)證明,ECU 獲得的數(shù)據(jù)值有時與模擬濕度傳感器真實的物理情況不符。如果電路的問題是可預(yù)知的和可重復(fù)的,就可以很容易地從根本上解決電路的問題。但是在這個設(shè)計中,一旦設(shè)計被嵌入了汽車,傳感器錯誤的數(shù)據(jù)傳輸是隨機(jī)的和偶發(fā)的,因此很難分離問題的根源。

硬件加速CAN 解碼發(fā)現(xiàn)偶發(fā)錯誤
圖4 是最初在實驗室中測得的同樣的信號,但是這一次信號來自已經(jīng)嵌入汽車中的雨刷系統(tǒng)。我們現(xiàn)在看到了噪聲的影響,以及由汽車中粗糙的環(huán)境導(dǎo)致的差分CAN信號的干涉。汽車設(shè)計工程師在反復(fù)觸發(fā)數(shù)據(jù)格式ID:07FHEX 時,監(jiān)視示波器的顯示。工程師在CAN解碼序列(底部軌跡)中,發(fā)現(xiàn)了一個偶發(fā)的紅色“閃爍”,如圖4 所示。這個MSO 的CAN 解碼圖像將錯誤的CRC顯示為紅色,其他的格式錯誤顯示為紅色總線軌跡。這個示波器具有極高的波形刷新率(每秒高達(dá)100,000個實時波形)。硬加速串行解碼以每秒更新60次的速度顯示解碼序列,比人眼的讀取速度快,但是還是能夠看到偶發(fā)的帶有顏色的誤碼。

大多數(shù)具有深度存儲和串行解碼能力的示波器刷新速度通常很低,這主要是因為深度存儲記錄是通過軟件預(yù)處理技術(shù)解碼的。波形和解碼刷新通常需要幾秒鐘。這就意味著,如果出現(xiàn)偶發(fā)錯誤,大多數(shù)的錯誤將在示波器的停機(jī)時間里隨機(jī)的出現(xiàn),而不是在示波器的獲取時間。這樣就幾乎不可能利用傳統(tǒng)的示波器隨機(jī)地獲取轉(zhuǎn)換錯誤,即便是具有CAN 觸發(fā)和解碼功能。但是Agilent 6000 系列MSO 中的硬件加速CAN解碼,能夠在統(tǒng)計學(xué)上增強(qiáng)獲得隨機(jī)和偶發(fā)錯誤的概率,因為波形和CAN解碼的刷新率都比數(shù)據(jù)楨07HEX 的重復(fù)速率要高。
為了使示波器的顯示鎖定在一個錯誤的數(shù)據(jù)轉(zhuǎn)換上,設(shè)計工程師在看到一個紅色解碼序列時,首先快速按下示波器前面版上的STOP鍵。但不幸的是,示波器的波形和解碼刷新率太快了,在按下STOP鍵的時候很多并發(fā)的信號已經(jīng)出現(xiàn)了,顯示通常停留在無錯的數(shù)據(jù)傳輸上。
在錯誤的楨上觸發(fā)MSO,顯示了信號完整性問題
下一步是設(shè)置示波器的觸發(fā),使其只與錯誤楨同步,如圖5 所示。在這種觸發(fā)設(shè)置條件下(與錯誤楨同步),示波器只捕獲和顯示錯誤的CAN傳輸,忽略正確的傳輸。現(xiàn)在,工程師可以在任意時刻按STOP鍵,分析最新的錯誤CAN傳輸楨的信號質(zhì)量,或者利用示波器的單發(fā)獲取模式將示波器的顯示鎖定到下一個錯誤數(shù)據(jù)上。通過這個顯示(圖5),工程師的第一個猜測是,隨機(jī)的數(shù)據(jù)傳輸問題可能是由耦合到差分CAN 信號(頂端黃色)的額外隨機(jī)噪聲造成的。通過這一示波器的MegaZoon III 技術(shù)顯示系統(tǒng)提供的256級顯示亮度,我們可以清晰地看到CAN 信號上的噪聲呈現(xiàn)高斯分布,圖像質(zhì)量與傳統(tǒng)的示波器類似。但是在用MSO的“標(biāo)準(zhǔn)分辨”測量功能測量隨機(jī)噪聲之后,工程師認(rèn)為信號噪聲級在指標(biāo)公差范圍之內(nèi),不含有錯誤。

在錯誤的楨上觸發(fā)MSO,顯示了信號完整性問題(續(xù))
在進(jìn)一步視察通道1的差分CAN信號之后,工程師發(fā)現(xiàn)在這一楨數(shù)據(jù)中,出現(xiàn)了一個很窄的干擾,寬度只有差分CAN信號上升延的1/5。以200 us/div 為主時基,在示波器的屏幕上進(jìn)行掃描,利用深度存儲獲取(高達(dá)8 M個點)的常規(guī)“壓縮”模式觀察這個存儲的CAN楨,這個窄干擾幾乎不可見,很容易被忽視,如圖5所示。但是當(dāng)工程師將存儲軌跡的時基擴(kuò)展到5us/div(圖6)時,利用這個示波器的高采樣分辨率( 高達(dá)4GSa/s)就可以很容易地觀察到這個干擾。
在利用MSO 的指針發(fā)現(xiàn)這個干擾,并測量他的幅度之后,工程師再次按下前面板的RUN按鍵,開始只在錯誤楨觸發(fā)的重復(fù)獲取。當(dāng)觀察示波器波形的重復(fù)刷新時工程師可以看到窄干擾不僅偶然出現(xiàn),而且在數(shù)據(jù)楨內(nèi)隨機(jī)的位置固定出現(xiàn),與差分的CAN信號沒有特別的相位關(guān)系。看上去,這些干擾是由相位不相關(guān)的源耦合造成的。如果這些干擾的源可以跟蹤,那么就可以更容易的從根本上確定和固定這些干擾。
將MSO 在隨機(jī)干擾上觸發(fā),顯示錯誤的來源
為了將示波器與相位不相關(guān)的干擾而不是錯誤楨同步,汽車設(shè)計工程師接下來設(shè)置示波器,使其只在干擾上觸發(fā)。這是通過示波器的脈寬觸發(fā)功能實現(xiàn)的,這種功能可以根據(jù)用戶定義的時間范圍(脈沖寬度)在正脈沖或負(fù)脈沖上觸發(fā)。在這種情況下,工程師設(shè)置示波器,使其只在通道1輸入的正脈沖(差分CAN信號)寬度<500 ns時觸發(fā)獲取。在這種設(shè)置情況下,示波器將它的顯示與隨機(jī)出現(xiàn)的干擾同步,并總是在示波器默認(rèn)的屏幕中心觸發(fā)位置捕獲和顯示干擾信號。現(xiàn)在,CAN數(shù)據(jù)楨與干擾觸發(fā)源呈現(xiàn)相位不相關(guān)。

為了跟蹤這一干擾的源,工程師將另一個探針與4+16- 通道MSO中未使用的通道(通道4)相連,探測可疑信號,看看哪個信號可能與干擾同步或相位相關(guān)。幾分鐘之后,工程師發(fā)現(xiàn)了干擾的源,如圖7 所示。通道4波形(底部粉色軌跡)是控制在汽車電壓調(diào)整器中觸發(fā)高電壓震蕩的繼電器的數(shù)字脈沖。如果電壓調(diào)整器在數(shù)據(jù)楨ID: 07FHEX傳輸期間循環(huán),風(fēng)擋雨刷系統(tǒng)的錯誤將明顯地顯示出來。當(dāng)工程師跟蹤錯誤源的時候,可以很容易地從高電壓震蕩信號中分離出風(fēng)擋雨刷CAN數(shù)據(jù)并加以保護(hù),這也能夠很大程度上改進(jìn)CAN 系統(tǒng)的噪聲免疫性。
總結(jié)
本文討論了Agilent 6000系列混合信號示波器(MSO)如何更有效快速地驅(qū)動和調(diào)試嵌入式混合信號設(shè)計,該設(shè)計利用了串行總線CAN數(shù)據(jù)傳輸。MSO的鑒別功能使得汽車設(shè)計工程師能夠快速的發(fā)現(xiàn)偶發(fā)錯誤的原因,包括多通道模擬和邏輯時間相關(guān)獲取,快速波形刷新,硬件加速CAN總線解碼,以及各觸發(fā)發(fā)功能,包括楨ID,錯誤楨,以及干擾和脈沖寬度觸發(fā)。盡管本應(yīng)用指南重點介紹了一種風(fēng)擋雨刷應(yīng)用,文章中的調(diào)試技術(shù)也可以直接應(yīng)用在其他的汽車產(chǎn)品中。下一次您需要驅(qū)動或者調(diào)試您的嵌入式汽車混合信號設(shè)計的時候,您可以使用Agilent 6000系列MSO,來代替您現(xiàn)有的DSO,協(xié)議分析儀,和/或邏輯分析儀測試方案。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。