• 
    

    
    

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

      一種可配置數據交互流程的嵌入式總線接口測試系統設計與實現

      2020-12-08 03:14:54
      計算機測量與控制 2020年11期
      關鍵詞:接收數據機軟件下位

      李 智

      (中國電子科技集團公司第十研究所 信息中心,成都 610036)

      0 引言

      隨著嵌入式軟件在航空、航天、汽車、通信等綜合電子系統中的占比也越來越高,其扮演的角色也越來越重要,因此,軟件缺陷容易引發(fā)災難性事故,例如1996年,歐洲耗資億美元的Ariane-5 火箭發(fā)射后解體爆炸[1]。軟件測試作為發(fā)現軟件缺陷的有效手段之一,已越來越被重視。構建高效、有效的測試環(huán)境是軟件測試的前提,嵌入式軟件測試由于以下原因存在構建測試環(huán)境難題[2-3]:

      1)嵌入式軟件所涉及的系統外部設備幾乎全是專用;

      2)嵌入式軟件可能由于沒有通常的外圍設備導致在測試過程中很難進行檢測和觀察;

      3)嵌入式軟件與外部系統按照流程進行數據交互,這對測試也提出了更高的要求;

      4)現有半實物仿真系統,缺乏測試用例設計、測試用例自動化執(zhí)行的能力。

      目前,國內外對基于總線通信的半實物仿真測試及環(huán)境構建進行了有益的探索,通過半實物仿真系統對總線數據構建、與被測系統通信等,實現了對被測系統外圍設備的模擬,也解決了測試過程中對數據的檢測和觀察難題[4-5]。但大部分半實物仿真測試系統缺乏對總線數據交互流程的模擬能力,只能通過二次開發(fā)實現,給使用帶來了很多的不便。本文針對現有半實物仿真測試系統存在的不足之處,提出一種基于總線通信、收發(fā)流程執(zhí)行控制的嵌入式軟件接口測試系統,提高測試環(huán)境搭建效率,降低操作難度,以提升易用性。

      1 系統設計

      1.1 功能設計

      系統設計支持多路的MIL-STD-1553B總線、以太網、RS232/422/485總線、CAN總線、ARNIC429總線通信,具有總線數據模擬能力、總線數據激勵能力、接收數據識別和應答能力、數據收發(fā)流程配置和執(zhí)行控制能力、基于數據收發(fā)流程執(zhí)行控制構筑測試場景的測試用例設計和自動化執(zhí)行能力。以幫助開發(fā)人員或測試人員實現嵌入式軟件外圍設備的仿真,實現在與外圍設備數據交互過程中的監(jiān)視和檢測,實現模擬外圍設備按照流程與嵌入式軟件進行數據交互,實現測試用例設計和自動化執(zhí)行,實現基于總線通信的強度測試[6]。

      1.2 硬件設計

      為使該系統具有較好的通用性,適配更多被測設備,在硬件上須采用動態(tài)可擴展設計,并且具備常用類型總線的通信能力。為解決該問題,整個系統硬件由上位機和多臺下位機組成,上位機和下位機通過以太網連接,可以橫向擴展下位機。每臺下位機可以內置ARNIC429板卡、Moxia卡、100 M/1000 M以太網卡、MIL-STD-1553B板卡、外接USB CAN控制盒,與被測設備連接。如圖1。

      圖1 系統硬件結構圖

      1.3 軟件整體設計

      軟件包含上位機軟件和下位機軟件,并分別安裝于對應設備。上位機軟件在下位機的配合下實現測試工程管理、工程配置、測試設計、測試執(zhí)行、測試數據發(fā)送、測試數據接收、接收數據解析、下位機管理等功能。下位機軟件接受上位機的總線參數配置、數據發(fā)送控制、保活查詢,并實時將總線上接收的數據上報至上位機。

      圖2 下位機軟硬件部署

      2 軟件設計

      2.1 上位機軟件設計

      上位機軟件設計為三架構、功能層、邏輯層和數據層。

      圖3 上位機三層結構圖

      2.1.1 功能層設計

      功能層是操作人員直接交互的功能界面,包括工程管理、測試工程配置、測試設計、測試執(zhí)行、測試數據接收和下位機管理六大功能,其中工程管理又包括新建工程、打開工程、關閉工程、保存工程、備份工程;其中測試設計包括被測件功能管理、接口測試用例設計、手動生成測試數據、自動生成測試數據、強度測試設計;測試執(zhí)行包括接口測試用例執(zhí)行、自動化執(zhí)行、強度測試執(zhí)行;測試工程配置包括設備信息配置、交聯環(huán)境配置、總線配置、ICD配置;測試數據接收包括數據接收、數據解析、接收統計;下位機管理包括保活功能、總線初始化、總線關閉。

      2.1.2 邏輯層設計

      邏輯層是上位機向功能層提供工程管理邏輯接口,并0調用仿真配置信息管理模塊創(chuàng)建或讀取項目配置項信息XML文件,實現向工程管理功能提供的邏輯處理接口。操作人員進行設備信息、交聯環(huán)境、總線、ICD配置后調用仿真配置信息管理模塊提供的邏輯處理接口創(chuàng)建或修改項目配置項信息XML文件。

      測試用例設計模塊向功能層測試設計功能提供邏輯處理接口。仿真配置信息管理模塊向測試用例設計模塊返回下位機、總線、ICD信息,測試用例設計模塊組織成級聯關系集合送至測試設計功能,測試用例設計中前置條件環(huán)節(jié),如果需周期發(fā)送數據,則在級聯關系集合中選擇發(fā)送方向ICD,確定后測試設計功能根據ICD格式動態(tài)生成供用戶輸入的界面,用戶填寫具體數據、周期發(fā)送時間;如果需條件應答,則在級聯關系集合中選擇接收方向ICD,再在級聯關系集合發(fā)送方向中選擇應答ICD,確定后測試設計功能根據ICD格式動態(tài)生成供用戶輸入的界面,用戶填寫具體數據。如果無前提條件設置,可直接添加測試步驟,操作人員根據發(fā)送或接收數據,在級聯關系集合中選取ICD,并在動態(tài)生成的輸入界面填寫具體值,如果是接收數據需要設置該步驟等待時間,測試用例設計模塊按照特有XML格式調用仿真配置信息管理模塊固化測試用例設計信息。

      測試用例執(zhí)行模塊向功能層測試執(zhí)行功能提供邏輯處理接口。測試用例執(zhí)行模塊調用仿真配置信息管理模塊讀取待執(zhí)行用例的設計信息,形成按時間進程調度發(fā)送數據管理模塊、接收數據管理模塊的控制律,執(zhí)行過程中發(fā)送失敗、未接收到數據或接收數據與預期不一致,則測試用例執(zhí)行不通過,否則通過。

      發(fā)送數據管理模塊接收測試用例執(zhí)行模塊輸入的ICD編號和填寫數據,調用仿真配置信息管理模塊檢索出發(fā)送ICD格式,與填寫數據一起輸入數據封裝模塊,數據封裝模塊根據ICD格式、填寫數據,調用數據類型轉換模塊組裝成消息報文,并在消息報文前添加標有目標下位機、總線、地址或通道等信息的標簽,然后調用以太網通信模塊提供的UDP協議發(fā)送接口將消息報文通過以太網發(fā)送至下位機。

      以太網通信模塊接收到下位機發(fā)送的接收數據,將其推送到接收數據緩存,接收數據管理模塊不斷讀取接收數據緩存的數據直到讀空為止。

      數據管理模塊將原始數據推向功能層的數據接收窗口,同時通知數據解析模塊。數據解析模塊讀取一包數據,將標簽和數據分開,根據標簽中源下位機、總線、地址或通道,以及數據中的類型值,調用仿真配置信息管理模塊檢索出具體ICD格式,再將ICD格式和待解析數據傳遞至數據解析模塊,數據解析模塊按照ICD格式,調用數據類型轉換模塊對數據逆向解析,然后將解析結果回傳接收數據管理模塊,再輸出至數據接收窗口。

      下位機管理模塊調用以太網通信模塊周期查詢下位機,根據下位機應答信息判斷下位機健康狀態(tài),并上報至下位機管理功能界面,同時向下位機管理功能提供總線操作接口。

      2.1.3 數據層設計

      數據層以XML文件作為存儲載體,存儲下位機及總線配置項信息、項目信息、項目總線數據格式、解析配置、測試用例及數據等。

      2.2 下位機軟件設計

      下位機軟件設計分為服務層、驅動層。服務層通過以太網向上位機軟件提供數據發(fā)送、總線管理,總線數據接收服務。

      圖4 下位機兩層結構圖

      2.2.1 服務層設計

      下位機軟件啟動初始化模塊調用數據存儲引擎獲取項目配置信息,初始化以太網通信模塊、總線管理模塊,總線管理模塊進一步調用數據總線引擎完成各總線的初始化。數據存儲引擎初始化時,獲取項目配置信息,然后根據信息調用對應以太網TCP驅動、以太網UDP驅動、CAN總線驅動、RS422/RS485/RS232Moxia卡總線驅動、ARNIC429總線驅動、1553總線驅動進行對應總線初始化。

      以太網通信模塊初始化完成后開始接收并應答上位機軟件周期查詢,同時,接收以太網數據判斷后,如果為總線控制數據,則用總線管理模塊進行總線控制,如果為上位機發(fā)送數據,則進行解包,得到目的標簽和待發(fā)數據,再根據目的標簽調用數據總線引擎將待發(fā)數據發(fā)送至對應總線,當數據總線引擎接收到某總線數據時,在接收數據前添加該下位機、源總線、地址或通道的標簽,推送至數據接收模塊,數據接收模塊調用以太網通信模塊提供的發(fā)送接口將數據發(fā)送至上位機。

      2.2.2 驅動層設計

      驅動層包括了供數據存儲引擎讀寫的項目配置數據,供數據總線引擎實現總線初始化和數據收發(fā)調用的以太網TCP驅動、以太網UDP驅動、CAN總線驅動、RS422/RS485/RS232Moxia卡總線驅動、ARNIC429總線驅動、1553總線驅動。

      2.3 軟件實現流程

      系統軟件由上位機和下位機軟件構成,其軟件實現流程,如圖5。

      圖5 軟件實現流程

      測試工程管理實現工程的新建、打開、保存、備份等。新建工程后,進入測試工程配置,其中包括設備信息配置、測試交聯環(huán)境配置、總線配置、ICD配置等。如果是打開工程,或已完成新建工程配置,則可進入測試用例設計,其中包括被測件功能管理、接口測試用例設計、手動生成測試數據、自動生成測試數據、強度測試等,該過程是測試執(zhí)行的前提。測試執(zhí)行包括自動組包、自動生成校驗位、接口測試用例執(zhí)行、自動化執(zhí)行、強度測試執(zhí)行,該功能在上位機的后臺執(zhí)行,并與下位機軟件配合完成。在測試執(zhí)行過程中,涉及測試數據的發(fā)送和接收,生成的測試數據分發(fā)給下位機軟件,通過對應的總線發(fā)送給被測件,同時,對發(fā)送數據量進行統計。當系統下位機對應通道接收到被測件發(fā)送的數據,將上傳至上位機,一方面推送至解析功能,一方面納入接收統計。

      3 重要功能實現原理

      3.1 數據封裝

      操作人員在發(fā)送界面填寫完數據,并發(fā)送時觸發(fā)數據封裝功能。上位機軟件首先獲取該發(fā)送的接口定義,其次根據MsgData(具體一條接口定義的XML格式,如:自檢命令)中的MsgDataElement(具體接口數據元素,為MsgData的子節(jié)點,其屬性包含數據類型、長度、值等)定義的數據元素獲取用戶在界面中的值,同時根據MsgDataElement定義的數據長度、數據類型轉為二進制數據,最后根據MsgDataElement在MsgData中的位置,將其拷貝到對應的二進制數組中,最后向總線引擎輸出組裝完畢的原始二進制數據。

      3.2 數據解析

      項目初始化時,操作人員需要配置每條總線的數據類型位置,以及每一個數據類型值所指向的接口定義,即MsgData,并設置為解析,形成解析配置。

      當數據解析模塊接收到一包數據時,根據包頭的數據總線標識、解析配置,查詢是否解析。如果要求解析,則結合接收數據得到接收數據的類型,從而獲得指向的解析接口定義MsgData。將接收數據和對應的接口定義傳遞給解析遞歸調用模塊,逐一遍歷MsgData節(jié)點下的 MsgData Element節(jié)點,根據節(jié)點長度、數據類型等屬性,在實際數據獲取到具體的數據值,結合枚舉值轉義等方法,形成數據元素解析,最后組裝成接收數據的解析字符串,上報至用戶界面。

      3.3 條件應答原理

      條件應答是指在接收到某條數據后,根據系統設計回復指定數據,例如當接收到自檢命令后,反饋自檢結果。

      條件應答功能實現依賴于數據解析功能。項目初始化時,操作人員需要配置每條總線的數據類型位置,以及所指向的應答數據接口定義MsgData,設置為應答,并在接口定義的每個數據元素MsgDataElemen屬性value設置反饋的值[7-8]。

      當接收到一包數據時, 解析模塊查詢該數據是解析還是應答,如果為應答,則結合接收數據得到接收數據的類型,從而獲得指向的應答接口定義MsgData,然后將其推送給數據封裝模塊,發(fā)送給被測設備,完成條件應答。

      3.4 測試用例設計原理

      測試用例設計是基于手動測試數據發(fā)送、數據接收、條件應答、結果預判等功能,按照時間軸的方式組合成測試場景,并存儲為XML格式。

      測試用例可設置周期發(fā)送多個數據包的前提條件,例如某些設備在工作時需要以周期應答作為設備在線前提,然后才能執(zhí)行各種功能。測試用例可添加多個測試步驟,每個步驟由執(zhí)行順序、測試輸入、預期結果等組成。測試輸入分為發(fā)送、條件應答和接收,預期結果為某時間范圍收到某一包數據。用例設計完成后,以XML形式保存設計數據及邏輯。

      3.5 自動化測試執(zhí)行原理

      自動化測試執(zhí)行實際調用并執(zhí)行一個或一組以XML形式存儲的用例設計數據及執(zhí)行邏輯,預期接收數據未在指定時間內接收或接收數據錯誤被判為用例不通過。同時按照時間軸的方式記錄執(zhí)行過程中的收發(fā)數據,形成實際測試結果。

      3.6 強度測試原理

      強度測試功能是在上位機軟件強度測試界面勾選具體下位機->總線->發(fā)送方向ICD,點擊生成測試數據按鈕,上位機軟件根據ICD各元素配置的枚舉值、邊界、步進,采用組合方式生成測試數據,操作人員可對生成的測試數據進行選擇性刪除,得到測試數據集。并對勾選的各下位機->總線設置發(fā)送時間間隔。點擊執(zhí)行按鈕,系統將生成的數據,按照總線設置的時間間隔進行發(fā)送[9]。

      4 軟件實驗結果分析

      以某信號處理設備測試為例,該設備總線為以太網,采用UDP通信協議。

      4.1 新建工程

      根據用戶指定的工程名和工程路徑新建測試工程。工程管理模塊對工程名和工程路徑進行校驗后在該路徑下生成默認的工程配置文件。

      圖6 新建工程

      4.2 總線配置

      用戶選擇總線配置,上位機軟件獲取BusConfig.xml中所有總線配置信息到總線配置界面顯示,用戶可進行瀏覽、新增、刪除、修改等操作。

      4.3 ICD配置

      用戶選擇消息格式配置,上位機軟件獲取MsgData.xml中所有消息格式配置信息到消息格式配置界面顯示,用戶可進行瀏覽、新增、刪除、修改等操作。

      圖7 總線配置 圖8 ICD消息配置

      4.4 用例設計

      選擇某一測試項,錄入測試名稱,用例描述,設置其周期發(fā)送自檢命令的前置條件。增加測試步驟1,選擇發(fā)送啟動命令數據,以及發(fā)送間隔時間,同時編輯其發(fā)送數據,如圖10。增加測試步驟2,接收反饋命令,并設置預期其反饋數據和超時時間。

      圖9 測試用例設計 圖10 手動發(fā)送界面/發(fā)送數據編輯

      4.5 測試執(zhí)行

      選擇執(zhí)行測試的用例,啟動測試執(zhí)行。由于接收數據超時,步驟2未通過。

      4.6 接收數據解析

      下位機軟件上傳數據包括接收的原始二進制數據,總線類型。上位機軟件根據總線類型、協議配置、解析配置等信息,多路數據總線仿真軟件獲取該報文的接口定義配置。

      圖11 測試執(zhí)行結果 圖12 數據解析結果

      5 結束語

      本文針對現有半實物仿真測試系統缺乏總線數據交互流程的模擬的問題,提出一種基于總線通信、總線數據收發(fā),以及基于數據收發(fā)流程控制的嵌入式總線接口測試系統設計思路。首先總體闡述了系統的功能設計、硬件設計、軟件設計,然后闡述了上位機軟件和下位機軟件的架構設計,并概述了各層模塊的功能和控制邏輯,最后介紹了數據封裝、數據解析、條件應答、測試用例設計、自動化測試執(zhí)行等重要功能實現原理。該系統已進行原型設計,可采用配置、零編碼的方式搭建測試環(huán)境,并已在多個型號項目中應用,提高了操作人員對測試環(huán)境搭建的效率,縮短了為項目定制開發(fā)仿真系統的時間,減少了開發(fā)定制仿真然間的人力資源。該系統集成測試用例設計和用例自動化執(zhí)行,縮短了測試人員回歸測試的時間。

      猜你喜歡
      接收數據機軟件下位
      沖激噪聲背景下基于幅度預處理的測向新方法*
      電訊技術(2021年10期)2021-11-02 01:25:36
      低復雜度多輸入多輸出雷達目標角度估計方法
      發(fā)射機房監(jiān)控系統之下位機
      單片機模擬串口數據接收程序的實現及優(yōu)化
      道岔監(jiān)測系統上位機軟件設計
      景洪電廠監(jiān)控系統下位機數據傳輸網絡改造
      圍觀黨“下位”,吐槽帝“登基”
      北京紀事(2016年5期)2016-05-07 13:17:02
      基于正交試驗法的北斗用戶機軟件測試用例設計
      PCI-e高速數據采集卡的驅動與上位機軟件設計
      電子器件(2015年5期)2015-12-29 08:43:12
      CAN總線并發(fā)通信時下位機應用軟件設計
      邵武市| 岑巩县| 洛阳市| 林芝县| 临清市| 沅江市| 沾益县| 锡林郭勒盟| 全州县| 奉节县| 温泉县| 定日县| 五常市| 内乡县| 巴东县| 枣阳市| 广水市| 临清市| 维西| 左云县| 界首市| 苍山县| 平湖市| 广昌县| 高陵县| 个旧市| 大竹县| 锦屏县| 洪江市| 舒兰市| 繁峙县| 娱乐| 清涧县| 海口市| 满洲里市| 白沙| 陆川县| 调兵山市| 准格尔旗| 轮台县| 上高县|