根据VHDL的旋转编码器接口电路的完成
时间: 2024-09-07 05:00:52 | 作者: 变频电源维修
是一种高精度的角方位丈量传感器,具有分辨率比较高、呼应速度快等特色,被大范围的应用在以方位或视点为方针的操控办理体系中。将编码器安装在电机轴的非负载端跟从滚动,其反应信号传递给操控器,构成对电机的闭环操控[1]。
增量式旋转编码器宣布两路正交脉冲,即两路(A、B)相位差90的方波,其相位联系标志电机的转向,当A相超前B相90时,标志电机正转,如图1所示;当B相超前A相90时,标志电机回转,如图2所示。编码器旋转一圈,输出脉冲数固定,通过累加A、B两相信号的脉冲数可以核算电机转过的视点。
本文用VHDL言语规划了一种增量式旋转编码器的接口电路,可以装备在CPLD或许FPGA上,完成对编码器输出信号的四倍频、双向可逆计数和与单片机接口的功用。下面介绍各个电路的规划原理和完成源码。
关于每个确认的编码器,其脉冲周期T对应的角位移固定为q,其量化差错为q/2。若将A和B信号四倍频,则计数脉冲的周期将减小到T/4,量化差错减小为q/8,从而使角位移丈量精度进步4倍[2]。
如图1和图2所示,在恣意一个周期T内,A、B两路信号各改动了两次,别离发生一次上升沿和一次下降沿,若用Y对A、B两路信号的跳变沿计数,则在一个脉冲周期内,信号Y就会呈现4次改动,完成编码器信号的四倍频。
在信号跳变沿时检测另一相信号的电平值能判别转向[3]。例如,在A相信号上升沿时检测B相信号电平,若B为低电平(如图1),表明电机正转;若B为高电平(如图2),表明电机回转。结合上面所述四倍频原理,计数规矩总结如下。
①A相上升沿,B=0;②A相下降沿,B=1;③B相上升沿,A=1;④B相下降沿,A=0。
①B相上升沿,A=0;②B相下降沿,A=1;③A相上升沿,B=1;④A相下降沿,B=0。
编码器的脉冲计数值一般要传送给单片机或其他操控器做处理,而CPLD的大局时钟的频率高于单片机的时钟频率,为确保CPLD和单片机之间计数值传输的正确性,单片机首要发送信号给CPLD,将计数值锁存后再进行传输。CPLD与单片机接口示意图如图3所示。本规划中CPLD检测到单片机锁存信号的上升沿后将当时计数值锁存[4],然后在单片机位选信号的上升沿和下降沿分时将16 bit计数值的高8位和低8位传送给单片机8 bit I/O端口。
本规划使用D触发器的延时效果检测信号跳变沿,D输入端接脉冲信号,则Q输出端是上一个CLK周期的脉冲信号状况。在CLK的上升沿检测Q端输出和D端信号电平值是否共同,不共同表明呈现跳变沿。
设A和B是A、B相的源信号,通过D触发器后A、B相信号记为A1、B1,则计数规矩表明为:
使用ALTERA的开发工具MAX+PlusⅡ,输入VHDL文本文件,方针设备为EPM7128SLC84[5],CLK周期为200 ns,A、B的周期为2 000 ns,编译后仿线是编码器正转时的仿线个周期,两条符号线内,计数值OUTPUT由初始值4增加到8,完成四倍频加计数。
图5是编码器回转时的仿线个周期内,计数值OUTPUT由初始值15削减到11,完成四倍频减计数。
图6是编码器由正转切换为回转时的仿真波形。如图中符号线所示,B相超前A相后的第一个CLK的上升沿,计数方向当即改动,由加计数变为减计数。
如图7中符号线所示,在锁存信号lock上升沿时16 bit计数值锁存于OUT_lock;位选信号choose上升沿后的第一个CLK上升沿,8 bit计数值OUTPUT8输出OUT_lock的高8位;choose下降沿时OUTPUT8输出OUT_lock的低8位。
由上述仿真波形可以精确的看出,本电路的规划完成了编码器的转向辨别、四倍频、双向计数以及与单片机通讯的功用。
本文规划的编码器接口电路,结构相对比较简单、可靠性高,即便在正回转经常性替换的场合也能高精度地作业。本接口电路已应用在单级旋转倒竖摆操控办理体系中,且运转杰出。