1.裝置組成
ETst_USB系統主要由硬體部分與軟體部分組成。硬體部分包括1553B闆卡、RS232/422/485闆卡、CAN總線闆卡、AD采集闆卡、DA轉換闆卡、DI/DO闆卡等。所有硬體闆卡均采用USB的接口形式,進而靈活便攜,能适應多種測試環境搭建的需要,同時也有利于充分利用現有的測試資源。軟體部分由測試設計軟體子產品、測試執行服務軟體子產品、測試執行用戶端軟體子產品、裝置資源管理軟體子產品等主要軟體子產品以及曲線資料生成、CRC插件生成與診斷、測試資料記錄與檢視、應用協定生成工具、應用協定模闆管理、測試報告生成等系列工具組成。系統架構如下圖所示。
使用ETest_USB平台進行裝備嵌入式系統軟體測試的步驟如下圖所示:
首先使用測試設計軟體建立待測系統模型、設計測試用例及資料、生成測試目标檔案。
然後利用CAN、RS232等各類通信闆卡形成适合于待測單配置嵌入式裝置或待測嵌入式系統的适配接口,連接配接到待測系統。
接下來使用測試執行服務軟體讀取測試目标檔案;測試執行服務軟體驅動測試執行用戶端軟體,測試執行用戶端軟體将測試資料轉換為各類闆卡的輸出資料輸出到被測對象,進而驅動被測對象的軟體運作。
同時,被測對象運作所産生的輸出資料發送到通信闆卡接口,通過測試執行用戶端軟體進入測試執行服務軟體中。在測試過程中可以通過測試資料記錄與檢視軟體和測試監控軟體對測試資料進行監控、分析與評估。
ETest_USB采用構件化分層的軟體開發架構,軟體使用Visual Studio 2010開發環境,底層代碼采用VC++語言開發,內建架構基于Micosoft .Net 4.0,內建開發語言使用C#,形成如下圖所示的分層結構。
ETest_USB軟體由伺服器軟體與用戶端軟體形成C/S結構的軟體,用戶端軟體負責運作與通信闆卡的互動,伺服器軟體負責實作測試設計與測試執行排程,一個伺服器與多個用戶端可以形成不同規模層次的測試系統,以確定滿足不同規模的測試需求。
軟體架構共分為5層,分别為裝置驅動服務層、通信服務層、協定服務層、應用服務層和應用層,通過這5層結構,實作了軟體的構件化與子產品化,確定能夠适應快速變化的測試需求。
驅動層服務層用于在作業系統中安裝闆卡所帶的各種驅動,包括RS232、RS422、RS485、CAN、AD/DA等裝置的驅動,實作系統對所有硬體裝置的統一管理,通過驅動服務層,測試平台将複雜的硬體裝置管理進行封裝與統一。
通信服務層用于在驅動層的基礎上,封裝成程式程式設計接口,以屏蔽不同的硬體裝置通信程式設計接口的不同,通信服務層包括CAN通信、RS232通信、RS422通信、RS485通信等,通過通信服務層可以確定上層應用軟體進行調用通信時能夠統一實作。
協定服務層用于對通信協定進行描述與解析,包括DPD語言編譯服務、協定模型抽象、通道模型抽象、資料類型抽象、條件邏輯抽象、計算模型抽象、數組模型抽象、校驗模型抽象、校驗算法接口模型等,通過協定服務層,實作了應用服務層的通信協定編解碼。
應用服務層通過系列應用構件為實作測試平台的主體應用奠定了基礎,包括了測試方案、測試項目、仿真模型繪制、通道管理、協定管理、外圍裝置、監控設計、監控運作時、I/O中心、中繼資料伺服器、腳本解析、用戶端管理、時序處理、多線程服務、資料對象編碼/解碼等。
應用層是ETest_USB測試平台的主體應用部分,包括測試設計軟體、測試執行服務軟體、測試執行客戶程序與資料監控軟體、裝置資源管理軟體以及一些工具輔助軟體。
2.各子產品主要功能
(1)硬體部分
ETest_USB硬體部分采用USB形式的便攜式接口闆卡,直接通過USB連接配接到測試主機中,構成可滿足多種類型接口要求的測試環境。主要硬體部分的名額如下:
① ARINC429子產品
通道配置:2發2收
支援100K/50K/48K/12.5KBPS及使用者自定義波特率
支援FIFO和Schedule兩種發送模式
支援SDI和Label兩種接收過濾模式
支援Time Stamping
支援中斷、外觸發
② 1553B子產品
完全遵守MIL-STD-1553B協定
單通道多功能
支援1M波特率
通道為雙備援的A、B通道
幀間隔和消息間隔時間可軟體設定
支援時間戳,分辨率1μs
支援自測試、錯誤注入
支援中斷、支援外觸發
③ RS232/422/485序列槽子產品
通訊協定:異步RS232/422/485可軟體設定
通道數:RS232/422/485各2路
波特率,125kbps
④ CAN子產品
相容CAN2.0A和CAN2.0B協定,支援标準幀和擴充幀;
通道數:2
支援雙向傳輸,CAN發送、CAN接收
DC2500V電氣隔離保護
支援資料幀,遠端幀格式;
CAN控制器波特率在5Kbps-1Mbps之間可選,可配置;
⑤ AD子產品
32路單端/16路差分輸入
單通道采樣率最高1MSPS
ADC分辨率:16bit
外觸發功能
⑥ DA子產品
4通道輸出
DAC分辨率:16bit
⑦ 光隔離離散量I/O子產品
16通道DIDO
每通道光電隔離
⑧ 測試主機
CPU: 雙核 i5-6200U 2.3GHz
記憶體:DDR4 2133MHz,8GB
固态硬碟:256GB
顯示螢幕:14英寸,分辨率1920*1080
獨立顯存:2GB
(2)測試設計軟體子產品
測試設計軟體子產品對待測系統及其對外接口進行模組化,進行協定編輯及分析、建立測試監控、建立硬體規劃、建立及管理測試用例,确定測試要準備的接口裝置數量。其主要功能包括:
進行測試方案管理,針對測試方案的操作有:建立方案、打開方案、儲存方案。
每個測試方案中,可以包含一個到多個測試項目,多個測試項目的存在使得每個測試方案可以完成多個測試項目的設計,便于開展多個配置項到系統的內建測試。
測試項目有建立、重命名、删除和檢視屬性的操作。
用圖形化的方式對被測系統、外圍系統及被測系統對外接口進行描述,包括接口數量和接口類型,包括RS422、1553B、CAN、AD、DA、DI、DO、CT、Freq-CT、TCP等類型;能夠設定接口參數。
建立接口協定,并使用協定描述語言進行協定描述,包括封包標頭、包尾、校驗等,描述各個字段類型及編碼方式,以及分支、循環等結構。
為了适應各種資料通信的需要,協定字段具有豐富的類型,包括:整形(無符号和有符号,8位/16位/32位/自定義長度)、浮點型、布爾類型、條件語句類型、分支語句類型、計算字段、校驗字段、數組字段。
建立測試監控,描述實時資料監控的監控内容和顯示形式,并可設定報警條件。
使用者可以在測試監控子產品添加測試監控并在監控面闆上添加資料監控儀器,通過不同的類型監控儀器綁定協定字段或者字段按照某種公式運算的結果,進而在運作時通過監控儀器指針或數值的改變直覺地顯示出測試通訊時資料的變化。
測試監控工具欄管理所有的測試監控儀表,包括數字表儀器,圓盤儀表,曲線圖,枚舉類型等。選擇合适的監控儀表,将其拖拽到監控面闆的合适的位置,即可添加該監控儀表到監控面闆上。用滑鼠拖拽監控儀表的邊緣,即可調整其大小。
打開“屬性”标簽頁,可以修改測試儀表的屬性。其中最重要的屬性是“協定段”屬性,表明了該監控儀表的資料來源。
通過“協定段”屬性右側的展開按鈕,可以打開“綁定資料協定”對話框,其中顯示目前項目中的仿真模型中的所有的協定和協定段。
測試儀表的資料源,既可以是一個協定字段,也可以是若幹個協定字段組成的公式。
在“綁定資料協定”對話框下部的輸入框中輸入協定字段,或協定字段組成的公式。輕按兩下需要的字段名稱,可以添加該字段名稱到自定義公式的光标所在位置。
建立測試硬體規劃,确定測試需要使用的接口闆卡裝置,以及接口闆卡裝置對應的資源。
建立測試用例,并提供測試用例的管理方式,包括分組、删除、重命名等。
建立測試用例的内容,包括使用測試腳本描述測試的過程,包括變量定義、條件語句、循環語句、輸出語句、數學運算、函數定義等。
提供測試腳本的擴充接口,能夠實作向待測件的資料互動和資料自動解析,将比特流解析成具有意義的應用層資料。
提供時序控制的方式,能夠按照一定的時序進行規定的操作。
提供運作環境設定方式,設定測試運作期間的仿真模型伺服器、資料中心伺服器、測試執行伺服器和用戶端的IP位址和端口号。
提供對标準輸入輸出監控進行配置的功能,确定标準輸入輸出監控的類别配置。
提供測試腳本執行方式,能夠運作使用者選擇的測試腳本;使用者能夠選擇終止腳本運作。
能夠檢視輸出資訊及錯誤資訊。
(3)測試執行服務軟體子產品
測試執行軟體子產品為自動化測試執行軟體的主要部分,與用戶端軟體相配合,驅動測試資料,進行自動化測試執行。主要實作以下功能:
提供程序排程服務背景運作程式,在程序排程代理的幫助下,根據測試設計軟體的設計,在測試主機上啟動測試執行、用戶端、伺服器等程序,并通過程序排程服務協調各個軟體的運作邏輯。
提供仿真模型伺服器背景運作程式,通過仿真模型伺服器解析測試設計所建立的仿真模型,實作測試執行時資料收發的仿真解析服務。
提供資料中心伺服器背景運作程式,在測試用例執行過程中,在資料中心伺服器中集中統一處理通道中的收發收據,確定資料監控的分布式實作。
提供用例伺服器背景運作程式,解析處理測試設計中所編寫測試用例的執行過程。
提供标準輸入輸出監控視窗程式,可以顯示仿真模型伺服器、資料中心伺服器、客戶程序以及用例伺服器運作過程中的調試資訊。
解析測試腳本中的變量定義、條件語句、循環語句、輸出語句、數學運算、函數定義等語句,進行相應的操作。
解析測試腳本擴充接口,實作向待測系統進行資料發送/接受和資料解析。
解析測試腳本,按照時序控制要求進行操作。
向用戶端軟體發送的測試資料注入包;接收用戶端軟體所發送的測試資料輸出包。
按照使用者要求即時停止測試用例的執行。
記錄并顯示測試用例的執行結果。
(4)測試執行客戶程序及資料監控子產品
測試執行客戶程序及資料監控子產品運作在測試主機。主要實作以下功能:
提供裝置驅動功能,實作1553B、CAN、RS422、RS232、AD/DA/DI/DO等接口闆卡的驅動能力。
測試執行客戶軟體同測試執行軟體均運作在測試主機,采用記憶體機制交換資料。
同被測件通信使用測試設計軟體中配置好的通信參數。
提供友善的硬體闆卡擴充方式,友善新的硬體闆卡的內建。
接收來自測試執行軟體發送的測試資料注入包,進行資料格式的轉換,并通過通信闆卡發送到待測件。
接收來自被測件發送的測試資料輸出包,并轉發到測試執行軟體。
登入測試服務軟體後,顯示測試設計軟體設計的全部測試監控界面,可選擇一個或多個測試監控面闆進行測試監控。
運作指定的測試監控,在測試執行過程中實時顯示指定的測試資料,提供數字儀器、儀表盤、枚舉項、曲線圖等資料監控方式。
可以實時顯示測試執行中的測試資料;
可以以解析後的協定資料格式顯示測試資料,也可以以二進制、八進制、十六進制顯示測試資料。
可以設定資料過濾條件,實作界面顯示特定資料的功能。
可以設定資料報警條件,當出現某種特性資料時,軟體以醒目的形式顯示出滿足報警條件的資料。
可以進行資料查詢,可以查詢某個時間段的封包,也可以查詢某個協定字段的資料。
可以對指定的資料進行統計,也可以檢視資料曲線圖。
(5)裝置資源管理軟體子產品
裝置資源管理軟體子產品提供了系統支援的測試裝置及通道的管理功能,提供了系統裝置擴充的接口。其主要實作以下功能:
添加、删除系統裝置。
修改系統裝置的數量。
添加、删除裝置包含的通道。
修改裝置包含的通道的數量及類型。
儲存裝置資訊到裝置資源檔案中,在測試設計軟體中使用。
(6)輔助工具
工具軟體提供了嵌入式系統測試時部分常用的軟體工具,主要包括以下軟體子產品:
曲線資料生成工具;
具有曲線資料編輯、坐标選擇、曲線資料讀取、曲線資料存儲等功能,配合測試執行軟體,提供一種測試資料生成手段。
測試資料記錄與檢視工具;
在測試執行時,可記錄測試執行中的資料,供測試執行結束後檢視與分析,包括協定選擇、資料過濾、報警條件設定功能。
應用協定生成工具;
提供應用協定的表格化編輯功能,可以設定協定的字段組成、字段類型、字段預設取值等。
CRC插件診斷器與CRC插件生成器
提供CRC校驗算法的設計功能,可設計自定義的CRC算法,診斷其算法正确性,并最終形成協定描述語言中的CRC字段算法插件。