一种采用PCI 软核的轴角数据采集系统
扫描二维码
随时随地手机看文章
研究一种基于PCI软核的轴角编码数据采集系统,实现伺服系统角度位置量的实时测控。采用FPGA器件实现PCI接口逻辑。FIFO存贮单元及轴角转换控制逻辑,采用旋转变压器-数字转换模块实现高速轴角转换,并设计了相应地WDM驱动程序。采集板应用于LabWindows的测控系统中,数据采样速率达到27 r/s,数据传输速率达到132 MB/s.
0引言
在工业控制伺服设备中,实现角度位置量的高精度实时测量和控制是关键性的技术。轴角转换模块是一种角度量/数字转换器,其功能是将旋转变压器及自整角机的模拟信号转换为数字信号,与普通的A/D编码相比,轴角编码采用正。余信号进行编码,抗干扰能力强及转换速度快。随着FPGA技术的发展,在FPGA上能够实现PCI接口。存贮器及逻辑控制功能。由于FPGA具有灵活的可编程性的优点,PCI接口可以依据插卡功能进行最优化,而不必实现所有的PCI功能,这样可以节约系统的逻辑资源,实现紧凑的系统设计。本文介绍采用轴角转换器及Altera公司的FPGA器件实现角度量高速采集的PCI接口板的方法。
1系统硬件设计
轴角数据采集卡主要由轴角转换器件(RDC转换器)。FPGA器件EPF10K30组成。其功能框图如图1所示,输入的旋转变压器的正弦。余弦信号经RDC转换器转换为数字量,输出精度为14位;FPGA实现PCI总线接口功能以及控制逻辑功能,内部主要由PCI_MT32宏单元及FIFO存贮器组成。
RDC转换器实现旋转变压器信号到数字的转换,其工作原理是旋转变压器输出的正。余弦信号幅度调制信号,角度量信息包含在正弦波的幅度里,并定义:
式中VX(t)和VY(t)代表正弦。余弦信号,其振幅分别为KX Eo cosθ和KY Eo sinθ。在振幅表达式中,只有sinθ和cosθ变化;基准振幅Eo和增益因数KX ,KY都是常数。
在交流信号中,正。余弦信号幅度之比载送角度量信息,即式(1)与式(2)之比:
由式(3)中的正切函数tanθ得到角度量。在RDC转换器中,采用连续跟踪式转换方式,其转换时序如图2所示,其中“BUSY”是转换器“忙”信号,“DATA”是数据信号。当“BUSY”信号为高电平时,转换器处于跟踪转换状态,数据信号“DATA”处于不稳定的变化状态;当“BUSY”信号为低电平时,表示转换结束,数据信号“DATA”处于稳定状态,可以进行读取操作。为了实现对角度量的连续采集,根据转换器的时序关系,用FPGA设计一个FIFO存贮器,用忙信号的下降沿触发保存数据。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实现。PCI_MT32是一个32位主。从方式的PCI接口功能模块,支持33 MHz和66 MHz的总线时钟。
PCI_MT32的功能框图如图3所示,由两部分功能组成,一部分与PCI总线相连接,包括PCI Address/DataBuffer(地址数据总线)以及PCI Target Control(PCI从方式)控制信号,这些信号的功能与PCI总线的接口协议的规范相同,另一部分与局部总线相连接,包括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出现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是指每次读取的字节数是4,即每次读32位数据,PULONG pBuffer=(PULONG)I.
BufferedReadDest()表示通过缓冲区来读写IO.修改好的程序经过编译后,生成Mpci.inf和Mpci.sys文件,存放在sys\i386的目录下。当把PCI接口板插入计算机后,重新启动计算机,系统显示找到新硬件,按照提示将Mpci.inf和Mpci.sys文件装入。
该采集卡用于LabWindows/CVI的虚拟仪器中,在LabWindows/CVI中调用驱动程序的方法如下:
图4是显示的采集数据波形,由波形图可以测出轴角编码数据采集系统能够实现实时采集。
4结语
本文讨论了基于PCI总线的高速轴角数字采集系统,实现对轴角量的高速采集。采用FPGA设计PCI接口,将接口电路。存贮器及轴角时序转换控制集成于一个芯片,具有集成度高及实现方式灵活的特点。本采集卡用于轴角虚拟仪器系统,试验表明采用PCI总线的轴角采集卡的数据采集速率能够达到27 r/s,数据传输速率132 MB/s,优于ISA总线接口的采集板。