国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

汽車儀表網(wǎng)絡(luò)管理一致性測(cè)試系統(tǒng)設(shè)計(jì)

2019-03-28 06:17:58唐華亮方紅萍
儀表技術(shù)與傳感器 2019年2期
關(guān)鍵詞:測(cè)試用例網(wǎng)絡(luò)管理報(bào)文

唐華亮,方紅萍,謝 斌

(1.武漢科技大學(xué)冶金自動(dòng)化與檢測(cè)技術(shù)教育部工程研究中心,湖北武漢 430081;2.武漢保華顯示有限公司,湖北武漢 430082)

0 引言

汽車儀表能為駕駛員提供重要的車輛信息,如車速、轉(zhuǎn)速、油量、故障報(bào)警和指示信息等,一方面能有效保障駕駛員安全駕駛,另一方面也是車輛上協(xié)調(diào)控制其他節(jié)點(diǎn)合理運(yùn)作的重要組成部分,如管理車載ECU(Electronic Control Unit)節(jié)點(diǎn)滿足協(xié)同睡眠而又隨需喚醒的低功耗需求等[1-2]。

網(wǎng)絡(luò)管理(Network Management,簡(jiǎn)稱NM)是汽車儀表的關(guān)鍵模塊。OSEK(Open Systems and the Corresponding Interface for Automotive Electronics)和AUTOSAR (Automotive Open System Architecture)是目前兩種主流的車載網(wǎng)絡(luò)管理策略和接口服務(wù)實(shí)現(xiàn)規(guī)范[3-4]。但是上述規(guī)范均采用非形式化語言描述,一旦存在理解偏差就很容易導(dǎo)致汽車儀表網(wǎng)絡(luò)管理協(xié)議實(shí)現(xiàn)和協(xié)議規(guī)范不一致,對(duì)汽車安全造成潛在隱患[5-6]。因此汽車儀表網(wǎng)絡(luò)管理一致性測(cè)試是重要汽車儀表測(cè)試環(huán)節(jié)。

網(wǎng)絡(luò)管理一致性測(cè)試是一種功能性黑盒測(cè)試,它通過輸入測(cè)試信號(hào)觸發(fā)被測(cè)儀表,通過對(duì)比儀表的響應(yīng)信息與預(yù)定協(xié)議規(guī)范是否一致來評(píng)價(jià)協(xié)議測(cè)試是否合格。目前國(guó)外已有CANOE測(cè)試工具、TTCN測(cè)試套件描述語言等聚焦汽車儀表網(wǎng)絡(luò)管理協(xié)議測(cè)試,配套使用CAN適配器CANcaseXL和CAN總線干擾設(shè)備CANstress實(shí)現(xiàn)一致性測(cè)試[7-8]。但是上述工具和設(shè)備均為國(guó)外商業(yè)軟件和設(shè)備,設(shè)備購買價(jià)格或者相應(yīng)測(cè)試套件服務(wù)收費(fèi)相當(dāng)昂貴。另外基于TTCN的測(cè)試用例定義過程較為復(fù)雜、繁瑣,一方面容易產(chǎn)生較多的空表項(xiàng),影響測(cè)試效率,另一方面降低了測(cè)試人員結(jié)合測(cè)試需求編寫、修改測(cè)試腳本的靈活度。國(guó)內(nèi)研究學(xué)者在協(xié)議形式化描述、協(xié)議一致性測(cè)試序列生成和協(xié)議一致性測(cè)試執(zhí)行等方面也開展了一系列研究[9]。如文獻(xiàn)[10]提出了一種基于分類樹的OSEK協(xié)議操作系統(tǒng)一致性測(cè)試用例生成方法。文獻(xiàn)[11]驗(yàn)證了TTCN-3語言進(jìn)行AUTOSAR一致性測(cè)試的可行性,但國(guó)內(nèi)總體而言在此方面的研究還不夠深入。

本文參考汽車儀表網(wǎng)絡(luò)管理一致性測(cè)試的國(guó)際標(biāo)準(zhǔn),設(shè)計(jì)一種支持結(jié)構(gòu)化編程的TSCN測(cè)試用例腳本語言,然后在此基礎(chǔ)上設(shè)計(jì)一個(gè)基于測(cè)試腳本驅(qū)動(dòng)的汽車儀表網(wǎng)絡(luò)管理協(xié)議一致性自動(dòng)測(cè)試系統(tǒng),實(shí)現(xiàn)了測(cè)試用例編寫、存儲(chǔ)、執(zhí)行和測(cè)試狀態(tài)監(jiān)控的全過程自動(dòng)化。

