色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于PCI總線模塊的多路串行數(shù)據(jù)采集系統(tǒng)

          基于PCI總線模塊的多路串行數(shù)據(jù)采集系統(tǒng)

          作者: 時(shí)間:2012-04-12 來源:網(wǎng)絡(luò) 收藏
          ile/mndz/uploadfile/201204/20120412024922517.jpg" width=450>

            同步通信對(duì)時(shí)鐘的同步要求非常嚴(yán)格,設(shè)計(jì)時(shí)應(yīng)該注意收/發(fā)兩方必須使用同一時(shí)鐘來控制數(shù)據(jù)的傳輸。另外,_T32內(nèi)存讀寫分為單周期模式和突發(fā)模式。突發(fā)模式即在給出首地址后主設(shè)備連續(xù)讀寫多個(gè)數(shù)據(jù),這在FPGA中需要用戶端地址每周期自動(dòng)增1的操作。

            3 系統(tǒng)軟件開發(fā)

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

            設(shè)備的硬件資源由Windows操作系統(tǒng)根據(jù)PC機(jī)中所有設(shè)備對(duì)資源的占有來統(tǒng)一分配。為了保證系統(tǒng)的安全和穩(wěn)定性,在Windows2000及其后的微軟操作系統(tǒng)中,運(yùn)行在ring3層的用戶應(yīng)用程序無法直接訪問硬件,而必須通過運(yùn)行于ring0層的設(shè)備驅(qū)動(dòng)程序來訪問。設(shè)備驅(qū)動(dòng)不僅要實(shí)現(xiàn)對(duì)硬件的操作,還要為用戶應(yīng)用程序提供專用的API函數(shù)庫,以方便用戶實(shí)現(xiàn)對(duì)硬件的操作訪問。

            Windows XP操作系統(tǒng)下的驅(qū)動(dòng)程序一般是基于WDM(Windows Driver Model)模型開發(fā)的。該模型中的上層應(yīng)用程序通過調(diào)用Win32 API函數(shù)發(fā)出對(duì)設(shè)備的訪問請(qǐng)求,I/O管理器則根據(jù)這個(gè)請(qǐng)求構(gòu)造合適的IRP(I/O Request Packet,I/O請(qǐng)求包),并將其傳給設(shè)備驅(qū)動(dòng)程序,接著由驅(qū)動(dòng)程序直接訪問硬件完成IRP處理,最后由I/O管理器把數(shù)據(jù)和結(jié)構(gòu)返回給應(yīng)用程序。

            WDM驅(qū)動(dòng)比較常用的有以下三種方法:

            第一種是直接使用Windows DDK(Device

            Driver Kit,驅(qū)動(dòng)程序開發(fā)包)開發(fā)的驅(qū)動(dòng)程序面向Windows內(nèi)核,該方法工作穩(wěn)定,效率更高。但必須精通Windows內(nèi)部體系結(jié)構(gòu)及設(shè)備驅(qū)動(dòng)程序的體系結(jié)構(gòu)等,因此開發(fā)難度較大。

            第二種是使用DriverStudio。此工具軟件已經(jīng)做了很多基礎(chǔ)性工作,也進(jìn)行了一些封裝。

            第三種是使用WinDriver,使用該方法時(shí),開發(fā)者只需要在用戶模式下編寫程序來調(diào)用它提供的通用驅(qū)動(dòng)即可。其中Drvier Wizard可以進(jìn)行硬件診斷和自動(dòng)代碼生成。另外還可以將對(duì)速度要求較高的模塊插入內(nèi)核運(yùn)行來獲取更好的性能。本系統(tǒng)即采用WinDriver開發(fā)方法。

            3.2 WinDriver中的重要函數(shù)

            利用WinDriver開發(fā)驅(qū)動(dòng)程序通常有兩種方法:第一種是利用Driver Wizard生成的代碼進(jìn)行修改;第二種是直接利用WinDriver提供的API函數(shù)來編寫自己的程序。本系統(tǒng)即采用這種方法,開發(fā)時(shí)首先要注意包含所有相關(guān)的頭文件。其基本驅(qū)動(dòng)程序的結(jié)構(gòu)及API函數(shù)如下:

            

            3.3 中斷實(shí)現(xiàn)

            總線的通信方式有查詢和中斷兩種方式。查詢方式實(shí)現(xiàn)簡單,但是難以適應(yīng)實(shí)時(shí)性要求較高的場(chǎng)合,而且上位機(jī)軟件資源占用率過大



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