>
首页 » 业界动态 » 编码器倍频、鉴相电路在FPGA中的实现

编码器倍频、鉴相电路在FPGA中的实现

作者:张宝泉,杨世兴,赵永秀  时间:2006-12-03 13:27  来源:edi
摘要:VHDL是系统设计领域最佳的硬件描述语言。文章针对用于位置与速度反馈测量的光电编码器信号的特点,介绍了运用VHDL在FPGA中实现编码器倍频、鉴相电路的方法,它对提高编码器分辨率与实现高精度、高稳定性的信号检测及位置伺服控制具有一定的现实意义。

关键词:编码器;倍频;鉴相;FPGA;VHDL

0 引言

VHDL诞生于1982年,于1987年被IEEE和美国国防部确认为标准的硬件描述语言,即IEEESTD1076。HDL主要用于描述数字系统的结构、行为、功能和接口。与其它的硬件描述语言相比,VHDL具有更强的行为描述能力,因而成为系统设计领域最佳的硬件描述语言。FPGA(现场可编程门阵列,Field Programmable Gate Array)器件集成度高,体积小,具有通过用户编程实现专门应用的功能。采用FPGA器件可以将原来的电路板级产品集成为芯片级产品,从而降低功耗,提高可靠性,同时还可以方便地对设计进行在线修改。目前,VHDL语言已经成为FPGA设计输入的主要方法之一。本文即运用VHDL设计输入方法在FPGA中实现编码器的倍频、鉴相电路。

1 在FPGA中实现倍频、鉴相电路的优越性

在数控系统和工业机器人控制系统及一些使用光电编码器作为位置反馈和速度反馈组成的系统中,总是要用到对光电编码器(或光栅)的输出脉冲进行倍频、鉴相的电路,如图1所示。其目的是提高位置分辨率,获取电机的实际转动方向(或工作台移动方向),提高抗干扰能力。而在以往的控制系统中经常用由RC电路及门电路构成的倍频、鉴相电路,该电路体积大且稳定性、可靠性差、调试烦琐,而且当电阻、电容等组件参数变化时,会导致脉宽发生变化或不能产生具有稳定宽度的脉冲。此外,RC电路抗干扰能力差,反馈部分易受外界的干扰,在实际应用中会出现丢失脉冲现象,以至影响控制系统的精度和可靠性。本文介绍的运用VHDL在FPGA中实现的四倍频、鉴相电路采用全数字反馈电路的设计方法,由于倍频、鉴相电路设计在同一芯片上,一方面,芯片内部的门电路、触发器的参数特性完全—致,能保证在相同转速下四倍频脉冲信号的周期保持一致。另一方面,FPGA是板级芯片,电路做在芯片内部,其抗干扰能力比分离器件有了很大提高。同时,由于现场可编程,可以方便地实现对电路的重新设计或修改,增强了系统的灵活性、通用性和可靠性。

图1 编码器倍频、鉴相示意图

2 4倍频、鉴相电路在FPGA中的VHDL实现

测试和应用表明,4倍频、鉴相电路具有结构简单、可靠性高、抗干扰能力强等优点,因此在大多数系统的编码器反馈回路都采用4倍频、鉴相电路。在FPGA中设计4倍频、鉴相电路一般有两种方法:一种是两路输出,一路输出方向,一路输出脉冲;另一种也是两路输出,一路输出正向脉冲,一路输出反向脉冲。本文采用前一种方法,这种方法易于与可逆计数器连接。光电编码器一般都输出两个相位相差90°的脉冲信号A、B,同时还输出其反相脉冲序列/A、/B。当编码器顺时针旋转时,A相超前于B相90°;逆时针旋转时,A相滞后于B相90°。据此可进行方向判别与信号倍频处理。当电机正转时,方向信号输出为1,可逆计数器对4倍频后的脉冲进行加记数;当电机反转时,方向信号输出为0,可逆计数器对4倍频后的脉冲进行减记数。

本文应用ACTEL的集成开发软件Libero IDE v5.2进行设计、仿真,用Syplify 7.2进行综合。设计过程如图2所示。设计输入可以采用原理图方式,也可以采用HDL语言方式,当然也可以采用混合方式。

图2 Libero IDE设计流程

本文采用流行的VHDL方式,其VHDL语言实现如下所示。



3 仿真结果

由VHDL语言程序产生的符号(即在开发软件中用Create Symbol产生的图形)如图3所示。由图3可以清楚地看到本模块有3个输入A、B和CLK和两个输出DIR和F4OUT。其中A、B即为差分整形电路的输出,CLK为时钟信号;DIR是方向信号输出,F4OUT是4倍频后的脉冲输出。图4和图5是本模块的仿真结果,其中图4为A相超前B相90°的仿真波形,图5为B相超前A相90°的仿真波形。由图4和图5可以看出,当A相超前B相90°时,即电机正转时方向信号DIR为1;当电机反转时DIR为0,即鉴相。同时,在A或B信号的一个周期中F4OUT输出了4个脉冲,即4倍频。

图3 由程序产生的图形


4 结果分析

时钟信号CLK的频率要远远高于输入信号(A或B)频率(一般fCLK≥8f,其中,f为编码器输出最高频率),才能获得稳定的4倍频脉冲输出。改变CLK的频率可以改变4倍频后的脉冲信号的占空比,因此可以靠调节CLK的频率来获得合适占空比的脉冲输出。

5 结语
本文关于运用VHDL在FPGA中实现的编码器倍频、鉴相电路,已经在笔者参加的雕刻机的研发中得到了验证,它在系统中存在抖动及毛刺等干扰的情况下,仍能获得稳定可靠的测量结果,这对于正确和合理地使用编码器,提高它的功能效益,从而在数控及机器人的死循环位置和速度控制系统中,提高位置调节精度,扩大速度调节范围,都有良好的效果,是一种提高编码器分辨率、实现角位移或转速测量的优选电路。

相关推荐

没有退路的FPGA与晶圆代工业者

FPGA  晶圆代工  2014-01-03

采用FPGA的可编程电阻的设计结构分析

FPGA  电阻  2013-09-24

从FPGA的制程竞赛看英特尔与Fabless的后续变化

FPGA  Fabless  2013-07-16

物联网融合自动化推动高效生产模式变革

物联网  FPGA  SoC  2013-07-09

14纳米FPGA展现突破性优势

14纳米  FPGA  2013-06-20

高清视频监控FPGA应用迎来小高峰

视频监控  FPGA  2013-06-20
在线研讨会
焦点