一種采用PCI 軟核的軸角數(shù)據(jù)采集系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
研究一種基于PCI軟核的軸角編碼數(shù)據(jù)采集系統(tǒng),實(shí)現(xiàn)伺服系統(tǒng)角度位置量的實(shí)時(shí)測(cè)控。采用FPGA器件實(shí)現(xiàn)PCI接口邏輯。FIFO存貯單元及軸角轉(zhuǎn)換控制邏輯,采用旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換模塊實(shí)現(xiàn)高速軸角轉(zhuǎn)換,并設(shè)計(jì)了相應(yīng)地WDM驅(qū)動(dòng)程序。采集板應(yīng)用于LabWindows的測(cè)控系統(tǒng)中,數(shù)據(jù)采樣速率達(dá)到27 r/s,數(shù)據(jù)傳輸速率達(dá)到132 MB/s.
0引言
在工業(yè)控制伺服設(shè)備中,實(shí)現(xiàn)角度位置量的高精度實(shí)時(shí)測(cè)量和控制是關(guān)鍵性的技術(shù)。軸角轉(zhuǎn)換模塊是一種角度量/數(shù)字轉(zhuǎn)換器,其功能是將旋轉(zhuǎn)變壓器及自整角機(jī)的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),與普通的A/D編碼相比,軸角編碼采用正。余信號(hào)進(jìn)行編碼,抗干擾能力強(qiáng)及轉(zhuǎn)換速度快。隨著FPGA技術(shù)的發(fā)展,在FPGA上能夠?qū)崿F(xiàn)PCI接口。存貯器及邏輯控制功能。由于FPGA具有靈活的可編程性的優(yōu)點(diǎn),PCI接口可以依據(jù)插卡功能進(jìn)行最優(yōu)化,而不必實(shí)現(xiàn)所有的PCI功能,這樣可以節(jié)約系統(tǒng)的邏輯資源,實(shí)現(xiàn)緊湊的系統(tǒng)設(shè)計(jì)。本文介紹采用軸角轉(zhuǎn)換器及Altera公司的FPGA器件實(shí)現(xiàn)角度量高速采集的PCI接口板的方法。
1系統(tǒng)硬件設(shè)計(jì)
軸角數(shù)據(jù)采集卡主要由軸角轉(zhuǎn)換器件(RDC轉(zhuǎn)換器)。FPGA器件EPF10K30組成。其功能框圖如圖1所示,輸入的旋轉(zhuǎn)變壓器的正弦。余弦信號(hào)經(jīng)RDC轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字量,輸出精度為14位;FPGA實(shí)現(xiàn)PCI總線接口功能以及控制邏輯功能,內(nèi)部主要由PCI_MT32宏單元及FIFO存貯器組成。
RDC轉(zhuǎn)換器實(shí)現(xiàn)旋轉(zhuǎn)變壓器信號(hào)到數(shù)字的轉(zhuǎn)換,其工作原理是旋轉(zhuǎn)變壓器輸出的正。余弦信號(hào)幅度調(diào)制信號(hào),角度量信息包含在正弦波的幅度里,并定義:
式中VX(t)和VY(t)代表正弦。余弦信號(hào),其振幅分別為KX Eo cosθ和KY Eo sinθ。在振幅表達(dá)式中,只有sinθ和cosθ變化;基準(zhǔn)振幅Eo和增益因數(shù)KX ,KY都是常數(shù)。
在交流信號(hào)中,正。余弦信號(hào)幅度之比載送角度量信息,即式(1)與式(2)之比:
由式(3)中的正切函數(shù)tanθ得到角度量。在RDC轉(zhuǎn)換器中,采用連續(xù)跟蹤式轉(zhuǎn)換方式,其轉(zhuǎn)換時(shí)序如圖2所示,其中“BUSY”是轉(zhuǎn)換器“忙”信號(hào),“DATA”是數(shù)據(jù)信號(hào)。當(dāng)“BUSY”信號(hào)為高電平時(shí),轉(zhuǎn)換器處于跟蹤轉(zhuǎn)換狀態(tài),數(shù)據(jù)信號(hào)“DATA”處于不穩(wěn)定的變化狀態(tài);當(dāng)“BUSY”信號(hào)為低電平時(shí),表示轉(zhuǎn)換結(jié)束,數(shù)據(jù)信號(hào)“DATA”處于穩(wěn)定狀態(tài),可以進(jìn)行讀取操作。為了實(shí)現(xiàn)對(duì)角度量的連續(xù)采集,根據(jù)轉(zhuǎn)換器的時(shí)序關(guān)系,用FPGA設(shè)計(jì)一個(gè)FIFO存貯器,用忙信號(hào)的下降沿觸發(fā)保存數(shù)據(jù)。EPF10K30片內(nèi)帶有12 288位的存貯單元,可以由用戶設(shè)計(jì)成ROM.RAM或FIFO型存貯器。利用參數(shù)化雙時(shí)鐘FIFO宏單元LPM_FIFO_DC,設(shè)計(jì)數(shù)據(jù)寬度(LPM_WIDTH)為14位,存貯數(shù)據(jù)量(LPM_NUM-WORDS)為64的雙時(shí)鐘FIFO存貯器,由于數(shù)據(jù)的讀。寫由時(shí)鐘的上升沿控制,所以轉(zhuǎn)換器的忙信號(hào)經(jīng)反向后作為寫入時(shí)鐘信號(hào)(wrclock),讀時(shí)鐘(rdclock)。讀。寫請(qǐng)求信號(hào)及清除信號(hào),由計(jì)算機(jī)通過(guò)PCI接口控制。
2 PCI接口設(shè)計(jì)
PCI接口采用Altera公司的Megacore宏單元PCI_MT32實(shí)現(xiàn)。PCI_MT32是一個(gè)32位主。從方式的PCI接口功能模塊,支持33 MHz和66 MHz的總線時(shí)鐘。
PCI_MT32的功能框圖如圖3所示,由兩部分功能組成,一部分與PCI總線相連接,包括PCI Address/DataBuffer(地址數(shù)據(jù)總線)以及PCI Target Control(PCI從方式)控制信號(hào),這些信號(hào)的功能與PCI總線的接口協(xié)議的規(guī)范相同,另一部分與局部總線相連接,包括LocalTarget Address/Data/Command/Byte Enable寄存器。LocalTarget Control寄存器,用于傳送地址。數(shù)據(jù)和控制信號(hào)。配置寄存器(Configuration registers)可以進(jìn)行deciceID.vendor ID等參數(shù)的配置。
設(shè)計(jì)PCI的方法如下:在MAX+PLUSⅡ中,調(diào)入PCI_MT32宏單元后,根據(jù)數(shù)據(jù)采集板的功能和需要,設(shè)置PCI_MT32的參數(shù)表如下:
3 WDM驅(qū)動(dòng)程序設(shè)計(jì)
PCI總線接口板驅(qū)動(dòng)程序的設(shè)計(jì)采用CompuwareNumega公司的DriverStudio軟件[9],其設(shè)計(jì)步驟如下:
(1)啟動(dòng)DriverWorks出現(xiàn)Driver Wizard的向?qū)?duì)話框,首先輸入軸角數(shù)據(jù)采集板驅(qū)動(dòng)程序的文件名:
MPCI;(2)選擇文件的類型,選擇其中的WDM項(xiàng),表示生成WDM類型文件。
(3)選擇接口板的類型以及填寫Device ID和Vend-er ID.在接口板類型項(xiàng)中選擇PCI.Device ID和Vend-er ID是設(shè)備標(biāo)識(shí)符和銷售商標(biāo)識(shí)符,要與PCI接口板中的一致,因此填寫“0004”和“1172”作為Device ID和VenderID,Subsystem ID和Revision ID項(xiàng)采用缺省值。
由上面的步驟產(chǎn)生的WDM驅(qū)動(dòng)程序的框架代碼(Mpci.dsw)需要添加代碼,才能完成讀。寫和控制功能。在VC中打開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)讀寫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總線的高速軸角數(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總線的軸角采集卡的數(shù)據(jù)采集速率能夠達(dá)到27 r/s,數(shù)據(jù)傳輸速率132 MB/s,優(yōu)于ISA總線接口的采集板。