引言
在数控机床或其他数控设备中,往往都会用到光栅尺或编码器等位置传感部件,用以来测量机械运动部件的实际运动位置及速度信息。那么光栅尺或编码器测量到的数值,就需要专门的接收部件来处理。一般的编码器输出的信号是AB(或ABZ)相正交编码信号,之所以这样编码也是为了将方向信息加入码流,同时也有利抗干扰等方面的处理。因此在接收这个信号时就需要专门的解码接口电路,将所得的数据也就是实际运动位置/位置信息传递给处理单元,或通过总线(比如 PCI)传递给数控设备的中央控制系统中,让控制系统的软硬件根据测来的实际信息与理想(逻辑)信息进行对比,然后根据比较的误差结果再去调节运动部件的位置和速度,或做其他中断、开关性的输出动作以达到控制机械运动的目的。甚至,通过一套完整的算法来把位置、速度、力矩等信息纳入体系中来,做实时反馈处理,这也就是我们所说的闭环(半闭环)处理,我们常见的算法就是PID(或PI)算法。这样以来,就比较方便于让机械设备在全自动的运行下达到快、准、柔的特性。
1 、用CPLD来实现编码器解码接口及PWM输出功能
现在市面上已经有专用的编码器信号/AB相正交编码信号解码接口芯片,主要是欧美等国家提供的芯片,比如HCTL-2016/HCTL-2020等产品。但是这些产品性能价格比还是比较差,功能不够丰富,使用起来也不灵活方便,很难适合广大客户的需求。
而用中规模的CPLD来完成AB相正交编码信号解码功能的设计,就成了一个选择,加之CPLD的可塑性,及日益走好的性价比趋势,这种方案甚至成为了唯一的最优选择。
一般情况,Altera/Lattice/Xilinx的市面主流的CPLD都可以满足设计的需求,逻辑在中等规模,约500-1000宏单元,就可以完成1-4通道解码AB相正交编码信号解码功能,并且可以外加1-4通道的PWM发生,以及多路数字量I/O的扩展功能。或者完成1-4轴AB相解码外加可编程脉冲发生功能。
而要充分利用CPLD的资源,并且达到一个高性能、高可靠性的设计,是需要足够的技术力量保障的,这样才会有高性加比的产品出现。
深圳市斯迈迪科技发展有限公司正式这样的公司,专业从事运动控制SOPC(即CPLD、 FPGA)的芯片级技术方案和平台级技术方案开发,并向市场推出多款运动控制SOPC芯片产品。其中SM2100系列就是1-4路的ABZ相编码器信号的解码及PWM输出功能SOPC产品。
以下是2100系列的功能介绍
1.1 SM2100特点简介
SM2100提供了1-4通道的ABZ相解码、4倍频、16位的编码器计数范围和16位的PWM脉冲发生的功能。同时在芯片内部附加了8路通用输入和8路通用输出。由于芯片是SOPC技术方案,因此还可以根据客户的具体需求做定向化的设计。
图1是其功能框图。下面是其性能指标:
输入时钟CLK频率最高到80MHz,标准输入频率40MHz;
PWM的占空比调节范围0~4095,频率调节范围150Hz~150KHz;
16位编码器计数器,可达计数范围为:1~ 65535;
AB相输入可4倍频,AB相输入内接3阶数字低通滤器,滤波带宽4级可调。
图1:SM2100功能框图
1.2 SM2100的设计应用说明
SM2100是一个SOPC方案,它的应用特点如同常见的ASIC一样方便,通过8位CPU接口与主控器件接口,通过内部寄存器来设置其工作状态及功能。
其中CPU接口非常简单:
8根双向数据总线:D0~7;
7根地址总线:A0~6;
1根片选线:CS_n;
1根读允许线:RD_n;
1根写允许线:WR_n。
也可以根据用户需要,提供16位总线接口。除了数据总线增加到16根外,其它信号与8位总线接口相同。
下面是主要的功能设置寄存器介绍。通过这些寄存器的描述,应用工程师们可以一目然地看清了SM2100的具体功能及如何使用。
1.3 SM2100的主要功能原理及应用介绍
A、编码器解码计数功能
下图2是解码计数部分的原理: