[DSP] 基于DSP+CPLD可重构数控系统的设计

[复制链接]
252|22
 楼主 | 2019-11-12 19:54 | 显示全部楼层 ||阅读模式
本帖最后由 Sode 于 2019-11-12 19:56 编辑

基于DSP+CPLD可重构数控系统的设计




  1、前言

  随着计算机技术的高速发展,各工业发达国家投入巨资,对现代制造技术进行研究开发,提出了全新的制造模式,其核心思想之一是柔性化制造,制造系统能够随着加工条件的变化动态调整。目前,各类 MCU 快速发展,它们不仅运算速度快、价格便宜、种类繁多,而目不同M CU 针对不同的应用在其片上集成了专用控制电路,满足了不同的应用需求还提高了电路的安全性和稳定性。综合上述的分析与论证,本文设计了一种基于DSP+CPLD 现场可编程门阵列器件的可重构数控系统。


  2、硬件设计

  本运动控制卡是以PC 机作为主机的运动控制卡,选用DSP 作为核心微处理器,卡上集成编码器信号采集和处理电路,D/A输出电路,扩展存储器电路和PC-DSP通讯电路。PC机把粗处理的数据通过DSP-PC 通讯接口传递给运动控制系统,DSP通过对光电编码器反馈信号处理电路的结果分析,计算出与给定位置的误差值,再通过软件位置调节器获得位置控制量,计算出运动速度控制量,产生的输出信号经D/A 转换将模拟电压量送给伺服放大器,通过对伺服电机的控制实现对位置的闭环控制。系统的结构框图如图 1 所示。

20121105063538676021382.jpg

  选用美国TI公司的16位定点DSP TMS320LF2407A作为本运动控制器的核心处理器,地址译码、时序逻辑、编码器信号处理电路用CPLD来完成,用PCI 接口芯片实现双口RAM与PC 机的通讯,双口RAM用来存储和缓冲DSP与PC 机间的通讯数据,SRAM用来存储运动控制器运行时的程序和数据。

  (1).DSP外部中断接口处理

  对于数控机床来说,由于受工作行程等各方面的限制,在其超过控制范围时,引入包括限位中断和编码器INDEX 信号中断。每个控制轴有正反方向的两个限位开关,产生两个限位信号,4 个轴共8 个限位信号:LIMA+, LIMA -、LIMB +, LIMB -、LIMC +, LIMC-,LIMD+, LIMD -其中“+”表示正限位,“-”表示负限位。这几个信号通过CPLD 的相与之后接到DSP 的中断管脚XINT1,同时这些信号通过光藕电路接入DSP的I/O 口。当运动到限位开关处时,就会触发DSP的外部中断信号XINT1,然后DSP就可以根据I/O 判定是哪个限位开关超过工作范围。8 个限位开关分别接到DSP 的I/O 口,通过设置MCRA(地址:7090H),MCRB(地址:7092H)为零,使这些复用管脚处于I/O 功能。限位输入信号的状态可以从寄存器PADATDIR(地址:7098H )和PBDATDIR(地址:709AH)对应的数据位读取,对应的数据方向位设为零,以使这些I/O 管脚工作在“输入”状态下。编码器的INDEX信号处理同上面相类似。每个轴能产生一个INDEX 信号,4 个轴有4个INDEX 信号。这4 个信号通过逻辑与门产生一个中断信号,接到XINT2,同时接到DSP 的I/O 口,供中断产生时DSP读入。

  (2).四轴编码器信号处理电路设计

  四轴编码器信号处理电路是对光电编码器输出的两组相差90o 的方波信号的处理,从而获得执行元件实际位置,其输出是一路16 位的数字量,反馈给中央处理器,编码器信号处理电路包括滤波,倍频,计数几个功能模块,传统的四轴编码器信号处理电路采用分立元件来设计,它可靠性、抗干扰能力差,应用CPLD 设计了单片并行四轴编码器信号处理电路。

  它具有实时性好,硬件体积小,工作效率高,提高系统的集成度,相对于分立元件,单片并行四轴编码信号处理电路集成在一个片子上,一方面单片芯片内的门电路、触发器的参数特性是完全一致的,在相同转速下脉冲信号的脉冲周期可以保持一致。另一方面,电路做在单个芯片内,抗干扰性能比分离器件构成的电路也有很大的提高,增强了系统的灵活性、通用性和可靠性。本文设计是一个四轴伺服系统,因此有八路四组方波信号,A 相B相相差90o,CLR,CLK,WE 分别为输出清零,系统时钟和输出使能,SEL*是输出选择信号,选择X,Y,Z,A中的一组信号处理的结果作为输出信号,分时送到数据总线。

  滤波模块的设计

  编码盘理论上是稳定的方波信号,但在实际操作中,经常会存在脉动干扰,滤波模块的功能是将这些脉动干扰滤掉,降低系统产生误动作的可能性,提高系统的可靠性,下面的VHDL 程序通过对A,B 两相方波信号同时延时四个CLK 脉冲,,脉冲宽度小于三个CLK脉冲周期的输入信号被滤掉。仿真结果如图:

20121105063538691641383.jpg

  倍频计数模块的设计

  四倍频电路的设计是为了增加计数脉冲在一个周期中的个数,来提高测量的分辨率,工程中常把光电编码器输出的两路方波信号的上升沿和下降沿,来获得四倍频的脉冲信号,把光电编码器的分辨率提高四倍,通过光电编码器输出两路方波信号相差的正负来确定运动的方向,对光电编码器输出信号A、B;可以写成:

