基于PXI 總線的水聲目標回波模擬模塊的設計
2.2 系統(tǒng)結構
在某檢測設備的研制過程中,研制了基于 PXI 總線的回波模擬模塊,該模塊能對發(fā)射信號進行高速采集,在精確延遲后,提供模擬回波,可利用聲對接陣對聲納進行陸上測試。系統(tǒng)結構框圖如圖 1 所示:

回波模擬模塊包括模擬輸入、數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)回放、DDS 方波產生器、PXI接口六部分。系統(tǒng)結構如圖1 所示。其核心部分是AD 轉換、DA 輸出、PCI 接口及FIFO的實現(xiàn)。模擬輸入部分由運放直流耦合放大電路組成,主要功能是向后級電路提供可靠的模擬信號。系統(tǒng)中的AD 轉換器采用Analog Device 公司生產的AD9709。采樣時鐘由高精度DDS 芯片AD9850提供,并由CPLD 進行控制,最高采樣頻率可達40MHz,并可實現(xiàn)逐Hz可調。數(shù)據(jù)緩存采用異步FIFO,系統(tǒng)選用兩片512K×9 的IDT72V2113,通過深度擴展,實現(xiàn)1M×9 的FIFO。數(shù)據(jù)D/A 采用Burr-Brown 公司的ADS831 芯片。FIFO 的讀寫時鐘、狀態(tài)控制、AD 控制、DA 控制以及DDS 頻率控制均由CPLD 實現(xiàn)。
在采集波形存取中,采用了FIFO 存儲發(fā)射信號,主控模塊通過讀寫地址產生電路對波形存取的過程進行控制。時鐘產生模塊為讀寫地址產生電路提供獨立的讀、寫FIFO 時鐘,通過讀、寫FIFO 時鐘的頻率差來實現(xiàn)回波信號的伸縮設置。FIFO 存儲器的讀、寫時鐘由數(shù)字頻率合成器(DDS)AD9851 產生,它受主控模塊的控制,產生設定頻率的方波信號,用于產生AD 采集、FIFO 讀寫、DA 回放芯片的時鐘信號。
3 模塊軟件實現(xiàn)
回波模擬模塊使用 PXI 總線,可用于PXI 總線計算機中。PXI 總線規(guī)范是NI 公司于1997 年發(fā)布的[3,4,5]。PXI 這種新型模塊化儀器系統(tǒng)是在PCI總線內核技術上增加了成熟的技術規(guī)范和要求形成的。它通過增加用于多板同步的觸發(fā)總線和參考時鐘、用于進行精確定時的星形觸發(fā)總線、以及用于相鄰模塊間高速通信的局部總線來滿足試驗和測量用戶的要求。
目前 PXI 總線平臺下以Windows2000、Windwos XP 為主,需要編寫Windows WDM 驅動程序。該模塊的驅動程序主要對接口芯片S5920 進行編程。模塊軟件包括驅動程序、應用程序,同時為了與NI 公司的LabView 軟件兼容,還編寫了與LabView 軟件的接口程序。
3.1 WDM 驅動程序編寫
3.1.1 WDM 模型簡介
WDM 模型(Windows Driver Model)是微軟公司為當前主流操作系統(tǒng)Windows2000 和WindowsXP 的驅動程序設計的一種構架,它和傳統(tǒng)的VXD 的驅動是完全不同的體系結構。Window2000/XP 系統(tǒng)結構圖如圖2 所示,應用程序調用Windows 子系統(tǒng)win32API,這個調用由系統(tǒng)服務接口作用到I/O 管理器,I/O 管理器進行必要的參數(shù)匹配和操作安全性檢查,然后由這個請求構造出合適的IRP(IO Request Package),它實際上是一個數(shù)據(jù)結構,具有豐富的成員,對于單層的驅動程序直接接受并執(zhí)行這個請求包,并完成對硬件的操作,從而完成I/O 請求工作,并將執(zhí)行的結果通過I/O 管理器返回給應用程序,而對于多層的驅動則將驅動程序分成了若干層,每層驅動再把I/O 請求劃分成更簡單的請求,以傳給更下層的驅動執(zhí)行。
3.1.2 設計方法
系統(tǒng)使用 VC+DDK+Driverstudio 來進行驅動的開發(fā)。Driver Studio 為驅動程序設計提供DriverWizard 向導,可以很方便地建立一個完整的驅動程序框架。設計PCI 驅動程序基本步驟為:
① 選擇 PCI 總線類型,填寫相應的VendorID、DeviceID、SubsystemID、RevisionID,
這些必須和PCI 板卡上的配置信息一致,用于產生INF 文件,在安裝時識別板卡;
② 填寫注冊表信息;
③ 添加資源,包括I/O、Memory、IRQ、DMA 等;
④ 選擇設備接口方式、讀寫方式、電源管理方式等;
⑤ 添加 IOCTL 命令字,并選用相應的輸入輸出模式;
⑥ 產生框架代碼,添加用戶代碼;
⑦ 編譯調試。
評論