1 引言
在机器人和其他精密仪器的控制系统中,位置检测是需要解决的重要问题之一,位置检测的精度和稳定性对控制系统起着关键作用。计量光栅传感器、旋转编码器、激光陀螺等测量系统的输出一般为两路相位差90°的正交解码脉冲信号。根据正交解码信号之间相位的超前与滞后关系,把正交信号转换为另外两路信号,分别为代表正交信号任一路脉冲数的脉冲序列以及代表正交信号相位关系的控制信号。它们分别送到可逆计数器的计数输入端和加/减控制端。根据可逆计数的结果可获得测量系统所需要的位移或角位移等测量。在轮式移动机器人运动控制系统中常用旋转编码器检测车轮的速度和角度,从而构成闭环系统实现运动控制算法。一般微处理器不带正交解码脉冲接口,而一些专为控制电机推出的DSP,如TI公司的C24x、C27x、C28x系列只提供了两路正交解码脉冲接口,且是与捕捉功能复用的,不能满足检测两个以上位置的需要,因此设计开发解码器与微处理器的接口具有重要的应用价值。
2、 HCTL-2032介绍
HCTI-2032是Avago公司生产的CMOS专用集成电路,集噪声滤波、正交解码、可逆计数、总线接口于一体,可大大改善测量系统的性能。相比HCTI-2022而言,HCTL-2032可接收两路正交解码脉冲,并且增加了接收基准信号,时钟周期达33MHz,不仅节省了电路设计的体积,而且提高了测量精度和处理数据的速度。
2.1 功能
HCTL-2032的引脚排列如图1所示,HCTL-2032可以将光电编码器输出的波形转换成数字信号输入微处理器,两路输入引脚CHAx、CHAv、CHIx和CHBx、CHBy、CHIy经过施密特触发器整形滤波后,通过设置EN1、EN2的值选择采用4×、2×、1×计数模式,而后送入32位二进制计数器对采集的正交波计数,由于输出数据线只有8位,因此32位的数据需要通过改变控制线SEL1、SEL2、OE的值分四次依次读出。
2.2 内部结构
HCTL-2032内部包括数字滤波器、正交解码逻辑、位置计数器、总线接口,内部结构框图如图2所示。
2.2.1 数字滤波器
HCTL-2032的输入部分包括施密特触发器与数字延迟滤波器,用于抑制混入正交信号的噪声。正交信号通过施密特触发器后,必须保持3个上升沿才能通过数字滤波器,小于1 V的低电平噪声被滤除。余下的高电平、短持续时间噪声脉冲通过数字滤波器滤除。
2.2.2 正交解码
HCTL-2032提供了1×、2×、4×三种可选解码方式,解码方式的选择由EN1、EN2的组合值控制,正交输入相邻跳变沿之间二者的电平状态有四种:10、11、01、00。当选择4×模式时,在一个周期内正交解码器在时钟上升沿采样四种状态进行计数,同理,当选择2×和1×模式时,在一个周期内正交解码器在时钟上升沿分别采样两种、一种状态进行计数。每监测到一次状态变化,在CNTDEC引脚输出一个宽度为半个时钟周期的正脉冲。同时给出状态转移方向信号,U/D=1,表明A相超前B相。反之B相超前A相。图中同时还给出计数器溢出时的级联信号CNTCAS。正交解码器对信号与时钟的要求为tES>tCLK。
2.2.3 32位二进制计数器与32位锁存器
正交解码采集的脉冲输入32位增/减计数器,在时钟的上升沿计数,计数值送入32位锁存器,使用时通常有以下几种情况:
(1) 计数范围在32位计数器计数值范围之内,计数值代表绝对位置。
(2) 统作往返周期运动且每周计数值小于32位时,可由RST每个周期复位一次计数器。
(3) 统也可用作8、16、24、32位计数,这时两次读取的计数差代表绝对位置,系统绝对位置可由系统软件计算,但是计数器会上溢或下溢,为了防止位置信息丢失,必须保证每次计数差不超过计数器最大计数的一半,即8位,16位,24位,32位分别应该在127,32 767,8 388 607,2 147 483 647内读取数据。
(4) 统计数大于32位时,可用控制端口与其他计数器构成更高位的计数器,从而得到计数绝对值,32位锁存器在非读数据期间的每个上升沿捕捉计数器的值。在读取数据时,不再捕捉新的数据值,保证数据的正确性,数据读完后由RST信号将锁存器清0。
2.2.4 禁止逻辑和总线接口
禁止逻辑在每个时钟周期的下降沿采样OE、SEL1和SEL2的值,根据三个信号不同值的组合分四次从总线接口读出计数器的值以及复位禁止逻辑。
3、 与TMS320F2812的接口电路
TMS320F2812是TI公司最新推出的DSP器件。它具有数字信号处理能力、强大的事件管理能力和嵌入式控制功能、运算速度快、接口资源丰富,适用于具有大批量数据处理的测控场合。TMS320F2812只提供了两个事件管理器EV1和EV2,每个事件管理器模块都有一个正交编码脉冲电路QEP1和QEP2,QEP3和QEP4,只接收两路正交编码脉冲。TMS320F2812工作电压是3.3 V,而HCTL-2032工作电压是5 V,两者之间不能直接相连,必须采用电平转换器,本设计采用SN74LVTH245驱动,同时为了防止负载对DSP的影响,采用双通道高速光耦HCPL2630进行隔离。硬件电路如图3所示。
4 、软件设计
4.1 初始化DSP
DSP的初始化主要包括:工作频率的设定、关闭看门狗、GPIO的设置等。其代码如下:
4.2 读取数据
数据的读取分四次完成,依次从高字节到低字节读出,读取每个字节定义三个变量:Result、Result_old、Result_new,分别用于存放最终结果、前一次的读数值、下一次的读数值。首先DSP从数据线上获得HCTL-2032引脚值。为了保证数据的可靠性,DSP将重复读取引脚的值,若两次数据相同,则把这个数作为最终值,反之,则说明数据不稳定,继续读取。采用4×解码模式,读取x通道数据时,读取数据的流程图如图4所示。
5、 结束语
HCTI-2032正交解码器内部具有32位计数器,因此计数过程由器件本身硬件完成,减轻了CPU的计数负担。解码器与CPU接口方便,非常适合在多轴运动控制系统中扩展编码器位置检测接口。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !