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

引 言[1].[2]

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

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


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

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

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

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

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

        因此,無(wú)論對(duì)于供應(yīng)商開(kāi)發(fā)單節(jié)點(diǎn)ECU還是OEM廠商對(duì)整個(gè)系統(tǒng)進(jìn)行集成,,都需要對(duì)節(jié)點(diǎn)以及總線系統(tǒng)進(jìn)行CAN總線測(cè)試,,以完成驗(yàn)證與確認(rèn)的工作。

2 CAN總線測(cè)試

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

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

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

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

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

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

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

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

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

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

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

2.3 CAN總線測(cè)試方法

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

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

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

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

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

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

3 CAN網(wǎng)絡(luò)測(cè)試案例

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

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



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

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

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

圖3 采樣點(diǎn)測(cè)試

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



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



(b)CANoe檢測(cè)網(wǎng)絡(luò)無(wú)錯(cuò)誤幀



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

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

4 總結(jié)

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

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