• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于CAN總線ECU診斷功能的一致性測試設(shè)計(jì)*

      2013-10-22 07:25:40程安宇
      傳感器與微系統(tǒng) 2013年7期
      關(guān)鍵詞:網(wǎng)絡(luò)層診斷系統(tǒng)應(yīng)用層

      程安宇,趙 恬,申 帥

      (重慶郵電大學(xué)自動(dòng)化學(xué)院,重慶 400065)

      0 引言

      隨著汽車電子技術(shù)的發(fā)展,越來越多的汽車電子控制單元(electronic control unit,ECU)被應(yīng)用于汽車控制。傳統(tǒng)的診斷方法在診斷的準(zhǔn)確性、使用方便性等方面都難以適應(yīng)現(xiàn)代汽車技術(shù)的發(fā)展[1],為解決這一問題,汽車廠商在車輛ECU軟件系統(tǒng)中增設(shè)診斷協(xié)議部分。診斷功能的實(shí)現(xiàn)是ECU開發(fā)過程中的重要部分[2]。

      CAN總線是目前汽車ECU實(shí)現(xiàn)通信的主要網(wǎng)絡(luò)。因此,基于CAN總線的ECU診斷功能的實(shí)現(xiàn)已成為診斷技術(shù)的必然趨勢。一致性測試是診斷協(xié)議測試的一個(gè)重要方面,是協(xié)議開發(fā)人員首要關(guān)心的問題,它測試診斷協(xié)議的實(shí)現(xiàn)是否符合協(xié)議規(guī)范。文獻(xiàn)[2]和文獻(xiàn)[3]在診斷協(xié)議的一致性測試方面測試用例較少,測試不全面,不能驗(yàn)證診斷功能是否符合協(xié)議。

      本文根據(jù)某汽車廠商ECU的診斷需求規(guī)范,基于CAN總線診斷協(xié)議ISO 15765,設(shè)計(jì)了測試方案和測試用例,測試用例涵蓋需求規(guī)范中的所有診斷數(shù)據(jù),并通過CANoe總線分析軟件中CAPL編程模塊完成。

      1 CAN總線的診斷系統(tǒng)分析

      CAN總線診斷系統(tǒng)如圖1所示,客戶端向服務(wù)器ECU發(fā)送某服務(wù)的請求報(bào)文,服務(wù)器收到請求報(bào)文,對請求報(bào)文的格式和內(nèi)容進(jìn)行判斷后,發(fā)送響應(yīng)(肯定或否定響應(yīng))報(bào)文或沒有響應(yīng)。診斷系統(tǒng)通過這種方式完成通信和數(shù)據(jù)的交換。

      圖1 CAN總線診斷系統(tǒng)組成Fig 1 Composition of CAN bus diagnostic system

      根據(jù)開放系統(tǒng)互連(open system interconnection,OSI)七層參考模型,CAN總線診斷通信系統(tǒng)分為4層,如圖2所示。應(yīng)用層遵循 ISO 14229—1UDS(unified diagnostic services)或ISO 15765—3中診斷服務(wù)的定義。網(wǎng)絡(luò)層遵循ISO 15765—2實(shí)現(xiàn)數(shù)據(jù)的傳輸?shù)取?shù)據(jù)鏈路層和物理層遵循ISO 11898—1[4]。

      圖2 OSI模型中UDS在CAN總線的實(shí)現(xiàn)Fig 2 Implementation of UDS on CAN bus in OSI model

      CAN總線診斷協(xié)議ISO 15765中,網(wǎng)絡(luò)層為應(yīng)用層提供服務(wù)接口,應(yīng)用層通過訪問這些服務(wù)接口實(shí)現(xiàn)與網(wǎng)絡(luò)層的信息交互[5]。

      2 測試方案設(shè)計(jì)

      在診斷系統(tǒng)的開發(fā)過程中,診斷協(xié)議棧軟件完成了診斷協(xié)議的一致性測試后,才能將具有診斷功能的ECU應(yīng)用于整車上。診斷協(xié)議棧的測試流程如圖3所示,首先,分析協(xié)議得到測試數(shù)據(jù);然后,將此數(shù)據(jù)用于被測的診斷協(xié)議棧軟件,得到測試輸出;最后,將測試輸出與分析協(xié)議得到的預(yù)期結(jié)果相比較,分析測試結(jié)果的正確與否。如果結(jié)果正確,則測試通過;如果結(jié)果錯(cuò)誤,則修改被測軟件存在的問題,再次測試。

      圖3 測試流程Fig 3 Flow chart of test process

      2.1 診斷結(jié)構(gòu)設(shè)計(jì)

      診斷結(jié)構(gòu)有3種形式:1)客戶端和服務(wù)器在同一網(wǎng)絡(luò)中直接連接;2)客戶端通過網(wǎng)關(guān)和服務(wù)器連接;3)客戶端和服務(wù)器在2個(gè)網(wǎng)絡(luò)中,客戶端與主網(wǎng)絡(luò)連接,主網(wǎng)絡(luò)通過網(wǎng)關(guān)與子網(wǎng)絡(luò)連接。

      本文的診斷結(jié)構(gòu)采用第一種形式,客戶端和服務(wù)器ECU在同一網(wǎng)絡(luò)。如圖4所示,服務(wù)器ECU為核心芯片為STM8的車身控制模塊(body control module,BCM),此外還在其上運(yùn)行診斷協(xié)議棧,其中包括:應(yīng)用層、網(wǎng)絡(luò)層和底層軟件??蛻舳藶镻C機(jī),在其上運(yùn)行德國Vector公司的CANoe軟件,通過CAPL編程實(shí)現(xiàn)測試用例來發(fā)送診斷服務(wù)請求,測試用例分為網(wǎng)絡(luò)層測試和應(yīng)用層測試。

      圖4 診斷系統(tǒng)結(jié)構(gòu)Fig 4 Structure of diagnostic system

      CAN總線上的數(shù)據(jù)在Trace窗口顯示,以便分析診斷系統(tǒng)通信是否成功和ECU的診斷協(xié)議棧軟件是否符合協(xié)議規(guī)定。

      2.2 測試用例設(shè)計(jì)

      從軟件測試用例設(shè)計(jì)方法的角度,分為白盒測試和黑盒測試[6]。本文采用黑盒測試,針對軟件的功能需求與實(shí)現(xiàn)進(jìn)行測試。不需考慮程序編碼結(jié)構(gòu),測試者只需了解程序輸入和輸出間的關(guān)系,或是程序的功能。本文依靠程序功能的需求規(guī)范和診斷協(xié)議確定測試數(shù)據(jù),判定測試結(jié)果的正確性。

      測試用例設(shè)計(jì)時(shí),需要分析需求規(guī)范,然后確定系統(tǒng)正常的輸入輸出,以驗(yàn)證系統(tǒng)的功能是否正常。由于篇幅限制,這里只列出幾項(xiàng)診斷數(shù)據(jù),如表1所示,ECU診斷數(shù)據(jù)的定義,支持的SID(service identifier)、各SID對應(yīng)的子功能、如表2所示支持的DID(data identifier)、如表3所示網(wǎng)絡(luò)層時(shí)間參數(shù)值等內(nèi)容。

      表1 ECU支持的SID定義Tab 1 Definition of SID supported by ECU

      表2 ECU支持的DID定義Tab 2 Definition of DID supported by ECU

      表3 網(wǎng)絡(luò)層計(jì)時(shí)器描述Tab 3 Timer description of network layer

      測試用例中不僅有正確的輸入,還應(yīng)有錯(cuò)誤的輸入,來驗(yàn)證系統(tǒng)對錯(cuò)誤情況的處理能力。因此,設(shè)計(jì)的測試用例分為正常用例和異常用例。本文測試用例的設(shè)計(jì)根據(jù)診斷協(xié)議ISO 15765和汽車廠商規(guī)定的診斷數(shù)據(jù)。

      1)正常用例

      正常用例,即客戶端按照正確的報(bào)文格式和預(yù)定的步驟發(fā)送請求報(bào)文,以驗(yàn)證網(wǎng)絡(luò)層和應(yīng)用層是否符合協(xié)議和需求規(guī)范。測試要求如下:

      a.正常通信下,測試網(wǎng)絡(luò)層的數(shù)據(jù)打包,解包和流控制機(jī)制,如(客戶端)發(fā)送單幀、(服務(wù)器)響應(yīng)單幀、發(fā)送多幀、響應(yīng)多幀[7];

      b.測試網(wǎng)絡(luò)層是否能正確識別數(shù)據(jù)解包的錯(cuò)誤情況;

      c.測試應(yīng)用層服務(wù)在合法請求下,響應(yīng)報(bào)文格式是否正確,響應(yīng)時(shí)間是否符合需求規(guī)定;

      d.測試執(zhí)行應(yīng)用層服務(wù)合法的執(zhí)行順序的情況下,是否實(shí)現(xiàn)了其功能。

      2)異常用例

      異常用例,即客戶端按照非法的服務(wù)執(zhí)行順序發(fā)送請求報(bào)文,或發(fā)送錯(cuò)誤的報(bào)文格式的請求報(bào)文,以驗(yàn)證網(wǎng)絡(luò)層和應(yīng)用層是否符合協(xié)議規(guī)定。測試要求如下:

      a.客戶端發(fā)送錯(cuò)誤的N—PDU,測試網(wǎng)絡(luò)層對錯(cuò)誤情況的處理能力;

      b.客戶端超時(shí)發(fā)送診斷請求報(bào)文,測試網(wǎng)絡(luò)層對超時(shí)的處理情況;

      c.客戶端發(fā)送無效數(shù)據(jù)幀(除了定義的4種幀類型之外的)或在正常通信時(shí)發(fā)送其它報(bào)文幀打斷正在進(jìn)行的通信過程,測試網(wǎng)絡(luò)層的處理能力;

      d.測試應(yīng)用層服務(wù)在非法請求報(bào)文下或非法的服務(wù)執(zhí)行順序時(shí),能否做出正確的否定響應(yīng)。

      3 測試

      3.1 測試項(xiàng)執(zhí)行

      根據(jù)分析需求規(guī)范的結(jié)果設(shè)計(jì)由DID寫入數(shù)據(jù)執(zhí)行的流程如圖5所示,此流程涉及多個(gè)服務(wù)的執(zhí)行,以及單幀、多幀數(shù)據(jù)的傳輸。以此為例說明設(shè)計(jì)測試項(xiàng)。

      首先,ECU的會(huì)話模式只有進(jìn)入非默認(rèn)模式時(shí),才能進(jìn)行安全訪問請求。安全訪問請求服務(wù)成功執(zhí)行后ECU解鎖,如果ECU未成功解鎖,則由否定報(bào)文判斷失敗的原因,修改請求報(bào)文后再次執(zhí)行安全訪問請求。ECU解鎖成功后由DID讀出ECU中存儲(chǔ)的數(shù)據(jù),然后執(zhí)行由DID寫入數(shù)據(jù)的服務(wù)。為了驗(yàn)證數(shù)據(jù)是否成功寫入,將由相同的DID讀出和寫入的數(shù)據(jù)相比較,如果讀出和寫入的數(shù)據(jù)相同,證明寫入成功;反之,則不成功。

      圖5 由DID寫入數(shù)據(jù)服務(wù)執(zhí)行的流程圖Fig 5 Flow chart excuted by WriteData service

      在此流程中,由于數(shù)據(jù)的讀出、寫入涉及了多幀傳輸,所以,在此過程中還應(yīng)測試ECU的網(wǎng)絡(luò)層計(jì)時(shí)器是否遵循需求規(guī)范,如表3所示。

      測試執(zhí)行分為網(wǎng)絡(luò)層、應(yīng)用層測試,結(jié)果如表4與表5所示。

      ECU尋址方式為物理尋址,請求和響應(yīng)ID分別為0x766,0x7A6。測試項(xiàng)為客戶端發(fā)送的請求報(bào)文,預(yù)期結(jié)果為分析協(xié)議和需求規(guī)范后得到的ECU應(yīng)做出的反應(yīng)。

      測試的請求和響應(yīng)報(bào)文等有關(guān)信息在Trace窗口顯示,以供測試者通過報(bào)文內(nèi)容分析測試結(jié)果。

      表4 網(wǎng)絡(luò)層測試結(jié)果Tab 4 Test resurt of network layer

      表5 應(yīng)用層測試結(jié)果Tab 5 Test Test result of application layer

      表6 BCM診斷功能測試結(jié)果Tab 6 Test results of BCM diagnostic function

      3.2 測試結(jié)果分析

      測試項(xiàng)執(zhí)行后,通過分析Trace窗口的報(bào)文與預(yù)期結(jié)果相比較,發(fā)現(xiàn)測試結(jié)果符合預(yù)期結(jié)果。所測試診斷報(bào)文傳輸機(jī)制、診斷服務(wù)、執(zhí)行流程和錯(cuò)誤處理等內(nèi)容符合診斷協(xié)議規(guī)定。部分測試結(jié)果如表6所示。

      4 結(jié)束語

      本文通過研究分析CAN總線診斷系統(tǒng),針對一種BCM的診斷需求規(guī)范,依據(jù)CAN總線診斷協(xié)議ISO 15765設(shè)計(jì)了測試方案和用例,并通過CAPL編程執(zhí)行測試用例。經(jīng)過測試,此BCM診斷協(xié)議棧符合ISO 15765協(xié)議和需求規(guī)定,說明此測試方法能有效地測試診斷功能和診斷協(xié)議的一致性。

      [1] 胡思德.汽車車載網(wǎng)絡(luò)(VAN/CAN/LIN)技術(shù)詳解[M].北京:機(jī)械工業(yè)出版社,2006.

      [2] 韓 鑫.電容式混合動(dòng)力汽車離線診斷系統(tǒng)的設(shè)計(jì)開發(fā)[D].鎮(zhèn)江:江蘇大學(xué),2011.

      [3] 李 銳,王晶瑩,姚 燕,等.基于ISO 15765的車載CAN網(wǎng)絡(luò)診斷設(shè)計(jì)[J].計(jì)算機(jī)工程,2012(4):35-36.

      [4] ISO/DIS 15765—2:Road vehicles-diagnostics on controller area networks(CAN)[S].

      [5] ISO/DIS 15765—3:Road vehicles-diagnostics on controller area networks(CAN)[S].

      [6] 鄭人杰.計(jì)算機(jī)軟件測試技術(shù)[M].北京:清華大學(xué)出版社,1992.

      [7] 常欣紅,于金泳,劉志遠(yuǎn).汽車故障診斷標(biāo)準(zhǔn) ISO 15765的網(wǎng)絡(luò)層分析與實(shí)現(xiàn)[J].汽車技術(shù),2006(9):40-43.

      [8] 程安宇,趙國慶,馮輝宗,等.基于CAN總線的電子控制單元功能測試方法[J].計(jì)算機(jī)應(yīng)用,2012(1):139 -141.

      猜你喜歡
      網(wǎng)絡(luò)層診斷系統(tǒng)應(yīng)用層
      Noise-Tolerant ZNN-Based Data-Driven Iterative Learning Control for Discrete Nonaffine Nonlinear MIMO Repetitive Systems
      區(qū)間軌道電路智能診斷系統(tǒng)的探討
      設(shè)備在線診斷系統(tǒng)在唐鋼的建設(shè)與應(yīng)用
      電子測試(2018年13期)2018-09-26 03:30:20
      基于分級保護(hù)的OA系統(tǒng)應(yīng)用層訪問控制研究
      基于WPA的物聯(lián)網(wǎng)網(wǎng)絡(luò)層安全的研究
      新一代雙向互動(dòng)電力線通信技術(shù)的應(yīng)用層協(xié)議研究
      連鑄板坯質(zhì)量在線診斷系統(tǒng)的應(yīng)用
      新疆鋼鐵(2015年2期)2015-11-07 03:27:52
      物聯(lián)網(wǎng)技術(shù)在信息機(jī)房制冷系統(tǒng)中的應(yīng)用
      基于OPC跨平臺通信的電機(jī)監(jiān)測與診斷系統(tǒng)
      Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair
      南昌县| 章丘市| 莱阳市| 搜索| 焦作市| 秀山| 海兴县| 瑞丽市| 长春市| 格尔木市| 岢岚县| 黑水县| 北安市| 图木舒克市| 文昌市| 平陆县| 古丈县| 额敏县| 东平县| 同仁县| 吉隆县| 拉萨市| 泸定县| 喀喇| 鹿泉市| 抚顺县| 南京市| 都匀市| 平乡县| 台中县| 柏乡县| 高青县| 大名县| 阜康市| 城固县| 宝鸡市| 咸宁市| 永修县| 常州市| 太仆寺旗| 阳原县|