新聞中心

        EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于PXI 總線的水聲目標(biāo)回波模擬模塊的設(shè)計

        基于PXI 總線的水聲目標(biāo)回波模擬模塊的設(shè)計

        作者: 時間:2012-09-19 來源:網(wǎng)絡(luò) 收藏

        2.2 系統(tǒng)結(jié)構(gòu)

        在某檢測設(shè)備的研制過程中,研制了基于 模塊,該模塊能對發(fā)射信號進(jìn)行高速采集,在精確延遲后,提供,可利用聲對接陣對聲納進(jìn)行陸上測試。系統(tǒng)結(jié)構(gòu)框圖如圖 1 所示:

        回波模擬模塊結(jié)構(gòu)框圖

        圖 1 模塊結(jié)構(gòu)框圖

        回波模擬模塊包括模擬輸入、數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)回放、DDS 方波產(chǎn)生器、接口六部分。系統(tǒng)結(jié)構(gòu)如圖1 所示。其核心部分是AD 轉(zhuǎn)換、DA 輸出、PCI 接口及FIFO的實(shí)現(xiàn)。模擬輸入部分由運(yùn)放直流耦合放大電路組成,主要功能是向后級電路提供可靠的模擬信號。系統(tǒng)中的AD 轉(zhuǎn)換器采用Analog Device 公司生產(chǎn)的AD9709。采樣時鐘由高精度DDS 芯片AD9850提供,并由CPLD 進(jìn)行控制,最高采樣頻率可達(dá)40MHz,并可實(shí)現(xiàn)逐Hz可調(diào)。數(shù)據(jù)緩存采用異步FIFO,系統(tǒng)選用兩片512K×9 的IDT72V2113,通過深度擴(kuò)展,實(shí)現(xiàn)1M×9 的FIFO。數(shù)據(jù)D/A 采用Burr-Brown 公司的ADS831 芯片。FIFO 的讀寫時鐘、狀態(tài)控制、AD 控制、DA 控制以及DDS 頻率控制均由CPLD 實(shí)現(xiàn)。

        在采集波形存取中,采用了FIFO 存儲發(fā)射信號,主控模塊通過讀寫地址產(chǎn)生電路對波形存取的過程進(jìn)行控制。時鐘產(chǎn)生模塊為讀寫地址產(chǎn)生電路提供獨(dú)立的讀、寫FIFO 時鐘,通過讀、寫FIFO 時鐘的頻率差來實(shí)現(xiàn)回波信號的伸縮設(shè)置。FIFO 存儲器的讀、寫時鐘由數(shù)字頻率合成器(DDS)AD9851 產(chǎn)生,它受主控模塊的控制,產(chǎn)生設(shè)定頻率的方波信號,用于產(chǎn)生AD 采集、FIFO 讀寫、DA 回放芯片的時鐘信號。

        3 模塊軟件實(shí)現(xiàn)

        回波模擬模塊使用 ,可用于PXI 計算機(jī)中。PXI 總線規(guī)范是NI 公司于1997 年發(fā)布的[3,4,5]。PXI 這種新型模塊化儀器系統(tǒng)是在PCI總線內(nèi)核技術(shù)上增加了成熟的技術(shù)規(guī)范和要求形成的。它通過增加用于多板同步的觸發(fā)總線和參考時鐘、用于進(jìn)行精確定時的星形觸發(fā)總線、以及用于相鄰模塊間高速通信的局部總線來滿足試驗(yàn)和測量用戶的要求。

        目前 PXI 總線平臺下以Windows2000、Windwos XP 為主,需要編寫Windows WDM 驅(qū)動程序。該模塊的驅(qū)動程序主要對接口芯片S5920 進(jìn)行編程。模塊軟件包括驅(qū)動程序、應(yīng)用程序,同時為了與NI 公司的LabView 軟件兼容,還編寫了與LabView 軟件的接口程序。

        3.1 WDM 驅(qū)動程序編寫

        3.1.1 WDM 模型簡介

        WDM 模型(Windows Driver Model)是微軟公司為當(dāng)前主流操作系統(tǒng)Windows2000 和WindowsXP 的驅(qū)動程序設(shè)計的一種構(gòu)架,它和傳統(tǒng)的VXD 的驅(qū)動是完全不同的體系結(jié)構(gòu)。Window2000/XP 系統(tǒng)結(jié)構(gòu)圖如圖2 所示,應(yīng)用程序調(diào)用Windows 子系統(tǒng)win32API,這個調(diào)用由系統(tǒng)服務(wù)接口作用到I/O 管理器,I/O 管理器進(jìn)行必要的參數(shù)匹配和操作安全性檢查,然后由這個請求構(gòu)造出合適的IRP(IO Request Package),它實(shí)際上是一個數(shù)據(jù)結(jié)構(gòu),具有豐富的成員,對于單層的驅(qū)動程序直接接受并執(zhí)行這個請求包,并完成對硬件的操作,從而完成I/O 請求工作,并將執(zhí)行的結(jié)果通過I/O 管理器返回給應(yīng)用程序,而對于多層的驅(qū)動則將驅(qū)動程序分成了若干層,每層驅(qū)動再把I/O 請求劃分成更簡單的請求,以傳給更下層的驅(qū)動執(zhí)行。

        3.1.2 設(shè)計方法

        系統(tǒng)使用 VC+DDK+Driverstudio 來進(jìn)行驅(qū)動的開發(fā)。Driver Studio 為驅(qū)動程序設(shè)計提供DriverWizard 向?qū)В梢院芊奖愕亟⒁粋€完整的驅(qū)動程序框架。設(shè)計PCI 驅(qū)動程序基本步驟為:

        ① 選擇 PCI 總線類型,填寫相應(yīng)的VendorID、DeviceID、SubsystemID、RevisionID,

        這些必須和PCI 板卡上的配置信息一致,用于產(chǎn)生INF 文件,在安裝時識別板卡;

        ② 填寫注冊表信息;

        ③ 添加資源,包括I/O、Memory、IRQ、DMA 等;

        ④ 選擇設(shè)備接口方式、讀寫方式、電源管理方式等;

        ⑤ 添加 IOCTL 命令字,并選用相應(yīng)的輸入輸出模式;

        ⑥ 產(chǎn)生框架代碼,添加用戶代碼;

        ⑦ 編譯調(diào)試。



        關(guān)鍵詞: PXI 總線 回波 模擬

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 万宁市| 汉源县| 郯城县| 星子县| 故城县| 秦皇岛市| 台州市| 沭阳县| 东丽区| 云浮市| 阿城市| 双桥区| 哈密市| 芜湖县| 宁明县| 牡丹江市| 越西县| 板桥市| 太仆寺旗| 湘乡市| 唐海县| 青浦区| 余姚市| 霞浦县| 开化县| 绍兴县| 临邑县| 松阳县| 东宁县| 丰台区| 南木林县| 惠来县| 武汉市| 金寨县| 阜康市| 禹城市| 岳普湖县| 榆社县| 蓬安县| 寿阳县| 郸城县|