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

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

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

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

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

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

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