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