20121105063538722891384.jpg

  如图:

20121105063538754141385.jpg

  在一个周期内产生的四倍频计数脉冲输出S,方向判别信号J,通过一个16 位可逆计数就可以实现对伺服装置的位置检测,实现位置伺服控制系统的控制。


  3、控制算法的设计

  (1).控制模型

  数控机床的最高运动速度、跟踪精度、定位精度等重要指标均取决于驱动及位置控制系统的动态与静态性能。因此,研究与开发高性能的驱动系统及位置控制系统,一直是研究数控机床的关键技术之。日前数控机床位置伺服控制仍然普遍应用经典控制方法,如比例型或比例一积分型等算法,其优点是算法简便,易于实现,但存在着控制参数的适应性差、抗十扰能力不强等缺陷。为了适应制造业对高效率地生产高质量产品日标的追求以及对形状愈来愈复杂零件的加工需要,要求不断地改善与提高位置伺服系统的稳态精度、动态响应特性,对系统参数变化的自适应性和抗干扰性,因而采用并发展先进的控制技术是必然趋势。可惜的是,目前提出的诸多控制算法中,具有实用价值的技术极少,主要表现在:①受算法计算量等限制,难以满足控制的实时性要求;②控制理论在参数设计及稳定性分析等方面不完善;③建模误差对控制品质的限制。

  本文利用神经网络的自学习功能,设计了一种在线单神经元PID 与CMAC 并行控制智能型位置控制器,并将之用到数控系统的实时控制中,取得了很好的控制效果,控制模型结构如图:

20121105063538785391386.jpg

  (2)仿真和实现

  采用的单神经元PID及CMAC 相结合的复合控制算法,完成对位置伺服控制器典型输入斜坡输入响应的仿真实验。图5 是位置伺服系统的单位斜坡输入在输入端加入10%的阶跃扰动后,两种控制算法的输出曲线图,通过对图形的分析,可以看出,单神经元PID 与CMAC相结合控制算法比常规PID 控制算法有更小的跟随误差,和更好的抗干扰能力。这个在位置伺服控制系统中更为重要。

20121105063538801021387.jpg

  4、结束语

  利用计算控制功能强大的DSP 芯片构建了数控系统平台,应用CPLD 解决了系统不同应用场合逻辑电路变化的问题,从硬件上实现了可重构性。控制算法较常规PID 控制有更好的动态特性、控制精度、抗干扰能力,而且具有自适应功能。该系统是一种开放的系统,可以使用户很方便的不断进行软、硬件升级,一定时间内跟上数控技术发展的步伐。


使用特权

评论回复
 楼主 | 2019-11-12 19:56 | 显示全部楼层
基于DSP+CPLD可重构数控系统的设计

基于DSP CPLD可重构数控系统的设计.pdf

553.83 KB, 下载次数: 0

使用特权

评论回复
| 2019-11-14 13:36 | 显示全部楼层
DSP + FPGA 系统最大优点是结构灵活   

使用特权

评论回复
| 2019-11-14 13:38 | 显示全部楼层
FPGA加DSP和其他处理器的架构仍然会长期存在。   

使用特权

评论回复
| 2019-11-14 13:39 | 显示全部楼层
利用的  FPGA结构的灵活性     

使用特权

评论回复
| 2019-11-14 13:40 | 显示全部楼层
基于FPGA+DSP架构的  

使用特权

评论回复
| 2019-11-14 13:41 | 显示全部楼层
CPLD和FPGA在使用上基本没有区别  

使用特权

评论回复
| 2019-11-14 13:41 | 显示全部楼层
DSP主要用做运算处理,一般不用DSP做控制用  

使用特权

评论回复
| 2019-11-14 13:42 | 显示全部楼层
为什么要用dsp加cpld控制开关  

使用特权

评论回复
| 2019-11-14 13:42 | 显示全部楼层

CPLD和FPGA和DSP有何区别?

使用特权

评论回复
| 2019-11-14 13:42 | 显示全部楼层
做了一段时间的DSP+FPGA架构板卡了  

使用特权

评论回复
| 2019-11-14 13:44 | 显示全部楼层
2812+CPLD做什么项目  

使用特权

评论回复
| 2019-11-14 13:45 | 显示全部楼层

DSP开发板上面CPLD扩展的I/O口怎么使用  

使用特权

评论回复
| 2019-11-14 13:45 | 显示全部楼层
DSP用CPLD扩展I/O,怎么定义IO空间的地址??  

使用特权

评论回复
| 2019-11-14 13:45 | 显示全部楼层
      
CPLD应用的场合是什么?

使用特权

评论回复
| 2019-11-14 13:45 | 显示全部楼层
CPLD和FPGA结构上的相同点和不同点  

使用特权

评论回复
| 2019-11-14 13:45 | 显示全部楼层
有较强的通用性,适合于模 块化设计  

使用特权

评论回复
| 2019-11-14 13:45 | 显示全部楼层
CPLD+DSP等于单片机吗  

使用特权

评论回复
| 2019-11-14 13:46 | 显示全部楼层
用DSP自己产生时序去控制那些芯片  

使用特权

评论回复
| 2019-11-14 13:46 | 显示全部楼层
用FPGA来扩展DSP的外部模块?   

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