<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于PCI9054的數(shù)據(jù)轉(zhuǎn)換模塊設(shè)計(jì)

          基于PCI9054的數(shù)據(jù)轉(zhuǎn)換模塊設(shè)計(jì)

          作者: 時(shí)間:2011-03-17 來源:網(wǎng)絡(luò) 收藏

          通過設(shè)置其DMA控制器內(nèi)部的寄存器即可實(shí)現(xiàn)兩總線之間的數(shù)據(jù)傳輸。的DMA傳輸過程可由以下幾個(gè)步驟實(shí)現(xiàn):
          1)設(shè)置方式寄存器:設(shè)置DMA通道的傳輸方式,寄存器DMAMODE0或者DMAMODE1;
          2)設(shè)置地址寄存器:設(shè)置總線側(cè)的地址空間起始地址;
          3)設(shè)置LOCAL地址寄存器:設(shè)置LOCAL總線側(cè)的地址空間起始地址;
          4)設(shè)置傳輸計(jì)數(shù)寄存器:以字節(jié)位單位設(shè)置每次DMA數(shù)據(jù)傳輸量;
          5)設(shè)置描述寄存器:設(shè)置DMA傳輸?shù)姆较颍?表示數(shù)據(jù)從PCI總線到Local總線,1表示數(shù)據(jù)從Local總線到PCI總線;
          6)設(shè)置命令/狀態(tài)寄存器:啟動(dòng)或停止DMA操作。
          當(dāng)應(yīng)用程序啟動(dòng)開始模擬后,驅(qū)動(dòng)程序收到應(yīng)用程序開始模擬的命令后,同時(shí)填寫PCI的門鈴寄存器(PCI端偏移地址:60H)產(chǎn)生LO-CAL端的中斷通知硬件接收DMA的數(shù)據(jù),F(xiàn)PGA收到中斷后,清除中斷,同時(shí)判斷收到開始模擬的命令。硬件準(zhǔn)備好以后發(fā)中斷告訴主機(jī)已經(jīng)準(zhǔn)備好,同時(shí)填寫PCI的門鈴寄存器(PCI端偏移地址:64H)產(chǎn)生PCI端的中斷通知硬件已經(jīng)準(zhǔn)備好,主機(jī)收到中斷后,清除中斷,填寫啟動(dòng)DMA開始寄存器,把計(jì)算機(jī)內(nèi)存空間的數(shù)據(jù)通過PCI總線傳輸?shù)絇CI9054的LOCAL端,F(xiàn)PGA接收LOCAL端的數(shù)據(jù)存入數(shù)據(jù)緩沖區(qū),同時(shí)由FPGA控制讀取緩沖區(qū)中的數(shù)據(jù)經(jīng)并串轉(zhuǎn)換用LVDS信號(hào)形式發(fā)送。當(dāng)DMA結(jié)束后產(chǎn)生主機(jī)PCI中斷,主機(jī)收到中斷后清除中斷,并等待硬件準(zhǔn)備好中斷來后清中斷填寫下一個(gè)DMA開始,直到模擬數(shù)據(jù)模擬完為止。

          本文引用地址:http://www.ex-cimer.com/article/191304.htm

          4 WDM驅(qū)動(dòng)程序設(shè)計(jì)
          4.1 WDM驅(qū)動(dòng)程序簡介
          WDM驅(qū)動(dòng)程序是一種PnP驅(qū)動(dòng)程序,它同時(shí)還遵循電源管理協(xié)議,并能在Windows 98和Windows 2000間實(shí)現(xiàn)源代碼級(jí)兼容。WDM驅(qū)動(dòng)程序還細(xì)分為類驅(qū)動(dòng)程序(class driver)和迷你驅(qū)動(dòng)程序(minidriver),類驅(qū)動(dòng)程序管理屬于已定義類的設(shè)備迷你驅(qū)動(dòng)程序向類驅(qū)動(dòng)程序提供廠商專有的支持。在WDM驅(qū)動(dòng)程序模型中,每個(gè)硬件設(shè)備至少有兩個(gè)驅(qū)動(dòng)程序。其中一個(gè)驅(qū)動(dòng)程序稱為功能(function)驅(qū)動(dòng)程序,了解使硬件工作的所有細(xì)節(jié),負(fù)責(zé)初始化I/O操作,處理I/O操作完成時(shí)所帶來的中斷事件,為用戶提供一種設(shè)備適合的控制方式。另一個(gè)驅(qū)動(dòng)程序稱為總線(bus)驅(qū)動(dòng)程序,它負(fù)責(zé)管理硬件與計(jì)算機(jī)的連接。例如,PCI總線驅(qū)動(dòng)程序檢測插入到PCI槽上的設(shè)備并確定設(shè)備的資源使用情況,它還能控制設(shè)備所在PCI槽的電流開關(guān)。
          4.2 驅(qū)動(dòng)程序開發(fā)環(huán)境及設(shè)計(jì)
          項(xiàng)目開發(fā)中選擇的是Numega公司的Driverstudio驅(qū)動(dòng)程序開發(fā)工具包,它是建立在Windows Driver Development Kit之上的驅(qū)動(dòng)程序開發(fā)工具,包含了VtoolsD、DriverWorks、DriverNetWorks和SoftICE等開發(fā)工具。DriverWorks用于開發(fā)普通設(shè)備的WDM驅(qū)動(dòng)程序,SoftICE提供了強(qiáng)大的調(diào)試工具。在安裝Driverstudio之前,還需要安裝相應(yīng)操作系統(tǒng)的DDK,如XPDDK和VC6.0工具。
          在Driverstudio驅(qū)動(dòng)程序向?qū)Ю锟梢暂p易方便地建立起PCI9054的驅(qū)動(dòng)程序框架,而且Driverstudio還提供了PCI9054驅(qū)動(dòng)程序中大量類函數(shù)的接口,降低了開發(fā)難度,縮短了程序編寫時(shí)間。調(diào)試程序可以使用SoftICE和Driver Moniter,極為方便查錯(cuò)及優(yōu)化程序設(shè)計(jì)。

          5 結(jié)束語
          本文通過介紹PCI總線接口協(xié)議芯片PCI9054的性能、特點(diǎn),分析Windows的WDM驅(qū)動(dòng)程序的特點(diǎn),對所設(shè)計(jì)的模塊結(jié)構(gòu)進(jìn)行了詳細(xì)說明,提出了雙SBAM結(jié)構(gòu)數(shù)據(jù)緩存器的應(yīng)用方案。應(yīng)用結(jié)果表明,該設(shè)計(jì)可滿足數(shù)字視頻帶寬20 MHz以內(nèi)的高速串行數(shù)據(jù)流(INDS數(shù)據(jù)流)的轉(zhuǎn)換與傳輸,保證了硬件內(nèi)存大容量讀取的高速、實(shí)時(shí)性。


          上一頁 1 2 3 4 下一頁

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();