新四季網

基於can的嵌入式軟體可靠性測試中的通信方法

2023-08-11 04:48:16

專利名稱:基於can的嵌入式軟體可靠性測試中的通信方法
技術領域:
本發明屬於嵌入式軟體可靠性測試技術領域,尤其是一種嵌入式軟體可靠性測試 中的通信方法。
背景技術:
軟體可靠性測試是指為了保證和驗證軟體的可靠性要求而對軟體進行的測試。軟 件可靠性測試的方法從概念上講是一種面向需求,面向使用的黑盒測試方法。為了暴露軟 件在使用過程的缺陷,軟體可靠性測試需要運行大量的測試用例。軟體可靠性測試是長時 間大規模的測試,對測試數據收發的實時性與確定性有很高的要求。由於嵌入式系統本身資源的限制,目前針對嵌入式軟體可靠性測試大都採用宿主 機/目標機的模式,其基本結構如

圖1所示。其中宿主機功能分為兩部分離線部分和在線 部分。離線部分的功能包括測試用例及測試方案生成,測試腳本編寫,測試過程監控,測試 回放,測試結果分析和處理,該部分功能不需要通訊的實時性;在線部分的功能包括解釋 測試腳本,驅動目標機測試案例,對數據進行仿真處理,接收測試結果,實時比較,測試結果 實時顯示,這部分的對通訊的實時性有嚴格要求。在一些較嚴格的嵌入式可靠性測試平臺 中將這兩部分嚴格分開,離線部分採用PC機,使用一般的PC桌面系統,如Windows,Linux。 實時處理部分採用工作站或微機,並使用實時作業系統,如VxWorks。目前宿主機的實時處 理部分與目標機大多採用乙太網連接。雖然乙太網技術較為成熟,但用於嵌入式軟體測試 也有其缺點。由於乙太網採用的是帶有衝突檢測的載波偵聽多路訪問協議(CSMA/⑶),無法 保證數據傳輸的實時性要求,而且乙太網採用超時重發機制,單點的故障容易擴散,造成整 個網絡系統的癱瘓。

