新聞中心

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

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

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

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

本文引用地址:http://www.butianyuan.cn/article/191304.htm

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

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


上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

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

關(guān)閉