摘要:主要介紹針對高實時性的嵌入式產品而開發(fā)的測試系統(tǒng)的設計,簡單介紹了被測試系統(tǒng)的特性,從整個測試系統(tǒng)的設計思想、設計原理,包括軟件和硬件等方面,給出詳細的介紹。另外,比較了不同方案設計的優(yōu)缺點,為開發(fā)同類測試系統(tǒng)提供幾種不同的思路。最后簡單討論了本文使用的用例管理軟件。
引言
嵌入式系統(tǒng)是以應用為中心,以計算機技術為基礎,能夠適應實際應用中對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統(tǒng)。它是先進的計算機技術、半導體技術以及電子技術與各個行業(yè)的具體應用相結合的產物。在一些特定領域,它被要求能夠實時響應外部的請求并處理相應的計算,最后把結果及時地反饋給用戶或者外設。隨著嵌入式應用領域的迅速擴大,人們對嵌入式軟件質量提出了更高的要求,如何對日益復雜的嵌入式軟件進行快速有效的測試成了目前的關注熱點。
1 設計原理
1.1 系統(tǒng)需求
本文采用的被測試嵌入式系統(tǒng)如圖1所示,是一套運行有飛行控制軟件的嵌入式系統(tǒng)。它需要對飛行的姿態(tài)、軌跡做出計算,并通過總線的方式與舵機、發(fā)動機、導引頭、慣性測量單元進行交互。測試的對象為該嵌入式平臺上運行的飛行控制軟件,其余的外設由測試系統(tǒng)仿真實現。本文主要討論測試系統(tǒng)的設計與實現。嵌入式系統(tǒng)所使用的核心器件是DSP芯片,它擁有多種接口,有1路A/D、1路D/A、8路開關量、2路串行422接口、2路串行485接口。通過各種接口的通信完成要求的功能。系統(tǒng)運行后將長時間處于每隔5ms與外設完成1次交互的狀態(tài),其中1次交互包括2次請求收發(fā)數據(狀態(tài)和控制數據)、傳輸所有開關量、A/D的數據。測試系統(tǒng)具體要求如下:首先,由工控機(由測試系統(tǒng)模擬,如圖2所示)發(fā)送裝訂參數給嵌入式設備;接著,嵌入式設備根據裝訂參數進行初始化,并處于等待命令狀態(tài);工控機發(fā)送開始運行命令給嵌入式設備;嵌入式設備收到開始命令后,進入周期循環(huán)狀態(tài)。
周期循環(huán)狀態(tài):
①嵌入式系統(tǒng)會向外部1號設備(由測試系統(tǒng)模擬)請求外設1控制數據,外部1號設備需要在2 ms內把數據發(fā)送給嵌入式系統(tǒng)。
②嵌入式系統(tǒng)會向外部2號設備(由測試系統(tǒng)模擬)請求外設2控制數據,外部2號設備需要在2 ms內把數據發(fā)送給嵌入式系統(tǒng)。
③上位機(由測試系統(tǒng)模擬)需要在發(fā)送完外設2的控制數據后的1 ms完成對嵌入式系統(tǒng)相關數據的采集。整個循環(huán)周期要求嚴格控制在5 ms以內。
通信流程如圖3所示。
1.2 設計思想
設計一套能夠符合需求要求的測試系統(tǒng),對于測試系統(tǒng)有5點要求:第一,能夠及時響應DSP以中斷方式的數據請求;第二,有足夠的性能解析數據,發(fā)送數據;第三,擁有良好的人機交互界面;第四,能夠管理測試過的用例及結果;第五,能夠靈活地增加故障,如通信故障、指令故障、數據故障。
較高實時性的要求使得在設計測試系統(tǒng)時大大增加了系統(tǒng)的復雜度和限制了可用的解決方案。Windows是一種分時操作系統(tǒng),處理中斷的能力不是很穩(wěn)定,有時候將不能滿足嵌入式系統(tǒng)要求的條件。另外,分時操作系統(tǒng)定時器精度差,漂移現象嚴重,存在隱含的不確定的線程調度機制。但是這里需要Windows操作系統(tǒng)上的一些高級特性,如功能強大的圖形化接口(GUI)支持,支持多種開發(fā)工具及應用程序,眾多廉價的第三方硬件及驅動的支持,豐富的Win32應用程序接口。
RTX(Real-tline Extenslon for CONTROL of Windows),是向Windows平臺加入了一個實時擴展子系統(tǒng)(RTSS)。它獨立的基于搶占式的RTX線程調度機制允許RTSS線程優(yōu)先于所有的Windows線程和中斷,持續(xù)中斷響應頻率30 kHz以上,最大IST處理延遲不超過16μs;提供高速準確的實時時間響應,定時器最小周期為100μs,時鐘最小分辨率為100 ns。特別適合于飛行模擬器、復雜視頻監(jiān)控系統(tǒng)、視頻圖像處理、轉臺、機器人、導彈發(fā)射裝置、火炮等典型的既有圖形又要求實時的控制伺服系統(tǒng)。它是一種基于Windows平臺的硬實時解決方案。Wirldows處理人機接口等通用GUI任務,實時擴展子系統(tǒng)用于進行實時控制和實時的數據采集,它們之間的數據傳遞機制通過進程間通信的方式,應用共享內存、信號量等機制實現。