CAN總線系統(tǒng)測(cè)試技術(shù)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
隨著汽車電子技術(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)總線之一。基于CAN總線協(xié)議,還發(fā)展出CANopen、J1939、DeviceNet等多種上層總線協(xié)議。
CAN是一種開放式多主站線性結(jié)構(gòu)的總線,使用雙絞線作為連接介質(zhì)連接所有節(jié)點(diǎn),最高傳輸速率為1Mbit/s。 CAN總線使用載波偵聽多路訪問/沖突檢測(cè)(CSMA/CD)技術(shù)這種非破壞性的總線仲裁方式,避免多個(gè)節(jié)點(diǎn)同時(shí)開始發(fā)送消息而造成總線沖突,保證優(yōu)先級(jí)高的報(bào)文能夠優(yōu)先發(fā)送而不需要額外的時(shí)間開銷。CAN協(xié)議不對(duì)節(jié)點(diǎn)進(jìn)行地址規(guī)定,而是使用報(bào)文的標(biāo)識(shí)符來指定報(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)開發(fā)流程
1 CAN總線開發(fā)流程
隨著CAN總線技術(shù)應(yīng)用在國內(nèi)各個(gè)行業(yè)中廣泛使用,CAN總線開發(fā)流程及開發(fā)方法也日益成為關(guān)注的重點(diǎn)。目前,基于開發(fā)-驗(yàn)證思想的V型開發(fā)流程被廣泛用于CAN總線的開發(fā)過程中,如圖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開發(fā)流程中,測(cè)試始終貫徹著整個(gè)開發(fā)流程,以在開發(fā)過程中能盡早的發(fā)現(xiàn)設(shè)計(jì)問題。供應(yīng)商在節(jié)點(diǎn)ECU開發(fā)的最后階段,需要對(duì)所開發(fā)的ECU進(jìn)行驗(yàn)證,檢查所開發(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)品”。
因此,無論對(duì)于供應(yīng)商開發(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è)試過程,首先需要制定測(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é)議的靈活性,目前并沒有一個(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)的過程,細(xì)分為一系列的測(cè)試步驟。對(duì)于每個(gè)測(cè)試案例,在測(cè)試結(jié)束時(shí),都會(huì)存在一個(gè)測(cè)試結(jié)果,用以確定測(cè)試案例所對(duì)應(yīng)的節(jié)點(diǎn)是否通過該測(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è)試過程中,需要提供給被測(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ù)庫使用正確性測(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)用背景的仿真器相連,通過仿真器可以模擬出被測(cè)單元在真實(shí)應(yīng)用中的運(yùn)行環(huán)境。而被測(cè)系統(tǒng)的CAN線則通過CAN硬件接口連接到測(cè)試軟件CANoe上,CANoe還可通過IO接口電纜IOcab獲取被測(cè)單元的IO信號(hào)。
被測(cè)單元的供電則由供電系統(tǒng)提供給仿真器,再由仿真器提供給被測(cè)系統(tǒng),與真實(shí)系統(tǒng)的供電模式相同。CANoe軟件可以通過其接口來控制供電系統(tǒng),從而可以方便的改變被測(cè)單元的供電電壓,實(shí)現(xiàn)CAN總線測(cè)試環(huán)境。
測(cè)試過程中,使用Vector公司提供的干擾儀CANstress,以制造出測(cè)試所需的干擾信號(hào)以及總線故障等測(cè)試環(huán)境。而系統(tǒng)中所連接的網(wǎng)絡(luò)示波器CANscope可以在物理層測(cè)試中捕捉CAN總線的物理信號(hào)。
在測(cè)試過程中,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)文,沒有出現(xiàn)錯(cuò)誤幀,如圖3(b)所示。同樣條件下,將該位68.75%后的電平干擾為顯性位,使用CANscope捕捉總線報(bào)文,出現(xiàn)了錯(cuò)誤幀,如圖3(c)所示。由此可以得出結(jié)論,被測(cè)單元的采樣率為75%。
(a)無干擾情況下的位電平
(b)干擾電平在75%后-無錯(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è)試過程中總線的通訊情況,在被測(cè)條件下總線沒有出現(xiàn)錯(cuò)誤幀。使用CANscope觀測(cè),由于CAN-H與電源短路,CAN-H電平表現(xiàn)為恒高,而差分電平信號(hào)仍足夠保證CAN總線的正常通訊,因此沒有出現(xiàn)錯(cuò)誤幀。
(a)CANstress設(shè)置CAN-H與電源斷路
(b)CANoe檢測(cè)網(wǎng)絡(luò)無錯(cuò)誤幀
(c)CANscope觀測(cè)總線電平情況
圖4 CAN-H與電源斷路情況下的系統(tǒng)通訊測(cè)試
4 總結(jié)
隨著CAN總線在國內(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總線開發(fā)過程中積累經(jīng)驗(yàn),逐步制定并完善CAN總線的測(cè)試規(guī)范。國外先進(jìn)的CAN總線設(shè)計(jì)及測(cè)試工具也可以促進(jìn)CAN總線測(cè)試能力迅速形成。