發明內容
為了克服已有的嵌入式軟體可靠性測試通信方法的實時性差、可靠性差和靈活性 差的不足,本發明提供一種實時性良好、可靠性好和靈活性高的基於CAN的嵌入式軟體可 靠性測試中的通信方法。本發明解決其技術問題所採用的技術方案是一種基於CAN的嵌入式軟體可靠性測試中的通信方法,包括相互通信的宿主機和 目標機,所述通信方法採用基於CAD總線協議,採用CAN擴展幀的ID域,PDU域根據ID域 的不同進行動態調整宿主機和目標機的三種不同類型的通訊方式。進一步,CAN擴展幀的ID域為29位,包括有緊急幀的標誌,用1個bit表示,用於 目標機出現異常需要立刻報告給宿主機時使用,以及宿主機發送緊急處理命令時使用;宿 主機以及目標機的ID,用8個bit表示CAN幀是哪個節點發出的;幀結束標誌,用1個bit 表示;功能號,用5個bit表示,共32個功能號;其餘為保留位,用於擴展。
再進一步,CAN擴展幀的ID域中定義32各功能號分為四組,第一組的功能號為 0 7,暫時保留,作為以後擴展所用;第二組的功能號為8 15,對應的通訊方式為宿主機和目標機一應一答;第三組功能號為16 23,對應的通訊方式為目標機發送,宿主機不 需要應答;第四組功能號為24 31,對應的通訊方式為宿主機發送,目標機不需要應答。本發明的技術構思為CAN (ControIler Area Network)是BOSCH公司為現代汽車 應用領先推出的一種多主機局部網,由於其高性能、高可靠性、實時性、靈活性等優點現已 廣泛應用於工業自動化、多種控制設備、交通工具、醫療儀器以及建築、環境控制等眾多部 門本文基於嵌入式軟體可靠性測試的特點,在CAN總線協議的基礎上提出了一種嵌 入式軟體可靠性測試中宿主機和目標機通信的方法。該方法簡單易用,並且具有高可靠性, 高實時性,高靈活性的特點。本發明的有益效果主要表現在實時性良好、可靠性好
圖1是嵌入式軟體可靠性測試基本結構圖。圖2是通信網絡結構圖。圖3是CAN擴展幀的ID域組成示意圖。圖4是宿主機執行第8號功能的第一幀PDU的示意圖。圖5是宿主機執行第8號功能的隨後的幀PDU的示意圖。圖6是執行第8號功能目標機的回覆幀PDU的示意圖。
具體實施例方式下面結合附圖對本發明作進一步描述。參照圖1 圖6,一種基於CAN的嵌入式軟體可靠性測試中的通信方法,包括相互 通信的宿主機和目標機,所述通信方法採用基於CAD總線協議,採用CAN擴展幀的ID域, PDU域根據ID域的不同進行動態調整宿主機和目標機的三種不同類型的通訊方式。CAN擴展幀的ID域為29位,包括有緊急幀的標誌,用1個bit表示,用於目標機 出現異常需要立刻報告給宿主機時使用,以及宿主機發送緊急處理命令時使用;宿主機以 及目標機的ID,用8個bit表示CAN幀是哪個節點發出的;幀結束標誌,用1個bit表示; 功能號,用5個bit表示,共32個功能號;其餘為保留位,用於擴展。CAN擴展幀的ID域中定義32各功能號分為四組,第一組的功能號為0 7,暫時 保留,作為以後擴展所用;第二組的功能號為8 15,對應的通訊方式為宿主機和目標機 一應一答;第三組功能號為16 23,對應的通訊方式為目標機發送,宿主機不需要應答; 第四組功能號為24 31,對應的通訊方式為宿主機發送,目標機不需要應答。本發明CAN網絡基本結構如圖2所示。根據具體情況分配目標機執行測試案例以 最大限度地利用總線。某些情況下我們可能需要對某個測試案例的一些測試數據進行重複 測試,所以本發明還提供了分組測試的功能。每個目標機都有ID和組ID,每個目標機的初 始化組ID都為0。根據需要由宿主機分配組ID。如錯誤!未找到引用源。中節點1和節 點2為同一組CAN本身具有多主/從特點,但為簡化通訊控制,本發明使用CAN通信需要區分主 從。即宿主機為主,目標機為從。從目標機的角度來說,通訊的方式按兩種情況
被動狀態一般情況下,目標機處於被動狀態。通訊使用主從模式,即宿主機發 送請求,目標機予以答覆。 主動狀態在特殊情況下,如目標機檢測到硬體故障或者作業系統嚴重錯誤時, 需要臨時迅速地將含有當前狀態的緊急報文傳送給宿主機,在這種情況下,要求發送的報 文簡短而且優先級高,以儘快讓宿主機處理。
本發明使用具有29位CAN_ID的擴展幀,為了提高CAN幀的利用率,需儘可能地利 用CAN_ID、PDU這兩部分。其中,CAN_ID既用於表示節點ID,又作為節點發送數據的優先 級,數字越低優先級越高。PDU用於承載有效數據。在29位的CAN_ID中定義了網絡中各 ID、幀性質(緊急與否)、幀結束狀態(多幀與否)、幀功能號等,同時還保留了部分的位以 便擴展。PDU部分按照CAN2. 0協議的規定使用最多8個字節。CAN_ID域有29個bit,如圖3第一行所示。在傳送時,按照ID28 IDO的順序按 位傳送。為了處理方便,使用4個byte來表示這29位,如圖3第3行所示。其中byteO的 最後3位是無效的。在圖3的第二行中,詳細定義了各個位的功能。DURG 緊急幀的標誌。當所發送的幀是緊急幀時,該位為0,非緊急幀時該位為1。 因為在CAN中,0的優先級高。緊急幀用於目標機出現異常需要立刻報告給宿主機時使用, 以及宿主機發送緊急處理命令時使用。緊急幀應該儘可能短而且少。2)B_ID7 B_ID0 宿主機以及目標機的ID。在CAN裡面,不存在源地址和目的地 址。用這8個bit表示CAN幀是哪個節點發出的。任何節點都可以過濾不需要接收的節點 的幀。全0是宿主機ID,體現了宿主機的優先級最高。1 127是目標機ID。3)EOF 幀結束標誌。由於使用主從通訊模式,允許一個節點連續發送多個CAN幀。 當節點後續還有CAN幀要發送,則該位置1 ;若不繼續發送了,則該位置0。宿主機在接收多 個連續幀時需要設置超時時間,防止節點故障或者總線故障而導致宿主機無窮等待。 4) FUNC4 FUNCO 功能號。每個CAN幀都表示對某種功能的請求或者應答。對某 一請求,應答方填寫與請求方相同的功能號。5) R 保留位,用於擴展時使用。PDU域的內容和長度根據CAN_ID域中的功能號的不同而改變。在CAN_ID域中 FUNC4 FUNCO代表功能號,共5個bit,所以有32種功能號可用。在宿主機和目標機的通 訊方式中有三種不同的類型·需要宿主機目標機一應一答的·目標機發送,宿主機不需要應答的 宿主機發送,目標機不需要應答的根據不同的功能,將這32個功能號分為4組。第一組的功能號為0 7,暫時保留,作為以後擴展所用。第二組的功能號為8 15,這組的功能需要宿主機和目標機一應一答,目前規定 了 8 11功能號的功能。當需要目標節點執行某個測試案例時,宿主機執行8號功能,可 以連續發送多幀(EOF為結束標識)。第一幀,如圖4所示,PDUO為節點號,PDU1-2為測試 案例ID,PDU3-4為測試數據ID (1 65535),PDU5-7為功能執行ID,宿主機每執行一次8 號功能,此ID值加1。若該測試案例沒有參數,那麼測試數據ID為0,EOF為0,請求幀發 送結束。否則宿主機需要繼續發送測試數據,可多幀發送,其PDU組成如圖5所示,PDU0-2為執行ID,PDU3-7為測試數據。目標機回復執行該測試案例的結果,如圖6所示,PDU0-2 為執行ID,PDU3-6為執行結果;9號功能和8號功能類似。唯一的不同是宿主機中第一幀 PDUO為組號。目前傳輸的數據類型只支持基本數據類型。一方面是考慮到易用性,另一方 面是因為大都測試案例的參數都只用到了基本數據類型。如果測試案例中用到其它的數據 類型或數組,那麼我們可以將測試數據放到目標機,並進行編號,宿主機通過發送編號來指 定測試數據;當宿主機發覺某個目標機出現異常時,可以執行第10號功能詢問該目標機的 健康狀況,其中PDUO為目標機的ID。目標機回復健康狀況,PDUO為軟體狀況,PDUl為硬體 狀況;第11號功能是請求所有目標節點發送分組信息,宿主機不使用PDU域,目標機回復每 個節點的組號,PDUO為組號
第三組功能號為16 23,這組的功能只需目標機發送,宿主機不需要應答的,該 組的功能是將目標機的錯誤發送給宿主機,目前規定了 16、17號的功能。當目標機檢測到 的測試用例出錯時,目標機執行16號功能,發送測試用例的編號和錯誤信息。該幀為緊急 幀,PDU0-2為測試ID,PDU3為錯誤信息;當目標機出現嚴重錯誤時,目標機執行17號功能, 發送錯誤信息。該幀為緊急幀,PDUO為硬體狀態,PDUl為軟體狀態第四組功能號為24 31,這組的功能只需宿主機發送,目標機不需要應答的,目 前只規定了 24 28號的功能。需要某個節點復位時,宿主機執行第24號功能,向某個節 點發送復位請求,PDUO為目標機ID,目標機復位;需要某些節點禁止或開啟目標機發送緊 急幀時,宿主機執行第25號功能,PDUO = 1允許,PDUO = 0不允許,PDUl PDU7為目標 機ID。目標機初始化時為允許發送緊急幀;需要目標機執行某個特定應用時,宿主機執行 第26號功能,PDUO為節點ID,PDU1為已定義的應用程式編號,目標機執行該編號的應用程 序;27號功能為宿主機對目標機分組,PDUO為組號,PDUl 7為目標機ID ;28號功能為清 除組別,即設置所有目標機的組別為0。負載率是通訊網絡的一個重要指標,CAN總線的負載率是指系統處於忙狀態的
時間百分比,即各CAN幀佔用總線時間百分比之和。準確的負載率計算公式可以幫助我
們在進行測試之前設計一個合理測試方案,在測試過程中宿主機也根據該公式調整策略。
一般情況下嵌入式軟體測試過程中主機周期性地請求目標機執行案例。假設其執行周期
為T。y。le,宿主機請求幀在總線上的傳輸時間為Tsend,目標機回復幀在總線上的傳輸時間為
T ,+T
Tresp_。那麼該組報文幀總線的佔用率^為幾=τ 若網絡中有k個目標節點,那
cycle
麼總線的負載率n為7 = Σ二禮。設CAN網絡選定的總線傳輸速率為,則總線上的位傳 輸時間為IzVbus,若宿主機請求幀的位長度為Lsmd,目標機回復幀的位的總長度為Lresp。_,
則?^ =&, ;— =^=。由CAN協議可知CAN報文數據幀的擴展格式報文頭為64位,
^bus^bus
數據幀的數據域的長度為n個字節,其中n為1 8之間的整數,那麼Lteato = 64,Ldata = SXn5CAN總線採用了一種稱為位填充的編碼機制,其原理為發送方在發送五個連續相同 的位後,自動插入一個與之互補的補碼位;接收時,這個填充位被自動丟掉。所以當遇到如 「1111100001111」或「0000011110000」的形式時有最多的填充位。那麼,長度為χ的位序列
最大的位填充個數為pfj。CAN協議規定CRC界定符、ACK場和幀結束為固定形式,不進行位填充。設Lstuff為最大的填充位長度,在CAN擴展幀中,它由CAN幀前39位需要的填充位數Lsl和數據場Ldata及CRC校驗位L。,。需要的填充位數Ls2兩部分組成,設Lerc為CRC校驗 位的長度,Ldata為PDU長度,那麼 所以一個CAN擴展幀的傳輸的最大位長度為 由上面的公式可知,Lftame是數據域長度η的函數,設Lftame = f (η)。在嵌入式軟體 可靠性測試的過程中,幾乎所有時間只用到上述描述功能中的第8號功能和第9號功能。設 一個案例的測試數據長度為η個字節,由上述描述的方法可知一個請求幀最多包含5位元組 的測試數據。如果η為0,請求幀只需一個CAN幀。發送這個請求幀所需的長度 設目標機返回的測試結果長度為m(m= 1,2,3,4)個字節。回復幀PDUO 2為執 行ID,那麼目標機回復的長度Lheato = f(m+3);設每個目標節點或每個組為一個node,每個 node包含&個目標機(對於單個節點,其值為1,對於一個組,其值為組的大小)。若網絡 中有k個nodes,每個node的執行周期為Ti,那麼網絡的負載率η為 按照圖2所示的網絡結構圖進行連接,將宿主機和目標板都接入CAN網絡。每個 目標板需定義好各自的ID,其初始組ID都為0。本方法的硬體環境1.具備CAN控制器的開發板若干用作目標節點(網絡目標節點個數最大值為 127)。2. CAN總線若干條用來連接成CAN網絡。3.燒寫器用來燒寫應用程式至開發板。4. PC機或小型機一臺用作宿主機5. CAN收發器一個用於將宿主機接入CAN網絡本方法的軟體環境1. CAN調試工具用來控制宿主機與目標機的交互,監控CAN網絡等。可使用自行 開發的軟體或已有的工具(ZLGCANTest等)。2.開發板IDE環境用來編寫目標機代碼,以及將代碼編譯燒寫至開發板。對於CAN總線協議,為了保證網絡中系統消息的實時性,推薦的最大帶寬利用率為20% 30%。宿主機可通過上文提 供的CAN網絡負載率計算公式(4),計算測試方案的 網絡負載率並根據實際情況進行調整。
權利要求
一種基於CAN的嵌入式軟體可靠性測試中的通信方法,包括相互通信的宿主機和目標機,其特徵在於所述通信方法採用基於CAD總線協議,採用CAN擴展幀的ID域,PDU域根據ID域的不同進行動態調整宿主機和目標機的三種不同類型的通訊方式。
2.如權利要求1所述的基於CAN的嵌入式軟體可靠性測試中的通信方法,其特徵在於 CAN擴展幀的ID域為29位,包括有緊急幀的標誌,用1個bit表示,用於目標機出現異常 需要立刻報告給宿主機時使用,以及宿主機發送緊急處理命令時使用;宿主機以及目標機 的ID,用8個bit表示CAN幀是哪個節點發出的;幀結束標誌,用1個bit表示;功能號,用 5個bit表示,共32個功能號;其餘為保留位,用於擴展。
3.如權利要求1或2所述的基於CAN的嵌入式軟體可靠性測試中的通信方法,其特徵 在於CAN擴展幀的ID域中定義32各功能號分為四組,第一組的功能號為0 7,暫時保 留,作為以後擴展所用;第二組的功能號為8 15,對應的通訊方式為宿主機和目標機一 應一答;第三組功能號為16 23,對應的通訊方式為目標機發送,宿主機不需要應答;第 四組功能號為24 31,對應的通訊方式為宿主機發送,目標機不需要應答。
全文摘要
一種基於CAN的嵌入式軟體可靠性測試中的通信方法,包括相互通信的宿主機和目標機,所述通信方法採用基於CAD總線協議,採用CAN擴展幀的ID域,PDU域根據ID域的不同進行動態調整宿主機和目標機的三種不同類型的通訊方式。本發明提供一種實時性良好、可靠性好和靈活性高的基於CAN的嵌入式軟體可靠性測試中的通信方法。
文檔編號G06F11/36GK101867570SQ201010171389
公開日2010年10月20日 申請日期2010年5月13日 優先權日2010年5月13日
發明者張翼, 李紅, 楊國青, 羅端, 胡博, 鄧俊 申請人:浙江大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