·上一文章:基于单片机的多参数测量仪设计
·下一文章:基于S3C44B0的串口服务器系统的设计
软件设计采用模块化设计方法,程序的总体结构采用以数据管理和位置速度控制为主,以I/O端口控制、逻辑控制、插补运算等为中断任务或子函数任务的形式。位置速度控制主要负责对实时运动状态的监控与调节;I/O端口控制主要负责扫描输入端口、设置输出端口等辅助性任务。
DSP控制程序主要由一个定时中断构成,主程序启动后,首先完成对TMS320F2812的初始化及系统的一些基本配置,并处于等待状态。运动控制功能是在伺服中断服务程序中实现的。主程序和伺服中断服务程序基本流程如图4所示。
FPGA主要完成运动控制器的精插补功能,采用数字积分法进行插补。把数字积分法分为3个状态:
(1)状态WAIT,等待插补信号;
(2)状态L1,判断总的脉冲数;
(3)状态L2,积分累加器累加一次,如有溢出,相应的输出脉冲为高电平,剩余累加次数减1。
数字积分法的有限状态机如图5所示。
触发条件T1:没有启动信号,下一状态为WAIT,无操作;
触发条件T2:有启动信号,下一状态为L1,操作为初始化各寄存器,置忙信号;
触发条件T3:剩余累加次数大于0,下一状态为L2,操作为各轴输出脉冲为低电平;
触发条件T4:剩余累加次数为0,下一状态为WAIT,操作为各轴输出脉冲为低电平,清忙标志;
无触发条件:下一状态为L1。
具体实现方法为:时序电路产生的插补脉冲作为此模块的累加脉冲,每累加1次,剩余累加次数减1。当剩余累加次数为0时,此次插补过程结束。
4 结语
该运动控制器的结构设计可以模块化和易于扩展,这样可以满足用户的各种需求。在软件部分中,采用有限状态机的插补方法,在插补速度处理环节做了优化,使脉冲输出更加稳定。