一種采用PCI軟核的軸角數(shù)據(jù)采集系統(tǒng)
設(shè)計(jì)PCI的方法如下:在MAX+PLUSⅡ中,調(diào)入PCI_MT32宏單元后,根據(jù)數(shù)據(jù)采集板的功能和需要,設(shè)置PCI_MT32的參數(shù)表如下:
3 WDM驅(qū)動(dòng)程序設(shè)計(jì)
PCI總線(xiàn)接口板驅(qū)動(dòng)程序的設(shè)計(jì)采用CompuwareNumega公司的DriverStudio軟件[9],其設(shè)計(jì)步驟如下:
?。?)啟動(dòng)DriverWorks出現(xiàn)Driver Wizard的向?qū)?duì)話(huà)框,首先輸入軸角數(shù)據(jù)采集板驅(qū)動(dòng)程序的文件名:
MPCI;(2)選擇文件的類(lèi)型,選擇其中的WDM項(xiàng),表示生成WDM類(lèi)型文件。
(3)選擇接口板的類(lèi)型以及填寫(xiě)Device ID和Vend-er ID.在接口板類(lèi)型項(xiàng)中選擇PCI.Device ID和Vend-er ID是設(shè)備標(biāo)識(shí)符和銷(xiāo)售商標(biāo)識(shí)符,要與PCI接口板中的一致,因此填寫(xiě)“0004”和“1172”作為Device ID和VenderID,Subsystem ID和Revision ID項(xiàng)采用缺省值。
由上面的步驟產(chǎn)生的WDM驅(qū)動(dòng)程序的框架代碼(Mpci.dsw)需要添加代碼,才能完成讀。寫(xiě)和控制功能。在VC中打開(kāi)Mpci.dsw,可以看到它是由兩部分組成:一個(gè)是用于生成驅(qū)動(dòng)程序的MPCI文件,一個(gè)是用于測(cè)試驅(qū)動(dòng)程序的TEST-MPCI文件。因?yàn)镻CI接口板的功能是讀取數(shù)據(jù),需要添加如下的“讀取”控制代碼:
程序中的I.ReadSize()=4是指每次讀取的字節(jié)數(shù)是4,即每次讀32位數(shù)據(jù),PULONG pBuffer=(PULONG)I.
BufferedReadDest()表示通過(guò)緩沖區(qū)來(lái)讀寫(xiě)IO.修改好的程序經(jīng)過(guò)編譯后,生成Mpci.inf和Mpci.sys文件,存放在 sys\i386的目錄下。當(dāng)把PCI接口板插入計(jì)算機(jī)后,重新啟動(dòng)計(jì)算機(jī),系統(tǒng)顯示找到新硬件,按照提示將Mpci.inf和Mpci.sys文件裝入。
該采集卡用于LabWindows/CVI的虛擬儀器中,在LabWindows/CVI中調(diào)用驅(qū)動(dòng)程序的方法如下:
圖4是顯示的采集數(shù)據(jù)波形,由波形圖可以測(cè)出軸角編碼數(shù)據(jù)采集系統(tǒng)能夠?qū)崿F(xiàn)實(shí)時(shí)采集。
4結(jié)語(yǔ)
本文討論了基于PCI總線(xiàn)的高速軸角數(shù)字采集系統(tǒng),實(shí)現(xiàn)對(duì)軸角量的高速采集。采用FPGA設(shè)計(jì)PCI接口,將接口電路。存貯器及軸角時(shí)序轉(zhuǎn)換控制集成于一個(gè)芯片,具有集成度高及實(shí)現(xiàn)方式靈活的特點(diǎn)。本采集卡用于軸角虛擬儀器系統(tǒng),試驗(yàn)表明采用PCI總線(xiàn)的軸角采集卡的數(shù)據(jù)采集速率能夠達(dá)到27 r/s,數(shù)據(jù)傳輸速率132 MB/s,優(yōu)于ISA總線(xiàn)接口的采集板。
評(píng)論