


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于CPCI總線的數(shù)據(jù)采集卡及其驅(qū)動程序設(shè)計(jì) 08-05-02 15:03:00 作者:周玉恒 師奕兵 王 編輯:studa0714摘 要 介紹了一種基于CPCI總線的高速數(shù)據(jù)采集卡硬件及其WDM驅(qū)動程序設(shè)計(jì)方法,詳細(xì)說明了計(jì)算機(jī)通過驅(qū)動程序與數(shù)據(jù)采集卡硬件進(jìn)行高速數(shù)據(jù)交換的方法,利用DriverWorks完成了滿足高速數(shù)據(jù)傳輸要求的WDM驅(qū)動程序設(shè)計(jì),實(shí)現(xiàn)了數(shù)據(jù)采集卡與主機(jī)內(nèi)存之間
2、數(shù)據(jù)傳輸?shù)腄MA方法。 關(guān)鍵詞 數(shù)據(jù)采集;WDM ;CPCI;DriverWorks;DMA 1 引言 CPCI總線機(jī)械特性上有VME總線的堅(jiān)固特性,在數(shù)據(jù)傳輸方面采取與PCI一致的傳輸方法。高速數(shù)據(jù)采集系統(tǒng)中,總線數(shù)據(jù)傳輸能力要求強(qiáng),數(shù)據(jù)采集系統(tǒng)采用CPCI總線,極大提高了數(shù)據(jù)采集卡的數(shù)據(jù)傳輸能力。為了充分發(fā)揮CPCI總線數(shù)據(jù)傳輸快、高可靠的優(yōu)勢,要解決好基于CPCI總線的數(shù)據(jù)采集卡與計(jì)算機(jī)主機(jī)之間的通信問題。Windows2000操作系統(tǒng)對CPCI總線提供良好的支持,該操作系統(tǒng)下,驅(qū)
3、動程序的編寫基于一種新的驅(qū)動模型WDM(Windows Driver Model),WDM為Windows98/2000/XP操作系統(tǒng)的設(shè)備驅(qū)動程序的設(shè)計(jì)提供了統(tǒng)一的框架。本文介紹的基于CPCI總線的高速數(shù)據(jù)采集卡用于某數(shù)字化儀(Digitizer)中,借助用DriverWorks開發(fā)的WDM設(shè)備驅(qū)動程序,用戶應(yīng)用程序和數(shù)據(jù)采集卡之間相互通信,實(shí)現(xiàn)主機(jī)命令的即時(shí)傳送和板卡采集數(shù)據(jù)的高速傳輸。2 硬件系統(tǒng)設(shè)計(jì) 針對不同的應(yīng)用要求,CPCI接口卡設(shè)計(jì)采用的設(shè)計(jì)方案,一是使用PCI專用接口芯片與FPGA相結(jié)合的方案,專用接口芯片完成從PCI總線到本地用
4、戶總線的轉(zhuǎn)接;FPGA靈活的轉(zhuǎn)換邏輯時(shí)序,以適應(yīng)不同的外設(shè)時(shí)序要求;二是采用可編程邏輯器件實(shí)現(xiàn)通用PCI總線接口,很多生產(chǎn)可編程邏輯器件的廠商都提供經(jīng)過嚴(yán)格測試的PCI接口功能模塊,由用戶進(jìn)行簡單的組合設(shè)計(jì)即可??紤]到開發(fā)周期,本CPCI數(shù)據(jù)采集卡采用前一種設(shè)計(jì)方法,用PCI專用接口芯片實(shí)現(xiàn)。系統(tǒng)硬件組成如圖1所示。 本數(shù)據(jù)采集卡PCI接口芯片選用PLX公司的PCI9054, PCI9054提供兩個(gè)獨(dú)立的可編程DMA控制器,有兩個(gè)DMA通道,每個(gè)通道均支持Block(塊傳輸)和Scatter/Gather(散/集傳輸)的DMA方式,PCI總線端支持32位/3
5、3MHz;本地端可編程實(shí)現(xiàn)8、16、32位數(shù)據(jù)寬度,傳輸速率最高可達(dá)到132M字節(jié)/秒。本地總線端時(shí)鐘最高可達(dá)50MHz,支持復(fù)用(J模式)和非復(fù)用的32位地址/數(shù)據(jù)(C模式)。PCI9054工作方式有:直接主模式,直接從模式和DMA模式。直接主模式由本地處理器訪問PCI總線上的I/O接口和計(jì)算機(jī)內(nèi)存資源,本地處理器發(fā)起數(shù)據(jù)的傳輸。直接從模式指PCI總線作為主控設(shè)備發(fā)起對本地總線資源的訪問,包括對本地處理器的控制和對本地內(nèi)存的訪問。DMA模式支持PCI總線與本地總線之間的突發(fā)傳輸。PCI9054實(shí)現(xiàn)了PCI總線到局部端總線的轉(zhuǎn)接,用該芯片做設(shè)計(jì)時(shí),不必對PCI規(guī)范作全面深入理解,方便用戶在設(shè)計(jì)
6、時(shí)專注于具體功能的實(shí)現(xiàn)。 本設(shè)計(jì)中PCI9054設(shè)置為非復(fù)用的32位地址/數(shù)據(jù),即C模式,采用直接從模式和DMA方式分別傳輸主機(jī)命令和數(shù)據(jù)采集卡采集到的數(shù)據(jù);可編程邏輯器件FPGA里邊配置一個(gè)FIFO作為緩沖器,當(dāng)主機(jī)向數(shù)據(jù)采集卡發(fā)送命令時(shí),F(xiàn)IFO作為命令數(shù)據(jù)的緩沖器,命令數(shù)據(jù)發(fā)送完畢,引起DSP的一個(gè)中斷,DSP從FIFO里讀出命令數(shù)據(jù),對命令解析,完成實(shí)際的硬件操作;當(dāng)主機(jī)要讀取數(shù)據(jù)采集卡采集到的數(shù)據(jù)時(shí),DSP對SRAM中數(shù)據(jù)作預(yù)處理,上傳到FPGA里邊配置的FIFO中,這時(shí)FIFO作為數(shù)據(jù)采集卡上傳數(shù)據(jù)的緩沖器,當(dāng)FIFO數(shù)據(jù)滿時(shí),引起PCI中斷,通
7、知上層應(yīng)用程序讀取數(shù)據(jù)。EEPROM中存放設(shè)備號,廠商號以及本地總線的基地址空間,I/O空間,中斷控制信號等信息,初始化時(shí),系統(tǒng)將EEPROM配置參數(shù)裝入PCI配置寄存器,并根據(jù)本地總線對內(nèi)存,I/O端口和中斷的需求統(tǒng)一劃分,自動分配系統(tǒng)資源。3 數(shù)據(jù)采集卡WDM驅(qū)動程序設(shè)計(jì)3.1 WDM模型(Windows Driver Model)簡述 WDM模型(Windows Driver Model) 是微軟公司為Windows98和Windows2000的驅(qū)動程序設(shè)計(jì)的一種架構(gòu),在WDM驅(qū)動程序模型中,每個(gè)硬件設(shè)備至少有兩個(gè)驅(qū)動程序。其中一個(gè)為功能驅(qū)
8、動程序,它了解硬件工作的所有細(xì)節(jié),負(fù)責(zé)初始化I/O操作,處理I/O操作完成時(shí)所帶來的中斷事件,為用戶提供與設(shè)備相適合的控制方式;另一個(gè)驅(qū)動程序?yàn)榭偩€驅(qū)動程序,它負(fù)責(zé)管理硬件與計(jì)算機(jī)的連接,總線驅(qū)動程序由操作系統(tǒng)提供。Window2000 系統(tǒng)結(jié)構(gòu)圖如圖2所示,應(yīng)用程序調(diào)用Windows子系統(tǒng)Win32 API,這個(gè)調(diào)用由系統(tǒng)服務(wù)接口作用到I/ O 管理器,I/ O 管理器進(jìn)行必要的參數(shù)匹配和操作安全性檢查,然后由這個(gè)請求構(gòu)造出合適的IRP(I/O Request Package) 。IRP是DDK定義的一個(gè)數(shù)據(jù)結(jié)構(gòu),具有豐富的成員,對于單層驅(qū)動程序,直接接受并執(zhí)行這個(gè)請求包,完成對硬件的操作,
9、從而完成I/ O請求工作,并將執(zhí)行的結(jié)果通過I/ O 管理器返回應(yīng)用程序;對于多層驅(qū)動則將驅(qū)動程序分成若干層,每層驅(qū)動再把I/ O 請求劃分成更簡單的請求,以傳給更下層的驅(qū)動執(zhí)行。圖2 Windows2000 系統(tǒng)結(jié)構(gòu) 3.2 驅(qū)動程序設(shè)計(jì)實(shí)現(xiàn) 該數(shù)據(jù)采集卡驅(qū)動程序完成以下功能:應(yīng)用程序控制數(shù)據(jù)采集卡工作方式,向數(shù)據(jù)采集卡工作方式緩沖器發(fā)送工作方式控制字;應(yīng)用程序查詢數(shù)據(jù)采集卡工作狀態(tài),從數(shù)據(jù)采集卡工作狀緩沖器讀取工作狀態(tài)字;為了使應(yīng)用程序能實(shí)時(shí)處理數(shù)據(jù)采集卡上采集到的數(shù)據(jù),SRAM與主機(jī)內(nèi)存之間要實(shí)現(xiàn)DMA方式的數(shù)據(jù)傳輸。 采用VC+DDK+Driverworks進(jìn)行驅(qū)動程序開發(fā),Driverworks為驅(qū)動程序開發(fā)提供向?qū)?,可以方便的建立一個(gè)驅(qū)動程序框架。下面分別說明控制命令和DMA方式傳輸數(shù)據(jù)的實(shí)現(xiàn)方法。 1)主機(jī)發(fā)送數(shù)據(jù)采集卡控制命令實(shí)現(xiàn) Driverworks利用KMemoryRange和KIoRange實(shí)現(xiàn)內(nèi)存和I/O映射空間的讀寫,通過配置EEPROM,將PCI9054的Base2空間設(shè)定為一個(gè)內(nèi)存映射空間,局部端FPGA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 不忘初心方得始終
- 中日幼兒教育比較分析
- 中移鐵通培訓(xùn)
- 艾滋病健康教育課件
- 危險(xiǎn)化學(xué)品操作證培訓(xùn)
- 裝卸作業(yè)安全培訓(xùn)
- 量具使用規(guī)范培訓(xùn)
- 古爾邦節(jié)酒店活動方案
- 古箏銷售活動方案
- 古鎮(zhèn)新春活動方案
- 叉車裝卸搬運(yùn)合同協(xié)議書
- 突發(fā)事件應(yīng)對法考試題庫
- 公司勞務(wù)合同范本2018
- DL∕T 1753-2017 配網(wǎng)設(shè)備檢修試驗(yàn)規(guī)程
- 寄生蟲病防治技能競賽試題及答案
- 中興智慧園區(qū)智能停車解決方案
- 陜西省西安市西光中學(xué)2025屆高一化學(xué)第二學(xué)期期末考試試題含解析
- 期末專題復(fù)習(xí)專題04 修改病句(專項(xiàng)訓(xùn)練)-2023-2024學(xué)年四年級下冊語文(統(tǒng)編版)
- 檢驗(yàn)科實(shí)驗(yàn)室生物安全
- 數(shù)學(xué)教學(xué)與技能訓(xùn)練智慧樹知到期末考試答案章節(jié)答案2024年濟(jì)寧學(xué)院
- 國開(河南)專科《管理心理學(xué)》作業(yè)練習(xí)1-3+終考試題及答案
評論
0/150
提交評論