1 汽車儀表NM協(xié)議一致性測(cè)試項(xiàng)目分析

車載網(wǎng)絡(luò)中每個(gè)ECU節(jié)點(diǎn)有唯一地址編號(hào)。OSEK/VDX直接網(wǎng)絡(luò)管理按照ECU地址遞增順序構(gòu)造邏輯環(huán),并采用邏輯環(huán)機(jī)制監(jiān)控網(wǎng)絡(luò)各ECU節(jié)點(diǎn)正常模式、睡眠模式及錯(cuò)誤處理模式之間的狀態(tài)切換,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)的協(xié)同管理。AUTOSAR網(wǎng)絡(luò)管理采用分布式直接網(wǎng)絡(luò)管理策略,根據(jù)網(wǎng)絡(luò)管理協(xié)議數(shù)據(jù)單元(NMPDU)接收情況來監(jiān)控網(wǎng)絡(luò)狀態(tài)[12-13]。

OSEK/VDX和AUTOSAR的NMPDU均包含地址域、控制域和數(shù)據(jù)域三個(gè)部分。地址域指定通信雙方ECU節(jié)點(diǎn)地址;操作域說明具體報(bào)文類型,OSEK/VDX網(wǎng)絡(luò)管理報(bào)文有Alive、Ring和 Limphome 3種報(bào)文,AUTOSAR網(wǎng)絡(luò)管理主要有RepeatMessage和NormalOperation兩種報(bào)文;數(shù)據(jù)域指定報(bào)文附加信息(可選)。

NM協(xié)議一致性測(cè)試主要分為物理層、網(wǎng)絡(luò)層和通信層測(cè)試3個(gè)部分。物理層測(cè)試通過操控某些物理模塊來模擬物理干擾(如CAN干擾或電壓干擾等),測(cè)試ECU節(jié)點(diǎn)的干擾恢復(fù)能力。網(wǎng)絡(luò)層測(cè)試主要監(jiān)控ECU節(jié)點(diǎn)網(wǎng)絡(luò)狀態(tài)切換,如喚醒、休眠或者邏輯環(huán)建立等。通信層測(cè)試主要測(cè)試汽車儀表網(wǎng)絡(luò)管理報(bào)文的周期、類型或其他參數(shù)等。各層常用測(cè)試用例及所涉及到的信號(hào)類型見表1。

表1 NM協(xié)議一致性測(cè)試分層表

2 測(cè)試用例腳本語言TSCN設(shè)計(jì)

基于表1中測(cè)試用例和信號(hào)響應(yīng)類型的對(duì)應(yīng)關(guān)系,借鑒C語言結(jié)構(gòu)化控制思路[14],本文設(shè)計(jì)了一種新的測(cè)試用例腳本語言TSCN (Test Script Control Notation )。TSCN語言中主要包含標(biāo)識(shí)符、指令關(guān)鍵字和控制關(guān)鍵字3個(gè)部分。

標(biāo)識(shí)符由字母和數(shù)字組成。

指令關(guān)鍵字包含主關(guān)鍵字和次關(guān)鍵字。指令主關(guān)鍵字VOL、IO、TIMER、CAN和RESULT依次對(duì)應(yīng)電壓信號(hào)、IO口信號(hào)、TIMER定時(shí)器信號(hào)、CAN信號(hào)和結(jié)果返回指令類型。次關(guān)鍵字則指定相應(yīng)測(cè)試指令具體操作碼,見表2。

表2 TSCN語言關(guān)鍵字

部分基礎(chǔ)指令結(jié)構(gòu)展示,見表3。

為了實(shí)現(xiàn)對(duì)測(cè)試指令執(zhí)行邏輯的有效控制,參考結(jié)構(gòu)化語言的特點(diǎn),TSCN腳本語言中引入TEST、IF和WHILE等控制關(guān)鍵字。

表3 基礎(chǔ)指令結(jié)構(gòu)

TSCN用例中包含兩類指令語句。一類基礎(chǔ)指令語句以“<”開始,以“>”結(jié)束。每條基礎(chǔ)指令包含指令主關(guān)鍵字、指令次關(guān)鍵字、參數(shù)三個(gè)部分見表3。如VOL、IO、TIMER、CAN和RESULT語句。第二類復(fù)合指令語句,控制多條基礎(chǔ)指令按照指定邏輯執(zhí)行,如IF、WHILE語句。

