通过CPLD的编码器解码接口、PWM输出设计

描述

引言

在数控机床或其他数控设备中,往往都会用到光栅尺或编码器等位置传感部件,用以来测量机械运动部件的实际运动位置及速度信息。光栅尺位移传感器(简称光栅尺),是利用光栅的光学原理工作的测量反馈装置。光栅尺位移传感器经常应用于机床与现在加工中心以及测量仪器等方面,可用作直线位移或者角位移的检测。其测量输出的信号为数字脉冲,具有检测范围大,检测精度高,响应速度快的特点。例如,在数控机床中常用于对刀具和工件的坐标进行检测,来观察和跟踪走刀误差,以起到一个补偿刀具的运动误差的作用。编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者成为码盘,后者称码尺。按照读出方式编码器可以分为接触式和非接触式两种。接触式采用电刷输出,一电刷接触导电区或绝缘区来表示代码的状态是“1”还是“0”;非接触式的接受敏感元件是光敏元件或磁敏元件,采用光敏元件时以透光区和不透光区来表示代码的状态是”1”还是“0”,通过”1”和“0”的二进制编码来将采集来的物理信号转换为机器码可读取的电信号用以通讯、传输和储存。那么光栅尺或编码器测量到的数值,就需要专门的接收部件来处理。或通过总线(比如PCI)传递给数控设备的中央控制系统中,让控制系统的软硬件根据测来的实际信息与理想(逻辑)信息进行对比,然后根据比较的误差结果再去调节运动部件的位置和速度,或做其他中断、开关性的输出动作以达到控制机械运动的目的。

1、用CPLD来实现编码器解码接口及PWM输出功能

现在市面上已经有专用的编码器信号/AB相正交编码信号解码接口芯片,主要是欧美等国家提供的芯片,比如HCTL-2016/HCTL-2020等产品。但是这些产品性能价格比还是比较差,功能不够丰富,使用起来也不灵活方便,很难适合广大客户的需求。

而用中规模的CPLD来完成AB相正交编码信号解码功能的设计,就成了一个选择,加之CPLD的可塑性,及日益走好的性价比趋势,这种方案甚至成为了唯一的最优选择。CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。CPLD主要是由可编程逻辑宏单元(MC,Macro Cell)围绕中心的可编程互连矩阵单元组成。其中MC结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。

一般情况,Altera/Lattice/Xilinx的市面主流的CPLD都可以满足设计的需求,逻辑在中等规模,约500-1000宏单元,就可以完成1-4通道解码AB相正交编码信号解码功能,并且可以外加1-4通道的PWM发生,以及多路数字量I/O的扩展功能。

而要充分利用CPLD的资源,并且达到一个高性能、高可靠性的设计,是需要足够的技术力量保障的,这样才会有高性加比的产品出现。

深圳市斯迈迪科技发展有限公司正式这样的公司,专业从事运动控制SOPC(即CPLD、 FPGA)的芯片级技术方案和平台级技术方案开发,并向市场推出多款运动控制SOPC芯片产品。

以下是2100系列的功能介绍

1.1 SM2100特点简介

SM2100提供了1-4通道的ABZ相解码、4倍频、16位的编码器计数范围和16位的PWM脉冲发生的功能。同时在芯片内部附加了8路通用输入和8路通用输出。由于芯片是SOPC技术方案,因此还可以根据客户的具体需求做定向化的设计。

下面是其性能指标:

输入时钟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)的写操作将把该道的计数寄存器清零。寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。寄存器的功能十分重要,CPU对存储器中的数据进行处理时,往往先把数据取到内部寄存器中,而后再作处理。外部寄存器是计算机中其它一些部件上用于暂存数据的寄存器,它与CPU之间通过“端口”交换数据,外部寄存器具有寄存器和内存储器双重特点。

每道计数器的输入端都有4倍频电路和3阶数字滤波器电路。数字滤波器的带宽分4档可调,分别10M,5M,2.5M,625K,分别可以滤除ABZ相信号上的宽度小于300ns、600ns、1.2us、4.8us的干扰。对模式寄存器(MODE)的写操作可以分别设定各通道的滤波器带宽。

