新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于PXI 總線的水聲目標回波模擬模塊的設計

        基于PXI 總線的水聲目標回波模擬模塊的設計

        作者: 時間:2012-09-19 來源:網絡 收藏

        驅動程序設計的工作主要在步驟⑥、⑦,編寫驅動主要針對以下的幾個方面。驅動程序框架已經在添加資源時,創建了操作資源的KMemoryRange 類和KIoRange 類的對象,如將PCI 的Base1 空間設定為一個I/O 映射的空間,這個空間實際上就是CPLD 中寄存器的空間。要讀寫CPLD 中的寄存器訪問雙口存儲器就是訪問Base1 空間,這時S5920的PTNUM[2:0]會輸出001,可以使用它完成對映射到該空間雙口存儲器的片選使能。

        驅動程序中需要創建對象 KIoRange m_IoPortRange1;

        并在 OnStartDevice(KIrpI)函數中調用

        status = m_IoPortRange1.Initialize(

        pResListTranslated,

        pResListRaw,1);

        對該對象進行初始化。

        在驅動的其它例程中就可以使用對象 m_IoPortRange1 調用該類的成員函數ind、inw、inb、outb、outw、outd 來完成對PCI 卡的Base1 空間的DWORD、WORD 和Byte 的輸入輸出操作。

        3.2 應用軟件編寫

        3.2.1 應用程序與驅動程序的通信方法

        應用程序與驅動程序通信步驟為:應用程序首先使用 CreatFile 函數打開設備,然后使用WriteFile、ReadFile、DeviceIoControl 與驅動程序進行通信,最后在應用程序退出前使用CloseHandle 關閉設備。DeviceIoControl 使用不同的IOCTL 命令字來調用驅動中的不同程序,完成應用程序與驅動程序的數據交換,驅動程序根據訪問方式的不同,使用不同的方式獲取應用程序的輸入輸出緩沖區地址。

        驅動程序與應用程序的通信:當驅動程序獲取了特定事件發生時,有時需要將這一信息通知給應用程序,主要的方法有2 種:一種是使用DeviceIoControl 進行異步通信,另一種是在應用程序中創建一個事件,并將該句柄傳給驅動程序,然后在應用層開啟一個線程等待這個事件,驅動程序會在事件發生的時候設置事件信號狀態來觸發應用程序。

        3.2.2 與NI LabView 應用程序通信

        仿真系統控制軟件由 NI 公司的LabView 軟件編制,為使本模塊能使用該軟件控制,必須編寫接口程序。接口程序實際上就是Windows 標準動態鏈接庫。鏈接庫可以由LabView軟件調用。

        鏈接庫導出函數定義如下:

        extern C __declspec(dllexport) HANDLE OpenDrv();

        extern C __declspec(dllexport) void CloseDrv(HANDLE hDevice);

        extern C __declspec(dllexport) void WriteData(HANDLE hDevice,

        ULONG freq,double frequency1,double frequency2,

        double frequency3,double frequency4,double delay,double atten);

        由于在C++中HANDLE 型定義為void *,而LabView 中沒有指針型變量,用Labview調用該函數時可直接定義為ULONG 型。具體代碼略。

        4 應用實例

        某型多普勒聲吶發射信號頻率為 300kHz,發射脈寬最大60ms,信號采用重復相位編碼,編碼靈活可變,帶寬達到75kHz。為了完成對該聲納的檢測,需要對其進行,考慮到會產生伸縮效應,本模塊的主要技術指標如下:

        采樣頻率:10MHz~40MHz

        存儲深度:1MB

        D/A 頻率:10MHz~40MHz

        系統

        時延:2ms~3s,精度0.1ms

        該模塊已用于某型多普勒聲吶的檢測,可以不同深度、不同相對速度的海底回波信號,工作良好,性能穩定。

        5 結束語

        寬帶回波模擬模塊利用 技術,在Windows 環境下可以實現良好的人機界面,安裝方便,體積小,適用范圍比較廣泛。模擬模塊可以模擬不同延遲、不同尺度伸縮的寬帶點目標信號。系統已用于某型寬帶多普勒聲吶的陸上檢測,經過與水池調試、湖試數據對比,發現該模擬方法有效,結果與實際試驗基本一致。


        上一頁 1 2 3 下一頁

        關鍵詞: PXI 總線 回波 模擬

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东海县| 金湖县| 眉山市| 海伦市| 湖口县| 磴口县| 富平县| 于田县| 曲沃县| 天门市| 加查县| 焉耆| 田林县| 富蕴县| 石楼县| 灵璧县| 溆浦县| 北海市| 横峰县| 内黄县| 廉江市| 安徽省| 兴和县| 塔城市| 曲阜市| 黄山市| 青河县| 蒙阴县| 额敏县| 襄城县| 丰原市| 余干县| 马龙县| 淄博市| 钦州市| 留坝县| 津南区| 搜索| 湘乡市| 潼关县| 申扎县|