TSCN用例語法規(guī)則樹見圖1。按照語法規(guī)則測(cè)試人員可以快速編寫測(cè)試用例腳本,同時(shí)用例編譯器也會(huì)按照語法規(guī)則樹對(duì)腳本進(jìn)行語法檢查。

圖1 TSCN語法規(guī)則樹

3 NM協(xié)議一致性測(cè)試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

一致性測(cè)試系統(tǒng)(Conformance Test System,CTS)由上位機(jī)監(jiān)測(cè)儀、下位機(jī)測(cè)試儀和被測(cè)儀表三部分組成,見圖2。

圖2 NM協(xié)議一致性測(cè)試系統(tǒng)總體架構(gòu)

基于PC平臺(tái)的上位機(jī)監(jiān)測(cè)儀主要實(shí)現(xiàn)測(cè)試用例編輯、編譯、編碼下載和測(cè)試過程狀態(tài)自動(dòng)監(jiān)控等功能,它和下位機(jī)測(cè)試儀采用串口通信方式。

基于STM32的下位機(jī)測(cè)試儀存儲(chǔ)上位機(jī)下載的測(cè)試用例指令,并采用解釋執(zhí)行方式自動(dòng)執(zhí)行測(cè)試用例腳本。下位機(jī)測(cè)試儀和被測(cè)儀表通過CAN、IO和VOL接口連接。CAN接口實(shí)現(xiàn)報(bào)文傳輸,IO接口實(shí)現(xiàn)對(duì)被測(cè)儀表IO端口對(duì)應(yīng)的開關(guān)信號(hào)的檢測(cè),VOL接口實(shí)現(xiàn)給被測(cè)儀表供電。

3.1 下位機(jī)測(cè)試儀的硬件設(shè)計(jì)

下位機(jī)測(cè)試儀選用STM32F105RCT6作為主控芯片,硬件框架見圖3。其主要功能模塊包括物理層程控電壓模塊、物理層干擾模擬(含電壓干擾和CAN干擾)、CAN通信模塊、顯示報(bào)警模塊、定時(shí)器實(shí)時(shí)控制模塊。

圖3 測(cè)試儀硬件主框架圖

程控電壓模塊:選用LM2596-ADJ(簡(jiǎn)稱ADJ)芯片輸出程控可調(diào)電壓。ADJ芯片內(nèi)含基準(zhǔn)穩(wěn)壓器(1.23 V),通過ADJ輸出引腳、地線和主控芯片DAC引腳分別相對(duì)于反饋引腳FB接一個(gè)電阻R1、R2和R3,電阻阻值根據(jù)需求進(jìn)行計(jì)算和設(shè)計(jì)??刂茢?shù)模轉(zhuǎn)換器的輸出電壓,實(shí)現(xiàn)ADJ變換器輸出電壓的調(diào)整。

干擾模塊:電壓干擾模塊采用繼電器多級(jí)串聯(lián)方式控制可調(diào)電壓輸出線路的短路、斷路、懸空幾種狀態(tài),實(shí)現(xiàn)被測(cè)設(shè)備供電電壓的拉高、拉低、懸空情況的模擬。CAN干擾模塊采用繼電器多級(jí)串并聯(lián)方式,控制CAN高、CAN低和電源輸出線多種組合接觸情況的CAN干擾模擬。

CAN通信模塊:STM32F105RCT6主芯片有兩路CAN接口,滿足系統(tǒng)多路CAN同時(shí)工作的需求,且CAN收發(fā)器的型號(hào)選用TJA1040芯片,輸出端通過導(dǎo)線連接CAN干擾模塊。

顯示報(bào)警模塊:添加LED、顯示屏和報(bào)警裝置,實(shí)時(shí)監(jiān)控測(cè)試狀態(tài)。

定時(shí)器實(shí)時(shí)控制模塊:STM32F105RCT6芯片有10個(gè)定時(shí)器且支持引腳重映射功能。系統(tǒng)將部分定時(shí)器用于程序中斷或周期性操作,另一部分供用戶配置使用,實(shí)現(xiàn)報(bào)文收發(fā)計(jì)時(shí)、延時(shí)等操作。

3.2 基于TSCN腳本的測(cè)試用例編寫

以某款汽車儀表物理CAN干擾一致性測(cè)試用例為例,介紹基于TSCN的測(cè)試用例腳本編寫過程。

3.2.1 測(cè)試目的

該款汽車儀表ECU節(jié)點(diǎn)(地址:X430)正常通信時(shí),測(cè)試CAN干擾后的通信恢復(fù)能力。

3.2.2 測(cè)試步驟

