当前位置:文档之家› 光栅尺数据采集系统及实现

光栅尺数据采集系统及实现

光栅尺数据采集系统及实现
摘要:本文对光栅尺的数据采集进行了研究,对其输出的脉冲信号使用FPGA进行了采集,在FPGA内部采用细分,辨向,计数,缓存的处理手段实现了光栅尺的脉冲信号处理,使用Verilog HDL语言实现了处理逻辑,并通过了仿真验证。

处理后的数据缓存到FIFO中输出给了USB接口,以通过其传输给上位机。

关键词:光栅尺FPGA USB 数据处理
光电轴角编码器,又称光电角位置传感器。

它以高精度计量圆光栅为检测元件,通过光电转换,将输入的角位置信息转换成相应的数字代码,并可与计算机及显示装置相连接,不仅能够实现数字测量与数字控制,而且与其它同类用途的传感器相比,具有精度高,测量范围广体积小、重量轻,使用可靠,易于维护等优点,具有较高的性能价格比,因此已普遍应用在雷达、光电经纬仪、地面指挥仪、机器人、数控机床和高精度闭环调速系统等诸多领域,是自动化设备理想的角度传感器[1]。

本文使用RENISHAW公司生产的光栅尺解码器对光电轴角编码器进行读数,读数头通过26针的D型插座输出2组差分增量信号,然后使用FPGA对其输出的信号进行采集处理,然后通过USB接口把数据传送到上位机。

1原理及实现:
光栅尺读数头的输出脉冲是相位相差90度的两路脉冲方波,当轴沿着逆时针方向旋转时,A信号领先于B信号相位90度,当轴沿着顺时针方向旋转时,B信号领先于A信号相位90度。

A,B信号频率的高低变化反映了轴旋转速度的改变。

辨向逻辑的任务就是分清楚轴是顺时针还是逆时针旋转,通过分析A,B路的输出波形可以总结出,当检测到A信号的正跳变沿时,
检查B信号的状态。

若此时B信号为低,则可知旋转沿着逆时针方向旋转,若此时B信号为高,则是沿着逆时针方向旋转的。

细分逻辑的任务就是提高光栅精度,通过对A和B信号的全部上升沿和下降沿进行计数,不需要专用的细分模块,即可实现四细分;并通过在每个跳变沿判断A与B的电平高低来实现辨向。

根据上述的原理可以写出verilog HDL的部分代码如下
always @(rst or a)
if (!rst) q <= 524288;
else
begin
if (a==b) q=q-1;
else q=q+1;
end
always @(rst or b)
if (!rst) q <= 524288;
else
begin
if (a==b) q=q+1;
else q=q-1;
end
通过XILINX ISE的仿真图如下所示:
可以看出该模块完整的实现了对光栅尺的细分辨向及计数的功能。

2与上位机的接口
细分辨向后的数据通过一个锁存器存起来,并且以一定的频率输送到内部的FIFO中,内部FIFO与一片CY7C68013连接,CY7C68013是高集成、低功耗USB 2.0 微控制器
EZ-USB FX2? (CY7C68013) 的一个低功耗版本。

通过将USB2.0 收发器、串行接口引擎(SIE)、增强型8051 微控制器,以及可编程外设接口集成到一个芯片中,赛普拉斯研发出一个极具成本优势的解
决方案,不仅能在极短时间内完成从立项到投放市场的过程,而且其低功耗特点使得总线供电应用成为可能[2]。

FPGA与CY7C68013的连接图如下所示:
通过编写用于实现FPGA与CY68013的接口模块程序,USB固件程序,USB设备驱动程序以及客户端应用程序就可以实现FPGA 与外部上位机的通信,由于USB通信的模块已经很成熟,这里就不列出具体的代码。

3总结
本系统只是导航采集系统中的一个小部分,在实际的工程中所要采集的数据远远不止这两组,但是通过FPGA的并行性能和良好的可扩张性,可以轻松的实现12组数据的并行采集,并且在FPGA的控制逻辑下可以保证很高的实时性和可靠性。

参考文献
[1]董莉莉,熊经武.光电编码器的发展动态.光学精密工程,2000,(8):
24-27.
[2]Cypress Semiconductor Corporation.EZ-USB FX2 TechnicalReference Manual(Version2.1).www.cypress.com.2003.。

相关主题