《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > CAN總線系統(tǒng)測試技術
CAN總線系統(tǒng)測試技術
摘要: CAN總線作為現(xiàn)場總線的一種,在汽車、船舶、航天、工業(yè)測控與工業(yè)自動化等領域已經(jīng)得到廣泛的應用。CAN總線開發(fā)流程中,需要對所開發(fā)的CAN總線系統(tǒng)進行節(jié)點以及總線系統(tǒng)的驗證與確認,本文主要介紹了網(wǎng)絡測試驗證的內(nèi)容,實現(xiàn)測試的工具與測試技術。
Abstract:
Key words :

引 言[1].[2]

        隨著汽車電子技術的發(fā)展,汽車上所用的電控單元不斷增多,電控單元之間信息交換的需求促進了車用總線技術的發(fā)展。CAN總線即控制器局域網(wǎng)總線,由Bosch公司于1981年制定,主要目的為用作汽車的高速動力總線、中速車身總線等。由于CAN總線具有可靠性高、實時性好、成本合理等優(yōu)點,逐漸被廣泛應用于其他領域中,例如船舶、航天、工業(yè)測控、工業(yè)自動化、電力系統(tǒng)、樓宇監(jiān)控等,成為了廣泛使用的現(xiàn)場總線之一。基于CAN總線協(xié)議,還發(fā)展出CANopen、J1939、DeviceNet等多種上層總線協(xié)議。

        CAN是一種開放式多主站線性結構的總線,使用雙絞線作為連接介質(zhì)連接所有節(jié)點,最高傳輸速率為1Mbit/s。 CAN總線使用載波偵聽多路訪問/沖突檢測(CSMA/CD)技術這種非破壞性的總線仲裁方式,避免多個節(jié)點同時開始發(fā)送消息而造成總線沖突,保證優(yōu)先級高的報文能夠優(yōu)先發(fā)送而不需要額外的時間開銷。CAN協(xié)議不對節(jié)點進行地址規(guī)定,而是使用報文的標識符來指定報文的優(yōu)先級以及報文的內(nèi)容。同時,CAN總線協(xié)議提供了完善的錯誤檢測與錯誤處理機制,包括了CRC檢測、錯誤報文自動重發(fā)、錯誤狀態(tài)判斷、臨時錯誤自動恢復、永久錯誤自動錯誤節(jié)點等措施,從而很好的保證了系統(tǒng)數(shù)據(jù)一致性。


                                                                                            圖1 系統(tǒng)開發(fā)流程

1 CAN總線開發(fā)流程[3]

        隨著CAN總線技術應用在國內(nèi)各個行業(yè)中廣泛使用,CAN總線開發(fā)流程及開發(fā)方法也日益成為關注的重點。目前,基于開發(fā)-驗證思想的V型開發(fā)流程被廣泛用于CAN總線的開發(fā)過程中,如圖1所示。

        OEM廠商首先定義CAN總線系統(tǒng)需求,并進行系統(tǒng)構架設計,然后由供應商根據(jù)OEM廠商提出的需求,分析節(jié)點 ECU的需求并進行節(jié)點設計,再進行軟硬件實現(xiàn)以及節(jié)點ECU集成,最后對ECU進行測試驗證。供應商將所設計的節(jié)點ECU提供給OEM廠商,由OEM廠商進行CAN總線系統(tǒng)的集成,并對系統(tǒng)進行確認,才能形成最終的產(chǎn)品。

        在V開發(fā)流程中,測試始終貫徹著整個開發(fā)流程,以在開發(fā)過程中能盡早的發(fā)現(xiàn)設計問題。供應商在節(jié)點ECU開發(fā)的最后階段,需要對所開發(fā)的ECU進行驗證,檢查所開發(fā)的產(chǎn)品是否符合所需的設計規(guī)范,即“是否正確的做了產(chǎn)品”。而OEM廠商在獲得供應商提供的各個節(jié)點 ECU后,進行系統(tǒng)集成,需要對CAN總線系統(tǒng)進行確認,檢查是否符合原始的需求,即“是否設計了正確的產(chǎn)品”。

        因此,無論對于供應商開發(fā)單節(jié)點ECU還是OEM廠商對整個系統(tǒng)進行集成,都需要對節(jié)點以及總線系統(tǒng)進行CAN總線測試,以完成驗證與確認的工作。

