亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種數(shù)字圖像接收測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2013-10-21 00:54:10李冠林苗克堅(jiān)
        電子設(shè)計(jì)工程 2013年13期
        關(guān)鍵詞:中間層數(shù)字圖像驅(qū)動(dòng)程序

        李冠林,苗克堅(jiān)

        (西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710072)

        在航空電子設(shè)備的研制過(guò)程中,通常需要對(duì)目標(biāo)設(shè)備進(jìn)行全面的測(cè)試。設(shè)備測(cè)試通過(guò)對(duì)目標(biāo)設(shè)備發(fā)送激勵(lì)信號(hào),接收并記錄目標(biāo)設(shè)備的輸出信號(hào)。通過(guò)對(duì)反饋信號(hào)的分析,測(cè)試目標(biāo)設(shè)備功能的完整性、邏輯的正確性、整體運(yùn)行性能、以及可靠性和實(shí)時(shí)性。鑒于對(duì)設(shè)備可維護(hù)性的考慮,測(cè)試過(guò)程通常要求進(jìn)行全程的測(cè)試數(shù)據(jù)記錄,以便在檢測(cè)到設(shè)備故障時(shí)進(jìn)行現(xiàn)場(chǎng)恢復(fù)和故障定位。用于測(cè)試的設(shè)備通常采用工業(yè)控制計(jì)算機(jī)作為設(shè)備主機(jī),安裝各種總線(xiàn)通信擴(kuò)展卡、信號(hào)采集卡、數(shù)字I/O 卡完成激勵(lì)信號(hào)的輸出和反饋信息的收集[1]。

        論文以測(cè)試設(shè)備對(duì)目標(biāo)設(shè)備的圖像板進(jìn)行測(cè)試為背景,提出了一種基于CPCI 總線(xiàn),以L(fǎng)VDS 接口卡為數(shù)據(jù)接收卡,通過(guò)DMA 驅(qū)動(dòng)程序快速的提取接口卡的數(shù)據(jù)并提交給用戶(hù)程序的設(shè)計(jì)方案。該方案符合設(shè)計(jì)要求,滿(mǎn)足用戶(hù)需求。

        1 測(cè)試系統(tǒng)需求分析

        為滿(mǎn)足目標(biāo)設(shè)備圖像板測(cè)試的需求,該測(cè)試系統(tǒng)采用CPCI 總線(xiàn)接口的專(zhuān)用測(cè)試卡和LVDS 信號(hào)傳輸模式,使其傳輸速度高和抗干擾性強(qiáng)[2]。由于目標(biāo)設(shè)備發(fā)送圖像數(shù)據(jù)速率快,設(shè)備需要采用DMA 方式傳輸LVDS 接口卡接收到的數(shù)據(jù)。最后,測(cè)試設(shè)備要將接收的數(shù)字圖像數(shù)據(jù)以圖像的形式在用戶(hù)界面上顯示出來(lái),便于判斷圖像板的工作狀態(tài)。

        要想完成以上的測(cè)試,需要做好以下幾個(gè)方面。首先該測(cè)試系統(tǒng)應(yīng)能夠?qū)y(cè)試設(shè)備進(jìn)行自檢,確保測(cè)試設(shè)備工作是正常;其次DMA 驅(qū)動(dòng)程序能夠正確地接收全部數(shù)字圖像數(shù)據(jù);最后測(cè)試系統(tǒng)能夠?qū)崟r(shí)的顯示圖像。

        2 總體設(shè)計(jì)

        該測(cè)試系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖如圖1 所示,在對(duì)目標(biāo)設(shè)備的圖像板進(jìn)行測(cè)試時(shí),首先測(cè)試系統(tǒng)對(duì)目標(biāo)設(shè)備加電;接著目標(biāo)設(shè)備的圖像板開(kāi)始發(fā)送圖像數(shù)據(jù),測(cè)試系統(tǒng)通過(guò)LVDS 接口卡接收?qǐng)D像數(shù)據(jù);然后測(cè)試系統(tǒng)通過(guò)DMA 驅(qū)動(dòng)程序提取LVDS 接口卡中的數(shù)字圖像數(shù)據(jù);最后測(cè)試系統(tǒng)處理圖像數(shù)據(jù),同時(shí)把圖像顯示到用戶(hù)圖像區(qū)。

        圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure diagram of test system

        3 測(cè)試系統(tǒng)硬件設(shè)計(jì)

        測(cè)試系統(tǒng)硬件主要由工控機(jī)、LVDS 接口卡、電源板和目標(biāo)設(shè)備組成。系統(tǒng)硬件結(jié)構(gòu)圖如圖2 所示。工控機(jī)是設(shè)備的核心,包含控制器和機(jī)箱。LVDS 接口卡主要負(fù)責(zé)數(shù)字圖像的接收,其CPCI 總線(xiàn)接口的實(shí)現(xiàn)采用PLX 的協(xié)議芯片PCI-9054,該芯片實(shí)現(xiàn)CPCI 總線(xiàn)與局部總線(xiàn)的橋接,并提供對(duì)DMA 方式傳輸數(shù)據(jù)的支持。電源板主要負(fù)責(zé)為目標(biāo)設(shè)備提供高效、穩(wěn)定的+12 V 電源。

        圖2 系統(tǒng)硬件結(jié)構(gòu)圖Fig.2 Structure diagram of the hardware system

        4 測(cè)試系統(tǒng)軟件設(shè)計(jì)

        測(cè)試系統(tǒng)軟件部分采用分層設(shè)計(jì)的思想,從上到下依次為:用戶(hù)層、中間層和DMA 驅(qū)動(dòng)層,具體結(jié)構(gòu)框架如圖3所示。

        圖3 系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)圖Fig.3 Schematic diagram of the software test system

        用戶(hù)層負(fù)責(zé)數(shù)字圖像的處理和實(shí)時(shí)顯示,該層使用中間層提供的服務(wù)接口,對(duì)底層的圖像數(shù)據(jù)進(jìn)行提?。恢虚g層為用戶(hù)層提供服務(wù),使用戶(hù)只能看見(jiàn)中間層提供的服務(wù)而無(wú)法看見(jiàn)底層的操作,底層的操作對(duì)用戶(hù)來(lái)講是透明的,同時(shí)該層功能的實(shí)現(xiàn)需要DMA 驅(qū)動(dòng)層提供服務(wù)接口;DMA 驅(qū)動(dòng)層為中間層提供服務(wù)接口,負(fù)責(zé)將圖像板發(fā)送的數(shù)字圖像數(shù)據(jù)從LVDS 接口卡中提取出來(lái),通知中間層取數(shù)。軟件設(shè)計(jì)的流程圖如圖4 所示。

        4.1 DMA 驅(qū)動(dòng)程序模塊

        DMA 驅(qū)動(dòng)程序以WDM 驅(qū)動(dòng)框架為模版,開(kāi)發(fā)環(huán)境為Microsoft DDK+VS2008。

        4.1.1 WDM 驅(qū)動(dòng)模型

        WDM 驅(qū)動(dòng)模型層次關(guān)系圖如圖5 所示,圖中左邊是一個(gè)設(shè)備對(duì)象堆棧,每一層驅(qū)動(dòng)程序各對(duì)應(yīng)一個(gè)設(shè)備對(duì)象(PDO)。設(shè)備對(duì)象是操作系統(tǒng)幫助軟件管理硬件而創(chuàng)建的一種數(shù)據(jù)結(jié)構(gòu)。圖中處于最底層的是物理設(shè)備對(duì)象,中間層是功能設(shè)備對(duì)象(FDO),在FDO 的上下層可能有一些過(guò)濾設(shè)備對(duì)象[3]。

        在單個(gè)硬件的驅(qū)動(dòng)程序中,不同位置的驅(qū)動(dòng)程序扮演了不同的角色??偩€(xiàn)驅(qū)動(dòng)程序管理計(jì)算機(jī)與PDO 代表的設(shè)備連接;功能驅(qū)動(dòng)程序管理了FDO 代表的設(shè)備;過(guò)濾驅(qū)動(dòng)程序用于監(jiān)視和修改IRP 流。對(duì)硬件板卡的每個(gè)操作轉(zhuǎn)換為相應(yīng)的I/O 請(qǐng)求包(IRP)。IRP 通常先被送到設(shè)備堆棧的最頂層驅(qū)動(dòng)程序,然后逐漸傳到下層的驅(qū)動(dòng)程序。每一層驅(qū)動(dòng)程序都根據(jù)IRP 攜帶的內(nèi)容決定如何處理IRP[3-5]。

        4.1.2 DMA 驅(qū)動(dòng)層

        圖4 軟件設(shè)計(jì)數(shù)據(jù)流圖Fig.4 Flow chart of the software design

        圖5 WDM 設(shè)備對(duì)象和驅(qū)動(dòng)程序的層次關(guān)系圖Fig.5 Level diagram of the WDM device object and driver

        Windows 操作系統(tǒng)提供了適配器對(duì)象來(lái)描述設(shè)備上的DMA 特征,并用它來(lái)控制訪(fǎng)問(wèn)共享資源,如系統(tǒng)DMA 通道和映射寄存器。驅(qū)動(dòng)程序要控制DMA,需要先創(chuàng)建一個(gè)適配器對(duì)象,適配器對(duì)象中有一個(gè)指針,指向一個(gè)DmaOperations的結(jié)構(gòu),該結(jié)構(gòu)包含了所有需要的DMA 相關(guān)的函數(shù),如函數(shù)AllocateCommonBuffer 等。

        DMA 驅(qū)動(dòng)程序首先從操作系統(tǒng)中獲取相關(guān)的硬件資源,包括LVDS 接口卡映射的內(nèi)存地址和DMA 相關(guān)中斷資源;然后在函數(shù)StartDevice 中調(diào)用函數(shù)IoGetDmaAdapter 獲取適配 器 對(duì) 象pDmaAdapterObject,通 過(guò)pDmaAdapterObject->DmaOperations->AllocateCommonBuffer 函數(shù)申請(qǐng)公共的DMA數(shù)據(jù)接收緩沖區(qū);當(dāng)中斷發(fā)生時(shí),驅(qū)動(dòng)程序判斷中斷源,如果是DMA 中斷,調(diào)用函數(shù)Dma_Transfer 啟動(dòng)DMA 傳輸LVDS接口卡中的圖像數(shù)據(jù);當(dāng)DMA 傳輸圖像數(shù)據(jù)結(jié)束中斷產(chǎn)生后,驅(qū)動(dòng)程序?qū)⒔邮盏臄?shù)據(jù)放在本層的循環(huán)緩沖區(qū)中,通知中間層到緩沖區(qū)中提取數(shù)據(jù)。

        在啟動(dòng)DMA 進(jìn)行數(shù)據(jù)傳輸前,需要設(shè)定DMA 數(shù)據(jù)的傳輸方向、傳輸起始地址、傳輸長(zhǎng)度和傳輸通道等相關(guān)信息,最后打開(kāi)DMA 通道進(jìn)行數(shù)據(jù)傳輸。以下是Dma_Transfer 函數(shù)的核心代碼。

        4.2 中間層

        中間層提供的接口函數(shù)有:打開(kāi)設(shè)備接口函數(shù)OpenDeviceDMA、關(guān)閉設(shè)備接口函數(shù)CloseDeviceDMA、使能中斷接口函數(shù)EnableInterruptDMA、中斷回調(diào)例程掛接接口函數(shù)ConnectIntDMA、中斷例程卸載接口函數(shù)DisConnectIntDMA、接收DMA 數(shù)據(jù)接口函數(shù)RevLVDSData和相關(guān)的對(duì)LVDS 接口卡寄存器操作的接口函數(shù)。

        4.3 用戶(hù)層

        用戶(hù)層軟件是在VS2008 環(huán)境下編寫(xiě)的基于MFC 框架的應(yīng)用程序,負(fù)責(zé)從中間層提取圖像數(shù)據(jù),并將其處理保存,在界面上實(shí)時(shí)顯示圖像。

        用戶(hù)層首先將中斷回調(diào)函數(shù)掛接到中間層,當(dāng)驅(qū)動(dòng)層有DMA 數(shù)據(jù)傳輸結(jié)束中斷產(chǎn)生,驅(qū)動(dòng)層將通知中間層,中間層接到通知后,提取驅(qū)動(dòng)層的圖像數(shù)據(jù)存放到其循環(huán)存儲(chǔ)區(qū)。中間層調(diào)用中斷回調(diào)函數(shù),通知用戶(hù)層,用戶(hù)層接到通知后,從中間層將圖像數(shù)據(jù)提取出來(lái),并對(duì)圖像數(shù)據(jù)進(jìn)行處理和實(shí)時(shí)顯示。

        由于用戶(hù)層還要處理其它事務(wù),往往會(huì)使提取圖像數(shù)據(jù)的速率與DMA 傳輸數(shù)據(jù)的速率不匹配,在驅(qū)動(dòng)層和中間層都申請(qǐng)一塊循環(huán)緩沖隊(duì)列來(lái)存儲(chǔ)DMA 傳輸?shù)臄?shù)據(jù),這樣就不會(huì)出現(xiàn)由于用戶(hù)層還未完全取走圖像數(shù)據(jù),DMA 傳輸過(guò)來(lái)的數(shù)據(jù)就把未及時(shí)取走的數(shù)據(jù)覆蓋掉的問(wèn)題。待用戶(hù)層提取數(shù)據(jù)完成后,直接調(diào)用圖像數(shù)據(jù)解析函數(shù),根據(jù)圖像板數(shù)據(jù)格式,將圖像數(shù)據(jù)從數(shù)據(jù)幀中解析出來(lái),然后調(diào)用Invalidate()函數(shù)使圖像客戶(hù)顯示區(qū)失效,對(duì)圖像進(jìn)行重繪。為了消除重繪過(guò)程中產(chǎn)生的閃屏問(wèn)題,采用了雙緩沖機(jī)制來(lái)繪制圖像[6]。在圖像繪制結(jié)束后,將圖像數(shù)據(jù)保存到固定的文件中。若測(cè)試不合格,該測(cè)試系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行分析,查找故障原因。

        5 實(shí)驗(yàn)應(yīng)用

        測(cè)試系統(tǒng)測(cè)試目標(biāo)設(shè)備圖像板的過(guò)程為:打開(kāi)測(cè)試軟件圖像板測(cè)試模塊,給目標(biāo)設(shè)備上電。等待大約3 s 的時(shí)間,界面上會(huì)出現(xiàn)特定的圖像。程序的部分操作界面如圖6 所示,該測(cè)試系統(tǒng)對(duì)顯示的圖像進(jìn)行判定以檢驗(yàn)圖像板工作是否正常。

        圖6 測(cè)試系統(tǒng)部分界面Fig.6 Interface chart of testing system

        6 結(jié)束語(yǔ)

        測(cè)試系統(tǒng)采用裝有LVDS 接口卡的CPCI 工控機(jī)作為硬件平臺(tái),軟件采用分層的設(shè)計(jì)思想,提高了系統(tǒng)的可擴(kuò)展性和可維護(hù)性,便于二次開(kāi)發(fā)。該測(cè)試系統(tǒng)采用了友好的界面設(shè)計(jì),目前已經(jīng)交付用戶(hù)使用。實(shí)際應(yīng)用情況表明,該測(cè)試系統(tǒng)提高了測(cè)試效率,具有人機(jī)交互界面友好、簡(jiǎn)單、測(cè)試準(zhǔn)確、穩(wěn)定性高的特點(diǎn),達(dá)到了設(shè)計(jì)目標(biāo)。

        [1]劉艷霞,苗克堅(jiān),陸寅.基PCI的智能化仿真通訊存儲(chǔ)板的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與制,2011,13(9):1184-1186.LIU Yan-xia,MIAO Ke-jian,LU Yin.The design of intelligent simulation communication memory board based on PCI[J].Computer Measurement &Control,2011,13(9):1184-1186.

        [2]張威,苗克堅(jiān),陸寅.基LVDS的多路SPI的PCI板卡設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2012,20(3):790-792.ZHANG Wei,MIAO Ke-jian,LU Yin.The design and implement of PCI card of multi-channel SPI based on LVDS[J].Computer Measurement &Control,2012,20(3):790-792.

        [3]郭艷,苗克堅(jiān).Windows 2000下WDM 驅(qū)動(dòng)程序的研究與開(kāi)發(fā)[J].計(jì)算機(jī)工程,2006,32(22):266-268.GUO Yan,MIAO Ke-jian.Research and design of WDM driver under windows 2000 [J].Computer Engineering,2006,32(22):266-268.

        [4]魏超,苗克堅(jiān),楊成果.基于CPCI的ARINC429總線(xiàn)通信卡的WDM 驅(qū)動(dòng)程序開(kāi)發(fā)[J].計(jì)算機(jī)工程與科學(xué),2008,30(10):156-159.WEI Chao,MIAO Ke-jian,YANG Cheng-guo.Development of the WDM driver for the ARINC429 bus communication card based on CPCI [J].Computer Engineering &Science,2008,30(10):156-159.

        [5]張帆,史彩成.Windows驅(qū)動(dòng)開(kāi)發(fā)詳解[M].北京:電子工業(yè)出版社,2010.

        [6]明日科技,孫秀梅,王雪,等.Visaul C++典型模塊與項(xiàng)目實(shí)戰(zhàn)大全[M].北京:電子工業(yè)出版社,2012.

        猜你喜歡
        中間層數(shù)字圖像驅(qū)動(dòng)程序
        ARGUS-100 藝術(shù)品鑒證數(shù)字圖像比對(duì)系統(tǒng)
        鎳基高溫合金TLP擴(kuò)散焊中間層材料研究進(jìn)展
        焊接(2016年8期)2016-02-27 13:05:10
        B含量對(duì)IC10合金TLP焊接用中間層材料及接頭組織的影響
        焊接(2016年6期)2016-02-27 13:04:55
        基于塊效應(yīng)測(cè)度的JPEG數(shù)字圖像盲取證
        社會(huì)中間層建設(shè)與活動(dòng)機(jī)制網(wǎng)研究
        數(shù)字圖像修復(fù)在圖像壓縮上的應(yīng)用
        基于DirectShow的便攜式X射線(xiàn)數(shù)字圖像采集的實(shí)現(xiàn)
        柵格中間層數(shù)據(jù)在數(shù)字地形分析中的應(yīng)用
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        久久精品国产熟女亚洲av麻豆| 日韩免费一区二区三区在线| 国产av无码专区亚洲草草| 中文字幕人妻av四季| 亚洲成av人综合在线观看| 97夜夜澡人人爽人人喊中国片| 国产免费播放一区二区| 男女视频在线观看一区二区| 亚洲人成在线播放网站| 无码人妻精品一区二区三区下载| 九色91精品国产网站| 日韩女优在线一区二区| 免费看美女被靠到爽的视频| 国产欧美日韩一区二区三区在线| 国产成人久久蜜一区二区| 日韩在线精品免费观看| 国产成人精品久久亚洲高清不卡| 色偷偷av亚洲男人的天堂| 国产精品无码不卡在线播放| 我揉搓少妇好久没做高潮| 国产精品a免费一区久久电影| 亚洲国产成人精品女人久久久| 毛片av在线尤物一区二区| 蜜桃一区二区三区视频网址| 国产av无码专区亚洲awww| 久久精品国产亚洲综合色| 亚洲人成精品久久熟女| 人妻av无码一区二区三区| 亚洲熟妇少妇69| 青青草免费在线视频导航| 亚洲精品无码不卡| 亚洲欧洲巨乳清纯| 国产一区二区内射最近人| 丁香花五月六月综合激情| 一本色综合久久| 欧美破处在线观看| 日韩午夜免费视频精品一区| 免费无码又黄又爽又刺激| 亚洲两性视频一三区| 日韩有码中文字幕在线视频| 在线观看视频播放|