(1)通過CAN高和CAN低短路產(chǎn)生CAN干擾;

(2)延時(shí)1 s;

(3)CAN高和CAN低短路恢復(fù)正常,消除干擾;

(4)檢測(cè)Busoff恢復(fù)時(shí)間內(nèi)是否接收Limphome報(bào)文,如果接受到,測(cè)試合格返回通過信號(hào);如果沒接受到,測(cè)試不合格返回失敗信號(hào)。

3.2.3 預(yù)期結(jié)果

(1)總線短路后,若停止收發(fā)報(bào)文則說明總線進(jìn)入Busoff狀態(tài),干擾模擬測(cè)試成功,否則失??;

(2)干擾消除后,測(cè)試儀在Busoff恢復(fù)時(shí)間(200 ms)內(nèi)接收到第一幀Limphome報(bào)文,則說明CAN干擾恢復(fù)測(cè)試符合測(cè)試協(xié)議標(biāo)準(zhǔn),否則測(cè)試不合格。

測(cè)試用例的TSCN語言腳本

//CAN高和CAN低短路,Busoff模擬

//延時(shí)1s的時(shí)間

//消除故障,Busoff恢復(fù)

IF(TEST

//檢測(cè)條件,ID號(hào)為X430,數(shù)據(jù)為3004

[

//接收Limphome報(bào)文,時(shí)間0~200 ms

]>) //CAN接收,X430:儀表節(jié)點(diǎn)地址,2:檢測(cè)的數(shù)據(jù)長(zhǎng)度DLC,

{

//延時(shí)1 s的時(shí)間

//返回TP_1項(xiàng)目測(cè)試結(jié)果,合格

}

ELSE

{

//延時(shí)1s的時(shí)間

//返回TP_1項(xiàng)目測(cè)試結(jié)果,不合格

}

3.3 TSCN腳本驅(qū)動(dòng)的NM協(xié)議一致性自動(dòng)測(cè)試

下位機(jī)測(cè)試儀采用解釋執(zhí)行方式順序執(zhí)行。腳本中指令語句的合理存儲(chǔ)是腳本有效執(zhí)行的關(guān)鍵。

TSCN測(cè)試腳本從上至下由若干條指令語句組成,指令語句分為基礎(chǔ)指令和復(fù)合指令兩類。測(cè)試腳本對(duì)應(yīng)的指令數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)如下:

#include MaxsizeComm 200

//基礎(chǔ)指令數(shù)據(jù)結(jié)構(gòu)

typedef struct baseCom

{char mainKey[10];

char subKey[10];

char paramData[100];

struct baseComm *nextComm;

};

typedef struct //命令行數(shù)據(jù)結(jié)構(gòu)

{

char comType[10];

char commCondiiton[50];

struct baseCom *condition0pter;

struct baseComm *success0pter;

struct baseComm *fail0pter;

}commandLine;

commandLine com[MaxsizeComm];

經(jīng)分析不難發(fā)現(xiàn),在執(zhí)行過程中IF或者WHILE等復(fù)合指令語句實(shí)際上是依據(jù)一定邏輯條件控制多條基礎(chǔ)指令語句組合執(zhí)行。如果將基礎(chǔ)指令語句看作邏輯條件恒為真的特殊復(fù)合指令語句,這樣兩類指令語句就可以統(tǒng)一用命令行(commandLine)結(jié)構(gòu)描述。commandLine結(jié)構(gòu)包含5個(gè)數(shù)據(jù)子項(xiàng),前兩項(xiàng)描述指令語句的類型和執(zhí)行條件,后三項(xiàng)分別是基礎(chǔ)指令baseComm鏈表的頭指針域,描述條件判斷、條件成立和不成立時(shí)要執(zhí)行的多個(gè)基礎(chǔ)測(cè)試指令集合。基礎(chǔ)指令語句對(duì)應(yīng)的commandLine結(jié)構(gòu)中,commCondition子項(xiàng)默認(rèn)為’

屯昌县| 南昌县| 松溪县| 绩溪县| 雅江县| 鹤岗市| 永清县| 涟水县| 新沂市| 南皮县| 康平县| 嫩江县| 资溪县| 隆尧县| 日土县| 普兰县| 东平县| 滕州市| 固阳县| 云浮市| 衡山县| 襄汾县| 周口市| 昌吉市| 富阳市| 德格县| 花莲县| 金山区| 滁州市| 开封市| 广州市| 大邑县| 上林县| 宝丰县| 邛崃市| 宣化县| 龙泉市| 安新县| 黄平县| 通榆县| 蒙自县|