2 CAN總線測試

        CAN總線測試內(nèi)容可以分為單節(jié)點測試和總線系統(tǒng)集成測試兩部分。在每個節(jié)點連接到CAN總線網(wǎng)絡之前都需要進行單節(jié)點測試,用以確定節(jié)點工作正確并且不會干擾總線的正常通訊??偩€系統(tǒng)集成測試則是將各個節(jié)點都連接形成完整的CAN總線系統(tǒng),對系統(tǒng)進行測試以驗證系統(tǒng)運行的完整性及正確性、系統(tǒng)的通訊魯棒性、電器魯棒性以及系統(tǒng)的容錯自恢復功能等。

        進行CAN總線測試過程,首先需要制定測試規(guī)范,然后根據(jù)該測試規(guī)范編寫測試案例,構建測試環(huán)境,并進行測試實現(xiàn),最終將測試所得的數(shù)據(jù)進行分析,形成測試報告。

2.1 CAN總線測試規(guī)范

        由于CAN總線基本協(xié)議的靈活性,目前并沒有一個統(tǒng)一的完整覆蓋CAN總線各個通訊層次的測試規(guī)范,而作為CAN總線技術使用最廣泛的汽車行業(yè),各個汽車廠商也只是自行定義其轎車CAN總線協(xié)議,并根據(jù)該協(xié)議制定各自的測試規(guī)范。

        因此制定CAN總線的測試規(guī)范,必須從相關的設計需求和規(guī)范文檔中提取測試需求,這些文檔可以包括CAN協(xié)議、總線系統(tǒng)設計時所依據(jù)的標準或協(xié)議(例如ISO11898或J1939)、系統(tǒng)設計的需求、系統(tǒng)的診斷協(xié)議、以及其他行業(yè)性通訊規(guī)范。根據(jù)所提取的測試需要,將各個需求點對應為測試案例組。

        將每組測試案例組在各測試節(jié)點上的實施稱為測試案例。每個測試案例根據(jù)測試實現(xiàn)的過程,細分為一系列的測試步驟。對于每個測試案例,在測試結束時,都會存在一個測試結果,用以確定測試案例所對應的節(jié)點是否通過該測試需求點的測試。每個測試案例中,除了包含測試步驟的內(nèi)容外,還包括了測試條件和測試環(huán)境兩部分內(nèi)容。測試條件是測試案例實施之前,被測單元所需要具備的條件,例如系統(tǒng)已經(jīng)處于正常通訊等。而測試環(huán)境則是測試過程中,需要提供給被測單元的外部環(huán)境,例如供電電壓、信號線的連接情況等。

2.2 CAN總線測試內(nèi)容

        CAN總線測試內(nèi)容可以按照通訊層次劃分為物理層測試、數(shù)據(jù)鏈路層測試、應用層測試等內(nèi)容。

        物理層測試主要目的是驗證節(jié)點及系統(tǒng)在電路設計、物理電平特性等方面的性能,這是保證節(jié)點能夠正確連接入總線的基礎。測試主要包括了節(jié)點的電阻電容特性、節(jié)點差分電阻、總線終端電阻、CAN線上的物理電平特性等方面。

        數(shù)據(jù)鏈路層測試則包括了位定時測試、采樣點測試、SJW測試等內(nèi)容,該測試內(nèi)容主要用以保證各個節(jié)點的通訊參數(shù)能夠保持一致性,所組成的網(wǎng)絡能夠正常有效的工作。

        應用層測試則包括了上層應用層協(xié)議的測試、網(wǎng)絡管理功能的測試以及故障診斷測試等方面的內(nèi)容。其包括的內(nèi)容可以是:數(shù)據(jù)庫使用正確性測試、通訊周期準確性測試、節(jié)點休眠喚醒功能測試、網(wǎng)絡管理功能測試、網(wǎng)關測試、錯誤幀頻率測試、電壓影響測試、總線物理故障測試、節(jié)點故障自恢復能力測試、通訊失敗的故障診斷功能測試等內(nèi)容。由于CAN總線使用背景的不同,其應用層的內(nèi)容也有很大差別,因此應用層測試的內(nèi)容也存在較大差異,需要根據(jù)項目的設計需求以及設計文檔仔細制定應用層測試的內(nèi)容。值得注意的是,對于CAN總線網(wǎng)絡測試,其應用層測試一般不涉及功能測試的范圍,功能測試一般屬于ECU測試的范疇。

