新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于某航空電子設(shè)備的自動(dòng)測試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

基于某航空電子設(shè)備的自動(dòng)測試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2012-04-17 來源:網(wǎng)絡(luò) 收藏




各層實(shí)現(xiàn)功能如下:

硬件層 安裝有實(shí)現(xiàn)具體測試功能的適配卡、數(shù)據(jù)采集卡和串口,這些硬件設(shè)備是測試實(shí)現(xiàn)的核心,其通過J18C型電連接器,D型接口等與被測設(shè)備相連。

物理接口層 主要是指主機(jī)內(nèi)采集卡提供的資源接口,另一方面它們主要通過ISA或PCI總線訪問測試主機(jī)的板卡。同時(shí)物理接口層還包含相關(guān)接口卡I/O操作的“軟性驅(qū)動(dòng)”。

硬件驅(qū)動(dòng)層 提供上層軟件訪問板卡硬件的方法,是軟硬件通訊的橋梁。測試系統(tǒng)中,所有驅(qū)動(dòng)都采用WDM編程技術(shù)。

軟件支持層 它是系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的核心,涉及到對硬件訪問功能封裝的API函數(shù),對測試系統(tǒng)界面支持的導(dǎo)出類,對數(shù)據(jù)處理的算法、對硬件功能的封裝(初始化,中斷句柄傳遞,重置等),對動(dòng)態(tài)連接庫的設(shè)計(jì)布置等。各個(gè)功能模塊負(fù)責(zé)各功能的實(shí)現(xiàn)并最終交給主線程綜合控制模塊來處理,其模塊化設(shè)計(jì)為軟件增添了靈活性和可靠性等諸多的優(yōu)勢。

用戶應(yīng)用層 為用戶提供簡捷易用的可視化圖形界面操作流程,并減少了誤操作的可能。應(yīng)用層當(dāng)中值得注意的幾點(diǎn)分別是:報(bào)表的生成、保存和打印需要用到CView類提供相關(guān)的成員虛函數(shù)來實(shí)現(xiàn),文字與表格線條輸出采用CDC類實(shí)現(xiàn),測試數(shù)據(jù)的保存需要用到CDocument類提供的服務(wù)對存儲(chǔ)串行化成員函數(shù)Serialize(CArchivear)的重載來實(shí)現(xiàn),而幫助文檔視圖則是通過HtmlView基類來實(shí)現(xiàn)的。整個(gè)軟件視圖設(shè)計(jì)采用多視圖構(gòu)架,特點(diǎn)是清晰且易操作。

3.3軟件設(shè)計(jì)流程

這里介紹了測試系統(tǒng)手動(dòng)調(diào)試測試的一般流程。測試的一般步驟包括軟件初始化,測試系統(tǒng)自身軟硬件自檢,被測設(shè)備狀態(tài)切換的測試,觀測返回?cái)?shù)字信號和波形,模擬電機(jī)驅(qū)動(dòng)信號控制電機(jī)旋轉(zhuǎn),最后保存結(jié)果。其簡要的軟件流程如圖3所示。而對于來講,實(shí)質(zhì)上就是按照一定的工作流程和被測設(shè)備的工作狀態(tài)切換來進(jìn)行自主自動(dòng)化的測試,總體的過程與手動(dòng)調(diào)試測試相似,并生成測試報(bào)表進(jìn)行記錄保存。

3.4軟件設(shè)計(jì)相關(guān)關(guān)鍵技術(shù)

3.4.1 面向?qū)ο笈c文檔視圖技術(shù)

文檔和視圖分離是MFC編程推薦的一種程序結(jié)構(gòu)。在這種結(jié)構(gòu)下,視圖類處理跟界面有關(guān)的內(nèi)容,而文檔類處理跟存儲(chǔ)有關(guān)的內(nèi)容,兩者通過GetDocument函數(shù)相關(guān)聯(lián)。這樣處理給編程帶來了很多好處,首先這種方法強(qiáng)調(diào)了模塊化的思想,兩個(gè)類中分別處理不同的任務(wù),而需要數(shù)據(jù)交換時(shí)再相關(guān),因此提高了程序的模塊化;其次兩個(gè)類中都有很多各自的支持類和函數(shù),特別是視圖類,這樣就不互相影響,最大方便地實(shí)現(xiàn)每個(gè)類的功能。

3.4.2 多線程相關(guān)技術(shù)

測試軟件實(shí)現(xiàn)中采用多線程處理技術(shù)來調(diào)度多達(dá)4個(gè)組件共同測試的流程,同時(shí)數(shù)據(jù)采集與波形顯示的同步也采用了多線程間的同步來進(jìn)行協(xié)調(diào)。當(dāng)然這些線程具體調(diào)度由操作系統(tǒng)完成,但從用戶角度來看是同時(shí)并行運(yùn)行的。Windows環(huán)境中系統(tǒng)通過時(shí)間片輪流的方式實(shí)現(xiàn)多線程,CPU為每個(gè)線程分配一個(gè)時(shí)間片,每個(gè)線程從被激活起,運(yùn)行到時(shí)間片被耗盡為止,此時(shí)另一個(gè)線程運(yùn)行。軟件設(shè)計(jì)時(shí)只需要將用戶界面消息循環(huán)和數(shù)據(jù)采集、處理分配在不同線程上,就可以避免計(jì)算機(jī)長時(shí)間不響應(yīng)操作的問題。在軟件具體設(shè)計(jì)過程中,使用了測試線程和界面線程。界面線程為主控線程,控制測試線程的開啟、掛起和結(jié)束,提供消息循環(huán)并負(fù)責(zé)界面的生成和程序與用戶的交互。測試線程為工作者線程,實(shí)現(xiàn)具體的測試功能,包括數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)入庫等。另外,系統(tǒng)自檢測和模塊也單獨(dú)各占有一個(gè)線程從而大大提高了測試系統(tǒng)的運(yùn)行效率。





評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