引言
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),能夠適應(yīng)實(shí)際應(yīng)用中對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。它是先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)以及電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物。在一些特定領(lǐng)域,它被要求能夠?qū)崟r(shí)響應(yīng)外部的請(qǐng)求并處理相應(yīng)的計(jì)算,最后把結(jié)果及時(shí)地反饋給用戶或者外設(shè)。隨著嵌入式應(yīng)用領(lǐng)域的迅速擴(kuò)大,人們對(duì)嵌入式軟件質(zhì)量提出了更高的要求,如何對(duì)日益復(fù)雜的嵌入式軟件進(jìn)行快速有效的測(cè)試成了目前的關(guān)注熱點(diǎn)。
1 設(shè)計(jì)原理
1.1 系統(tǒng)需求
本文采用的被測(cè)試嵌入式系統(tǒng)如圖1所示,是一套運(yùn)行有飛行控制軟件的嵌入式系統(tǒng)。它需要對(duì)飛行的姿態(tài)、軌跡做出計(jì)算,并通過總線的方式與舵機(jī)、發(fā)動(dòng)機(jī)、導(dǎo)引頭、慣性測(cè)量單元進(jìn)行交互。測(cè)試的對(duì)象為該嵌入式平臺(tái)上運(yùn)行的飛行控制軟件,其余的外設(shè)由測(cè)試系統(tǒng)仿真實(shí)現(xiàn)。本文主要討論測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。嵌入式系統(tǒng)所使用的核心器件是DSP芯片,它擁有多種接口,有1路A/D、1路D/A、8路開關(guān)量、2路串行422接口、2路串行485接口。通過各種接口的通信完成要求的功能。系統(tǒng)運(yùn)行后將長(zhǎng)時(shí)間處于每隔5ms與外設(shè)完成1次交互的狀態(tài),其中1次交互包括2次請(qǐng)求收發(fā)數(shù)據(jù)(狀態(tài)和控制數(shù)據(jù))、傳輸所有開關(guān)量、A/D的數(shù)據(jù)。測(cè)試系統(tǒng)具體要求如下:首先,由工控機(jī)(由測(cè)試系統(tǒng)模擬,如圖2所示)發(fā)送裝訂參數(shù)給嵌入式設(shè)備;接著,嵌入式設(shè)備根據(jù)裝訂參數(shù)進(jìn)行初始化,并處于等待命令狀態(tài);工控機(jī)發(fā)送開始運(yùn)行命令給嵌入式設(shè)備;嵌入式設(shè)備收到開始命令后,進(jìn)入周期循環(huán)狀態(tài)。
周期循環(huán)狀態(tài):
①嵌入式系統(tǒng)會(huì)向外部1號(hào)設(shè)備(由測(cè)試系統(tǒng)模擬)請(qǐng)求外設(shè)1控制數(shù)據(jù),外部1號(hào)設(shè)備需要在2 ms內(nèi)把數(shù)據(jù)發(fā)送給嵌入式系統(tǒng)。
②嵌入式系統(tǒng)會(huì)向外部2號(hào)設(shè)備(由測(cè)試系統(tǒng)模擬)請(qǐng)求外設(shè)2控制數(shù)據(jù),外部2號(hào)設(shè)備需要在2 ms內(nèi)把數(shù)據(jù)發(fā)送給嵌入式系統(tǒng)。
③上位機(jī)(由測(cè)試系統(tǒng)模擬)需要在發(fā)送完外設(shè)2的控制數(shù)據(jù)后的1 ms完成對(duì)嵌入式系統(tǒng)相關(guān)數(shù)據(jù)的采集。整個(gè)循環(huán)周期要求嚴(yán)格控制在5 ms以內(nèi)。
通信流程如圖3所示。
1.2 設(shè)計(jì)思想
設(shè)計(jì)一套能夠符合需求要求的測(cè)試系統(tǒng),對(duì)于測(cè)試系統(tǒng)有5點(diǎn)要求:第一,能夠及時(shí)響應(yīng)DSP以中斷方式的數(shù)據(jù)請(qǐng)求;第二,有足夠的性能解析數(shù)據(jù),發(fā)送數(shù)據(jù);第三,擁有良好的人機(jī)交互界面;第四,能夠管理測(cè)試過的用例及結(jié)果;第五,能夠靈活地增加故障,如通信故障、指令故障、數(shù)據(jù)故障。
較高實(shí)時(shí)性的要求使得在設(shè)計(jì)測(cè)試系統(tǒng)時(shí)大大增加了系統(tǒng)的復(fù)雜度和限制了可用的解決方案。Windows是一種分時(shí)操作系統(tǒng),處理中斷的能力不是很穩(wěn)定,有時(shí)候?qū)⒉荒軡M足嵌入式系統(tǒng)要求的條件。另外,分時(shí)操作系統(tǒng)定時(shí)器精度差,漂移現(xiàn)象嚴(yán)重,存在隱含的不確定的線程
調(diào)度機(jī)制。但是這里需要Windows操作系統(tǒng)上的一些高級(jí)特性,如功能強(qiáng)大的圖形化接口(GUI)支持,支持多種開發(fā)工具及應(yīng)用程序,眾多廉價(jià)的第三方硬件及驅(qū)動(dòng)的支持,豐富的Win32應(yīng)用程序接口。
RTX(Real-tline Extenslon for Control of Windows),是向Windows平臺(tái)加入了一個(gè)實(shí)時(shí)擴(kuò)展子系統(tǒng)(RTSS)。它獨(dú)立的基于搶占式的RTX線程調(diào)度機(jī)制允許RTSS線程優(yōu)先于所有的Windows線程和中斷,持續(xù)中斷響應(yīng)頻率30 kHz以上,最大IST處理延遲不超過16μs;提供高速準(zhǔn)確的實(shí)時(shí)時(shí)間響應(yīng),定時(shí)器最小周期為100μs,時(shí)鐘最小分辨率為100 ns。特別適合于飛行模擬器、復(fù)雜視頻監(jiān)控系統(tǒng)、視頻圖像處理、轉(zhuǎn)臺(tái)、機(jī)器人、導(dǎo)彈發(fā)射裝置、火炮等典型的既有圖形又要求實(shí)時(shí)的控制伺服系統(tǒng)。它是一種基于Windows平臺(tái)的硬實(shí)時(shí)解決方案。Wirldows處
理人機(jī)接口等通用GUI任務(wù),實(shí)時(shí)擴(kuò)展子系統(tǒng)用于進(jìn)行實(shí)時(shí)控制和實(shí)時(shí)的數(shù)據(jù)采集,它們之間的數(shù)據(jù)傳遞機(jī)制通過進(jìn)程間通信的方式,應(yīng)用共享內(nèi)存、信號(hào)量等機(jī)制實(shí)現(xiàn)。
綜上考慮,給出兩種設(shè)計(jì)方案。
2 設(shè)計(jì)方案
2.1 Windcws+RTX(工控機(jī)+接口卡)
Windows+RTX方案如圖4所示,此種設(shè)計(jì)方案軟件部分分為3層。
Windows用戶界面層。在Windows操作系統(tǒng)上開發(fā)部分軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)的管理、用例的添加、運(yùn)行結(jié)果的保存,提供一套優(yōu)秀界面呈現(xiàn)給用戶。
RTX邏輯控制層。主要負(fù)責(zé)用例運(yùn)行,實(shí)時(shí)地與被測(cè)系統(tǒng)交互,滿足被測(cè)系統(tǒng)相關(guān)數(shù)據(jù)的請(qǐng)求,保存被測(cè)系統(tǒng)發(fā)出的狀態(tài)數(shù)據(jù)。
外設(shè)驅(qū)動(dòng)層。為了滿足對(duì)系統(tǒng)100%的測(cè)試,還需要有測(cè)試系統(tǒng)與被測(cè)系統(tǒng)之間的通信接口卡。從硬件劃分包括1臺(tái)工控機(jī)、2塊ISA總線RS422通信卡、2塊PCI總線RS485通信卡、1塊A/D卡、開關(guān)量采集卡、D/A卡。這些硬件板卡通過ISA、PCI總線的方式連接到測(cè)試平臺(tái)里,測(cè)試平臺(tái)管理所有板卡的驅(qū)動(dòng)程序,使其與被測(cè)系統(tǒng)形成閉環(huán)。
這樣,3層的軟件結(jié)構(gòu)就能夠順利地運(yùn)行用例,實(shí)現(xiàn)對(duì)系統(tǒng)的完整的功能測(cè)試。
2.2 Windows+Verilog(工控機(jī)+FPGA板卡+接口芯片)
第2套方案使用的是Windows+Verilog,如圖5所示。在這種方案中,使用FPGA來管理各個(gè)接口,并通過PCI總線與工控機(jī)通信。PCI總線能夠把各種接口的數(shù)據(jù)上傳到工控機(jī),同時(shí)把工控機(jī)的數(shù)據(jù)下載到被測(cè)試系統(tǒng)上。
系統(tǒng)也是3層結(jié)構(gòu),上兩層與第1種方案基本一樣,但在外設(shè)驅(qū)動(dòng)層上不再是從多塊板卡之間取數(shù)送數(shù),而是單一地與FPGA板卡通過制定好的協(xié)議進(jìn)行通信,而后的接口芯片采集、編碼等工作都交給FPGA完成。
3 方案比較
3.1 兩種方案優(yōu)缺點(diǎn)比較
表1詳細(xì)比較了上述2套方案的優(yōu)缺點(diǎn)。第2種設(shè)計(jì)方案中,因?yàn)橛辛薋PGA器件,使得原來考慮不周的設(shè)計(jì)可以只重新配置硬件就得以修改,減少重新制版的周期、經(jīng)費(fèi)等一系列不確定因素,達(dá)到更廣泛的測(cè)試目的。
3.2 不同操作系統(tǒng)優(yōu)缺點(diǎn)比較
此外,方案的實(shí)行也可以考慮在工控機(jī)上直接運(yùn)行一些實(shí)時(shí)操作系統(tǒng),如DOS、VxWorks等等。DOS是單任務(wù)實(shí)時(shí)系統(tǒng),人機(jī)交互界面差,沒有網(wǎng)絡(luò)功能。表2比較了Windows+RTX和VxWorks兩種方案的優(yōu)缺點(diǎn)。
4 用例管理軟件設(shè)計(jì)
在軟件上層,需要設(shè)計(jì)出帶有數(shù)據(jù)庫(kù)的用例管理系統(tǒng),它需要管理用例的定義、簡(jiǎn)介、組別、運(yùn)行時(shí)間、過程數(shù)據(jù)、結(jié)果數(shù)據(jù),并能夠作用例回歸測(cè)試的用例管理層。用例運(yùn)行前需要收集用戶輸入的各種參數(shù),并從相應(yīng)的文件位置提前把相關(guān)數(shù)據(jù)讀取到內(nèi)存里,提前準(zhǔn)備數(shù)據(jù)。用例運(yùn)行時(shí),RTX層會(huì)有相應(yīng)的CPU空閑時(shí)間,而用例管理層會(huì)利用這段時(shí)間進(jìn)行運(yùn)行狀態(tài)的顯示。用例運(yùn)行結(jié)束后,相應(yīng)的標(biāo)志位會(huì)被置位,用例管理層讀到相應(yīng)的狀態(tài)后會(huì)主動(dòng)向RTX層索要運(yùn)行的各種數(shù)據(jù)和結(jié)果,并把相應(yīng)的數(shù)據(jù)存入數(shù)據(jù)庫(kù),寫入日志,并呈現(xiàn)到界面上。
結(jié)語(yǔ)
試驗(yàn)證明,上述設(shè)計(jì)的測(cè)試系統(tǒng)在整機(jī)聯(lián)調(diào)過程中運(yùn)行狀態(tài)良好,符合對(duì)系統(tǒng)各個(gè)模塊功能全面測(cè)試的要求。本文針對(duì)目前嵌入式系統(tǒng)測(cè)試這一熱點(diǎn)問題,提出了1種實(shí)時(shí)嵌入式軟件的測(cè)試系統(tǒng)的結(jié)構(gòu)框架,并且按照這個(gè)思路實(shí)現(xiàn)了對(duì)黑盒(功能)測(cè)試的測(cè)試系統(tǒng)。下一步工作就是開發(fā)1個(gè)嵌入式軟件的通用測(cè)試平臺(tái),能夠同時(shí)對(duì)多種型號(hào)、多種接口的嵌入式系統(tǒng)進(jìn)行測(cè)試。此方案也適用于視頻圖像處理、視頻監(jiān)控系統(tǒng)。
評(píng)論
查看更多