在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PCI Express總線的雷達(dá)數(shù)據(jù)記錄器驅(qū)動(dòng)程序開(kāi)發(fā)

            基于PCI Express總線的雷達(dá)數(shù)據(jù)記錄器驅(qū)動(dòng)程序開(kāi)發(fā)

            作者: 時(shí)間:2010-03-05 來(lái)源:網(wǎng)絡(luò) 收藏
            1 引言
            采集系統(tǒng)中,大量的必須通過(guò)傳到計(jì)算機(jī)內(nèi)存中,傳統(tǒng)的越來(lái)越不能滿足人們對(duì)帶寬增長(zhǎng)的需要。為解決這一矛盾,PC行業(yè)協(xié)會(huì)和外設(shè)廠商一起發(fā)布了 [1]規(guī)范,并且于2004年在標(biāo)準(zhǔn)臺(tái)式機(jī)上得到應(yīng)用。該技術(shù)可以有效地提高設(shè)備至計(jì)算機(jī)內(nèi)存的傳輸速率。相對(duì)于總線,它最大的特點(diǎn)是實(shí)現(xiàn)點(diǎn)到點(diǎn)的數(shù)據(jù)傳輸[2],每個(gè)設(shè)備有自己專用的雙向數(shù)據(jù)通道,數(shù)據(jù)以包的形式串行傳輸,每個(gè)通道具有單方向250MB/S的數(shù)據(jù)傳輸速度。多個(gè)通道可以組合在一起形成x1(單通道)、x2、x4、x8、x12、x16和x32的信道以提高帶寬。
            在合成孔徑系統(tǒng)中,大量的回波數(shù)據(jù)需要實(shí)時(shí)下來(lái)以便進(jìn)行事后成像處理。而PCI 總線高帶寬的優(yōu)點(diǎn)可以很好的滿足高速數(shù)據(jù)的需要,而要充分發(fā)揮PCI 總線的作用,程序設(shè)計(jì)是關(guān)鍵。本文介紹了在Windows XP系統(tǒng)下,數(shù)據(jù)器中PCI Express總線接口芯片PEX8311的。
            2 雷達(dá)數(shù)據(jù)記錄器介紹
            雷達(dá)數(shù)據(jù)記錄器由一臺(tái)服務(wù)器計(jì)算機(jī)、PCI Express接口卡、SCSI卡和SCSI硬盤四部分組成,其中PCI Express接口卡的軟硬件自行設(shè)計(jì),其它部分采用標(biāo)準(zhǔn)的外購(gòu)件。雷達(dá)數(shù)據(jù)
            通過(guò)PCI Express接口卡傳入計(jì)算機(jī)內(nèi)存,計(jì)算機(jī)再將數(shù)據(jù)通過(guò)SCSI卡寫在SCSI硬盤上。
            PCI Express接口卡采用美國(guó)PLX公司推出的PEX8311作為本地總線和PCI Express總線的接口。PEX8311[3]是一款x1的PCI Express接口芯片,本地端總線頻率最高可達(dá)66MHZ,數(shù)據(jù)位寬32bit。PEX8311含有4KB的配置空間,其中前256字節(jié)是和PCI設(shè)備功能上是兼容的,其余是PCI Express擴(kuò)展配置空間。本文采用PEX8311的引腳LINTi#接收外部中斷信號(hào),使用DMA通道0進(jìn)行塊DMA方式讀數(shù)據(jù)。
            接口卡的結(jié)構(gòu)框圖如圖1所示,利用差分轉(zhuǎn)換芯片先將外部差分信號(hào)轉(zhuǎn)換成單端信號(hào),兩塊FIFO的“乒乓”傳輸以實(shí)現(xiàn)數(shù)據(jù)的連續(xù)傳輸,單個(gè)FIFO容量為512KB。在CPLD的控制下,兩塊FIFO的數(shù)據(jù)輪流通過(guò)PEX8311的DMA通道0傳入計(jì)算機(jī)。

            圖1 PCI Express接口卡框圖
            具體工作過(guò)程:當(dāng)其中一個(gè)FIFO被寫滿數(shù)據(jù)后,在CPLD控制下,外部數(shù)據(jù)繼續(xù)寫入另一個(gè)FIFO,同時(shí),CPLD使PEX8311的LINTi#輸入為低電平,這會(huì)產(chǎn)生一個(gè)LINT#中斷,程序響應(yīng)中斷并啟動(dòng)DMA傳輸讀取FIFO中的數(shù)據(jù)到DMA緩存中。讀完后,驅(qū)動(dòng)程序通知應(yīng)用程序?qū)MA緩存的數(shù)據(jù)寫到SCSI盤上。
            3 WDM驅(qū)動(dòng)程序概述
            WDM是一種分層驅(qū)動(dòng)程序模型[4],如圖2所示。系統(tǒng)啟動(dòng)時(shí),總線驅(qū)動(dòng)程序枚舉總線上的設(shè)備,并為每個(gè)設(shè)備創(chuàng)建一個(gè)物理設(shè)備對(duì)象(PDO);然后PnP管理器根據(jù)注冊(cè)表中的信息查找與這個(gè)PDO相關(guān)的過(guò)濾驅(qū)動(dòng)程序和功能驅(qū)動(dòng)程序,建立的過(guò)濾設(shè)備對(duì)象(FIDO)

            圖2 WDM分層驅(qū)動(dòng)模型
            和功能設(shè)備對(duì)象(FDO),最終,系統(tǒng)完成設(shè)備驅(qū)動(dòng)的裝入過(guò)程。設(shè)備擴(kuò)展對(duì)象是與設(shè)備對(duì)象關(guān)聯(lián)的另一種重要的數(shù)據(jù)結(jié)構(gòu),它是一塊未分頁(yè)的內(nèi)存,I/O管理器自動(dòng)把它分配給已建立的任何設(shè)備擴(kuò)展對(duì)象,可以用它來(lái)保存與設(shè)備關(guān)聯(lián)的任何信息,驅(qū)動(dòng)程序需要時(shí),只要在設(shè)備擴(kuò)展對(duì)象中取出這些資源使用即可。
            IRP全名為IO Request Packet,即I/O請(qǐng)求包,是系統(tǒng)創(chuàng)建的一種數(shù)據(jù)結(jié)構(gòu)。當(dāng)應(yīng)用程序?qū)υO(shè)備操作時(shí),I/O管理器根據(jù)具體的請(qǐng)求建立相應(yīng)的IRP,IRP先被I/O管理器發(fā)送到最上層的驅(qū)動(dòng)程序處理,然后依次傳遞給下層的驅(qū)動(dòng)程序處理。每層驅(qū)動(dòng)程序可以不作任何事情而直接將IRP向下傳遞,也可以直接將該IRP設(shè)置為完成狀態(tài)。
            4 PEX8311驅(qū)動(dòng)程序設(shè)計(jì)
            微軟提供的驅(qū)動(dòng)軟件包DDK(Device Driver Kits)提供了用于驅(qū)動(dòng)的資源文件、編譯連接程序、開(kāi)發(fā)技術(shù)文檔等。第三方開(kāi)發(fā)工具有NuMega公司DriverStudio和Jungo公司的WinDriver,它們對(duì)DDK進(jìn)行了封裝,方便用戶進(jìn)行驅(qū)動(dòng)開(kāi)發(fā)。但效率方面不如DDK。考慮到雷達(dá)數(shù)據(jù)記錄的數(shù)據(jù)率較高,所以本文采用DDK開(kāi)發(fā)PEX8311的驅(qū)動(dòng)程序??偩€驅(qū)動(dòng)程序由系統(tǒng)提供,過(guò)濾驅(qū)動(dòng)程序是可選的。所以本文只設(shè)計(jì)了PEX8311的功能驅(qū)動(dòng)程序(以下簡(jiǎn)稱驅(qū)動(dòng)程序),它主要由驅(qū)動(dòng)程序初始化、數(shù)據(jù)傳輸初始化、數(shù)據(jù)傳輸模塊三部分組成。其基本思想是:應(yīng)用程序與驅(qū)動(dòng)程序共享DMA緩存,當(dāng)驅(qū)動(dòng)程序接收到一個(gè)LINT#中斷時(shí),啟動(dòng)DMA讀取FIFO中的數(shù)據(jù)存在DMA緩存中,每次讀完后,驅(qū)動(dòng)程序通過(guò)事件通知應(yīng)用程序取出DMA緩存中的數(shù)據(jù)存在SCSI硬盤上。
            4.1 驅(qū)動(dòng)程序初始化
            DriverEntry是驅(qū)動(dòng)程序的入口函數(shù),負(fù)責(zé)初始化驅(qū)動(dòng)程序?qū)ο?。系統(tǒng)啟動(dòng)時(shí),如果檢測(cè)到PEX8311的存在,I/O管理器會(huì)建立一個(gè)未初始化的驅(qū)動(dòng)程序?qū)ο蟛⑺鳛橐粋€(gè)參數(shù)傳給DriverEntry。DriverEntry把驅(qū)動(dòng)程序其它例程的函數(shù)指針裝入到驅(qū)動(dòng)程序?qū)ο罄锩?。?dāng)一個(gè)IRP被發(fā)送到設(shè)備時(shí),I/O管理器使用該IRP關(guān)聯(lián)的驅(qū)動(dòng)程序?qū)ο笳业秸_的驅(qū)動(dòng)程序例程處理。初始化的主要函數(shù)指針有:AddDevice、DriverUnload、DispatchCreate、DispatchClose、DispatchIoControl、DispatchCleanup、DispatchPnp、DispatchPower。
            合成孔徑雷達(dá)相關(guān)文章:合成孔徑雷達(dá)原理

            上一頁(yè) 1 2 下一頁(yè)

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