EDN China > 设计实例 > 微处理器与DSP > DSP应用 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于DSP的运动控制器的开发

电子科技 西安电子科技大学 陈雪姝 林晓春?? 2009年12月25日 ?? 收藏0

  3 软件程序设计及流程

  整个运动控制系统程序主要包括EEPROM引导程序和DSP主程序两部分。其中,Flash引导程序的作用是把系统程序从片外低速EEPROM传送到片外高速RAM中运行,在运动控制卡的硬件调试阶段,程序规模比较小,程序可以存放在片内的。Flash中,这样则不需要引导程序,直接在片内运行程序。系统程序主要由主程序、读写双口RAM程序、脉冲输出程序、插补程序和加减速控制程序组成。主程序调用各子程序,进行与上位机的通信、I/O、QEP、定时器及中间寄存器的初始化、设置中断标志、读取计数器的值、计算各控制量、积分平滑等功能。当发生中断时,调用相应中断程序,并修改或重置标志位。

  图2所示为DSP主程序的流程图。主CPU使用硬件复位控制DSP的复位操作,DSP复位后运行片内ROM或加载到RAM中的系统主程序。DSP主程序由初始化程序、时钟循环等待中断程序组成。初始化程序完成所有变量的初始化,复位全部外设和关闭所有输出。之后进入循环和等待中断的过程,检测到主机命令之后,读取命令并根据系统需要调用相应的处理程序。命令处理完后再进入循环等待状态,命令处理程序是实现运动控制器功能的关键程序,包括运动控制的算法,速度控制、位置控制等功能的实现,还包括完成数据写入和读取等功能,同时对外部中断进行处理。当上位机给运动控制卡发送控制命令时,DSP首先读取主机发送来的轴的目标位置,根据速度控制的模式设定指令选择相应的速度控制算法,同时查询外部事件,如有事件发生,执行相应的处理程序。接着就可以送出轴的控制输出,检测各轴是否都完成运动(判断轴状态寄存器完成标志位),完成则推出命令处理程序,否则继续执行。

DSP主程序的流程图

  4 结束语

  运动控制器的硬件设计需要注意:如抗干扰、外围电路的速度与DSP的实时性能匹配问题。这些问题相互影响,要确定一个正确的电路结构和合理的PCB布线,需要大量的实际经验,因此在电路结构方面仍有待改进,使之更适应稳定、高速的控制要求。对控制软件的改进主要包括以下两方面:

  (1)完成上位机上接口函数、运动控制函数库和上层调试环境的设计、编写NURBS数学处理程序,在运动控制器内部实现不同的插补算法,建立运动控制器的操作平台和完善的人机交互功能,使得运动控制器具有更强大的控制性能和更容易编程;

  (2)对伺服电机的控制只提供了硬件上的支持,在软件上需要对光电编码器的反馈信号进行分析,计算出与给定位置的误差,再通过软件PID算法调节器获得位置控制量来控制伺服系统。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

DSP? 运动控制器? EPM570? CPLD?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