在Z相信号的上升沿,会把当前的编码器计数值锁存在索引寄存器(CNT*_IDX)中,同时把状态寄存器(STATUS)中的对应标志位置1。CPU芯片可以依据SM2103的状态寄存器和索引寄存器的值进行回零点处理。状态寄存器的索引标志位在状态寄存器读操作后自动清零。

B、PWM输出

PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。

SM2100芯片有1-4通道16位PWM输出。用于产生互补(差分)的脉宽调制信号有死区控制功能。可以用来对3相位晶体管的控制完成电机控制中的功率驱动和3相逆变器功能,也可以或结合低通滤波完成DA转换功能。

PWM输出脉冲的周期可以通过往控制寄存器PWM_TL、PWM_TH写入数据来设置。有效数据为16位,即PWM_TL的8位和PWM_TH的低4位。

第n通道的脉冲宽度可以通过往控制寄存器PWM_WnL、PWM_WnH写入数据来设置。有效数据为16位,即PWM_WnL的8位和PWM_WnH的低4位。

往PWM_EN寄存器的最低位写入1时,使能PWM;写入0时,禁止PWM输出(输出0电平)。

当PWM脉冲宽度的设置大于脉冲周期的设置值时,输出脉冲的占空比保持为100%。

C、通用IO应用

对SM2100芯片的通用输入输出的操作,直接对GPI 、GPO寄存器进行读写即可。这项功能可以用来完成对系统中的开关量控制,或类似于PLC中的I/O点控制。

2、2100的应用方案举例介绍

2.1 SM2100芯片在运动控制卡中的应用:基于PCI的读数卡SMP330

SMP330卡是利用SM2103及PCI接口芯片设计出的32位PCI总线的3通道AB相解码计数和PWM输出卡。该卡适用于电机控制,数控机械系统中的位置监测。它体现了上述SM2100系列芯片的一切功能特点,包括3通道16位A/B相编码计数器,3个16位的PWM信号输出,和多路通用的数字输入、输出通道。

因为是板卡级别的产品,因此还做了系统性质电路调理处理。例如编码器信号接口采用差分输入接收,高速光电隔离;PWM输出经过74LS06芯片OC输出;数字量的输出输入都经过光电隔离,其中输出还经过达林顿管增加驱动电流;此外还在板上增加了隔离电源模块,用以增加系统的抗干扰性。

SMP330卡可以用到多个应用领域:电机控制、过程监视、工业过程控制。具体的有:抄数机、测量分析仪器、半自动化定位机器、PC机数显等。它可以完成系统中的读数功能,也就是对实际位置/速度信息的测量,还有利用PWM功能对电机进行控制,同时数字GPI/O功能也可以用来对系统进行I/O扩展。I/O是 input/output的缩写,即输入输出端口。每个设备都会有一个专用的I/O地址,用来处理自己的输入输出信息。CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口。

比如抄数机。我们在实际工件的设计生产中,对一些较复杂或不规则工件的机械外型设计比较困难,同时也特别消耗时间。这种情况下,如果有实际的参考实物,利用抄数机的位置探测部位对实物的外壳的实际位置信息快速而又精准的测得,那么这个抄数机设备中主要的处理部件就可以利用SMP330卡来实现。

2.2 SM2100芯片在数字伺服驱动器中的应用

已经有部分客户利用SM2100芯片方案来实现其伺服驱动器产品了,在产品里担当速度与位置的接口处理功能,以及对PWM输出产生的功能。

我们如果对上图3进行深一步的全数字化电路设计性细分,兰色框体部分就可以用SM2100系列芯片方案来实现,灰色框范围内的功能则可以用DSP或 FPGA来实现,这样就形成一个全数字伺服系统方案。当然在这个系统中,SM2100只是成但部分的功能及接口,主体的闭环算法处理是在DSP或FPGA 实现(用FPGA方案实现也是深圳市斯迈迪科技发展有限公司的产品之一。

这样的方案里面,结合SM2100来实现,优点是增加系统可靠性、性能好。

综上所述,一个数字直流伺服系统(驱动器)的处理部分实现,就可以用一个DSP结合一个SM2100芯片就完成了。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分