新聞中心

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

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

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

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

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

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

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

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

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

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

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

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

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

3.1.1 WDM 模型簡(jiǎn)介

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

3.1.2 設(shè)計(jì)方法

系統(tǒng)使用 VC+DDK+Driverstudio 來(lái)進(jìn)行驅(qū)動(dòng)的開發(fā)。Driver Studio 為驅(qū)動(dòng)程序設(shè)計(jì)提供DriverWizard 向?qū)?,可以很方便地建立一個(gè)完整的驅(qū)動(dòng)程序框架。設(shè)計(jì)PCI 驅(qū)動(dòng)程序基本步驟為:

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

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

② 填寫注冊(cè)表信息;

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

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

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

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

⑦ 編譯調(diào)試。



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

評(píng)論


相關(guān)推薦

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

關(guān)閉