基于CPLD的编码器解码接口、PWM输出方案及其在运动控制卡和伺服驱动器中的应用
发布时间:2008/6/3 0:00:00 访问次数:457
引 言
在数控机床或其他数控设备中,往往都会用到光栅尺或编码器等位置传感部件,用以来测量机械运动部件的实际运动位置及速度信息。那么光栅尺或编码器测量到的数值,就需要专门的接收部件来处理。一般的编码器输出的信号是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.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、编码器解码计数功能
sm2100芯片有1-4通道16位abz相编码器计数器。通过读取各通道的计数寄存器(cnt*)可以得到该通道当前的计数值。对各通道的计数清零寄存器(cnt*_clr)的写操作将把该道的计数寄存器清零。
每道计数器的输入端都有4倍频电路和3阶数字滤波器电路。数字滤波器的带宽分4档可调,分别是10m,5m,2.5m,625k,分别可以滤除abz相信号上的宽度小于300ns、600ns、1.2us、4.8us的干扰。对模式寄存器(mode)的写操作可以分别设定各通道的滤波器带宽。
在
引 言
在数控机床或其他数控设备中,往往都会用到光栅尺或编码器等位置传感部件,用以来测量机械运动部件的实际运动位置及速度信息。那么光栅尺或编码器测量到的数值,就需要专门的接收部件来处理。一般的编码器输出的信号是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.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、编码器解码计数功能
sm2100芯片有1-4通道16位abz相编码器计数器。通过读取各通道的计数寄存器(cnt*)可以得到该通道当前的计数值。对各通道的计数清零寄存器(cnt*_clr)的写操作将把该道的计数寄存器清零。
每道计数器的输入端都有4倍频电路和3阶数字滤波器电路。数字滤波器的带宽分4档可调,分别是10m,5m,2.5m,625k,分别可以滤除abz相信号上的宽度小于300ns、600ns、1.2us、4.8us的干扰。对模式寄存器(mode)的写操作可以分别设定各通道的滤波器带宽。
在