2.3 CAN總線測試方法

圖2所示為基于Vector公司提供的CAN總線測試工具所組建的CAN總線測試系統(tǒng)。

                                                                                 圖2 CAN總線測試系統(tǒng)

        在系統(tǒng)中被測單元與模擬被測單元應用背景的仿真器相連,通過仿真器可以模擬出被測單元在真實應用中的運行環(huán)境。而被測系統(tǒng)的CAN線則通過CAN硬件接口連接到測試軟件CANoe上,CANoe還可通過IO接口電纜IOcab獲取被測單元的IO信號。

        被測單元的供電則由供電系統(tǒng)提供給仿真器,再由仿真器提供給被測系統(tǒng),與真實系統(tǒng)的供電模式相同。CANoe軟件可以通過其接口來控制供電系統(tǒng),從而可以方便的改變被測單元的供電電壓,實現(xiàn)CAN總線測試環(huán)境。

        測試過程中,使用Vector公司提供的干擾儀CANstress,以制造出測試所需的干擾信號以及總線故障等測試環(huán)境。而系統(tǒng)中所連接的網(wǎng)絡示波器CANscope可以在物理層測試中捕捉CAN總線的物理信號。

        在測試過程中,Vector提供的測試軟件CANoe可以觀測總線通訊的報文以及信號,并檢測總線的錯誤幀、總線負載率等信息。另外,CANoe還提供了測試軟件包,能夠使用擴展的編程功能編寫測試流程,控制CANstresss、CANscope等工具,并支持 XML編寫的測試腳本,實現(xiàn)自動化測試流程,將測試結果自動生成XML和HTML測試報告。

3 CAN網(wǎng)絡測試案例

        根據(jù)上述的CAN網(wǎng)絡測試系統(tǒng),進行了物理層的采樣點測試。測試結果如圖3所示。

        圖3 (a)所示為被測單元正常通訊情況下,使用CANscope捕捉到數(shù)據(jù)場第一個隱性位。使用CANstress將該位75%后干擾為顯性電平,使用 CANscope捕捉總線報文,沒有出現(xiàn)錯誤幀,如圖3(b)所示。同樣條件下,將該位68.75%后的電平干擾為顯性位,使用CANscope捕捉總線報文,出現(xiàn)了錯誤幀,如圖3(c)所示。由此可以得出結論,被測單元的采樣率為75%。



(a)無干擾情況下的位電平

(b)干擾電平在75%后-無錯誤幀

(c)干擾電平在68.75%后-有錯誤幀

圖3 采樣點測試

        圖4所示為應用層測試中,CAN-H線與電源短路測試的測試結果。圖4(a)所示為使用CANstress將 CAN-H線設置為與電源短路。圖4(b)所示為CANoe在該測試過程中總線的通訊情況,在被測條件下總線沒有出現(xiàn)錯誤幀。使用CANscope觀測,由于CAN-H與電源短路,CAN-H電平表現(xiàn)為恒高,而差分電平信號仍足夠保證CAN總線的正常通訊,因此沒有出現(xiàn)錯誤幀。



(a)CANstress設置CAN-H與電源斷路



(b)CANoe檢測網(wǎng)絡無錯誤幀



(c)CANscope觀測總線電平情況

圖4 CAN-H與電源斷路情況下的系統(tǒng)通訊測試

4 總結

        隨著CAN總線在國內(nèi)應用的日益廣泛,CAN總線測試技術將越發(fā)重要。CAN總線測試規(guī)范是CAN 總線測試的核心,需要根據(jù)相關的CAN協(xié)議規(guī)范以及CAN總線設計需求進行制定。另外,在缺乏統(tǒng)一測試規(guī)范以及參考資料的條件下,還需要在CAN總線開發(fā)過程中積累經(jīng)驗,逐步制定并完善CAN總線的測試規(guī)范。國外先進的CAN總線設計及測試工具也可以促進CAN總線測試能力迅速形成。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。