微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于FPGA的速度和位置测量板卡的设计与实现

基于FPGA的速度和位置测量板卡的设计与实现

时间:10-18 来源:互联网 点击:

摘要:针对增量式光电编码器经典速度测量算法M/T法低速采样时间过长和位置测量算法精度不高的问题,本文基于定采样周期M/T法设计实现了速度和位置测量板卡。采用Xilinx公司的XC3S400 FPGA为核心控制芯片进行设计,并设计PC104总线接口实现板卡与控制器的数据通信。该板卡接收处理光电编码器的反馈脉冲得到速度和位置参数,将数据通过PC104总线接口传递给控制器。实验表明,板卡的最小采样时间达到1ms,并且位置测量精度可达5×10-3。

增量式光电编码器作为速度和位置传感器被广泛应用于伺服系统。理论上,光电编码器反馈脉冲的频率对应被测轴转速,反馈脉冲个数的累加值对应位置信息。经典的速度测量方法有M法、T法和M/T法3种:其中M法通过计取固定时间间隔内光电编码器的反馈脉冲数计算当前转速,适用于高速场合;T法利用高频脉冲测量相邻反馈脉冲的时间间隔计算当前转速,适用于低速场合;M/T法不仅测量固定时间间隔内反馈脉冲的增量值,而且计数该时间内的高频脉冲数。虽然M/T法克服了M法和T法测速范围有限的缺点,在高速和低速段都具有较高的分辨率及较低的测速误差,但是存在低速采样时间过长等问题。经典的位置测量方法按转向的正负对反馈脉冲进行增减计数,然后将计数值乘以脉冲当量K得到当前位置信息,可见其测量精度取决于脉冲当量。

本文以定采样周期M/T法为基础,它解决了经典M/T法低速检测时间过长的问题,保证每一固定周期都能采样到数据。此外,该算法充分利用反馈脉冲的位置信息和时间信息,得到了比一个脉冲当量K更为精确的位置信息。本文利用FPGA设计实现定采样周期M/T法,并设计PC104总线接口满足板卡与控制器数据通信的要求。

1 总体方案

速度和位置测量板卡接收光电编码器的反馈脉冲信号,通过差分电路将其转换为单端信号消除共模干扰,然后在FPGA中对脉冲处理得到速度和位置参数,最后将参数通过PC104数据接口传递给控制器。速度和位置测量板卡除差分电路以外的功能均通过FPGA设计实现(如图1所示),因此FPGA是本板卡的核心芯片。速度和位置测量板卡主要包括倍频辨向模块、定采样周期M/T法模块和PC104数据接口模块。

1. 1 倍频辨向模块

光电编码器的输出反馈脉冲包括相位差90°的A、B信号以及零位脉冲Z。A、B之间的相位关系标志被测轴的转向,即A相超前B相90°表示正转,滞后90°表示反转;Z脉冲起到参考零点的作用。一个周期内A、B两路信号的相对位置变换了4次,即正转A、B按00-10-11-01循环输出,反转遵循00-01-11-10的规律。倍频辨向模块通过检测A、B信号的状态变化输出四倍频及方向信号,不仅提高了速度和位置测量的精度,还起到抗干扰的作用。

1.2 定采样周期M/T法模块

定采样周期M/T法模块分为速度测量电路和位置测量电路两部分,图2给出了该算法的硬件原理及时序图。定采样周期M/T法对高频脉冲fc两级锁存的设计确保实际检测起始点Tk超前于采样周期Tn,这解决了M/T法在低速时检测时间过长的问题,保证每个采样周期内都能成功采集到数据。

速度测量硬件电路由速度计数器及其数据锁存器Cm,以及高频脉冲计数器及其两级数据锁存器Cf和Ct构成;其中速度锁存器Cm和高频脉冲锁存器Ct由采样脉冲触发,辅助高频脉冲锁存器Cf由反馈脉冲触发。通过差分处理得到当前周期Tn内的转速增量Cm和高频脉冲增量Ct,并设高频脉冲的频率为fc,脉冲当量为K,那么计算可得转速为:

Vn=KxfcxCm/Ct

位置测量硬件电路同样采用高频脉冲的两级锁存设计,除此之外还包括位置计数器及其数据锁存器Cmm,以及辅助位置锁存器Ctt。由图2可知,dTn-1和dTn这两个时间差所对应的位置变化小于一个脉冲当量K,位置测量算法将上述时间差内的位置变化加入到位置信息中,提高了位置测量的分辨率和精度。dTn通过差分当前周期辅助位置锁存器Ctt和脉冲锁存器Ct得到,接着将dTn乘以速度值Vn可得位置变化。位置锁存器Cmm计取了反馈脉冲的变化值,再加上dTn-1和dTn内位置变化,便能计算出精确的位置信息。

dTn=(Ctt(n)-Ct(n))/fc

S=KxCmm+VnxdTn-Vn-1xdTn-1

2 各个模块Verllog实现

根据速度和位置测量板卡的总体设计方案,利用Verilog设计实现各模块。

2.1 倍频辨向模块

本模块在FPGA系统时钟clk上升沿检测A、B的电平,并与上一clk记录的状态进比较:当状态变化符合00-10、10-11、11-01、01-00时,表明A超前B相90°,并且A或B产生一个边沿跳变,此时光电编码器正转那么置1方向信号,同时输出一个计数脉冲,这样一个周期内将产生4个计数脉冲实现了四倍频;当变化对应00-01、01-11、11-10、10

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top