2.4 D/A转换输出电路
数模转换电路的核心芯片采用BB公司生产的12位4路电压输出的数模转换芯片DAC7625。DAC的片选信号由DSP的DS,PS,IS,STRB,R/W#,WE#,A0,A1,A2,A3,A11经过译码得到。DAC的4个通道在DSP中的I/O地址为:0000 H,0001 H,0002 H,0003 H,DAC传送寄存器地址为0004 H。
2.5 编码器电路
该编码器信号处理电路是针对增量式脉冲编码器产生的信号进行处理。为消除外部驱动器大电源的干扰,3对信号经过光耦进行隔离。利用DSP事件管理器中的正交编码脉冲(QEP)电路,对引脚上的脉冲数目和频率分别解码和计数
2.6 DSP-PC机通信电路
基于嵌入式系统的运动控制器非常重要的功能之一就是要实现网络信息传递。因此需要s用网络接口芯片来实现网络之间通信。在本系统中采用了REALTEK公司的RTL8019AS网络接口芯片。RTL8019AS 引脚可分为电源及时钟引脚、网络介质接口引脚、自举ROM及初始化EEPROM接口引脚、主处理器接口引脚、输出指示及工作方式配置引脚。由此将网卡硬件接口电路设计主要分为两大部分:第一部分为网卡与DSP接口实现,第二部分为网卡芯片外围电路设计。RTL8019AS的总线接口是与ISA总线兼容的,虽然不能与5402的外部总线直接接口,但是只要进行一些简单的逻辑变换就可以了。另外,5402和RTL8019AS的引脚电平不兼容,因此它们之间对应的引脚不能够直接相连,需要在中间加上电平转换芯片,系统中的CPLD可以完成电平转换功能,通过CPLD还能够产生RTL8019AS的控制逻辑信号。
3 软件程序设计及流程
整个运动控制系统程序主要包括EEPROM引导程序和DSP主程序两部分。其中,Flash引导程序的作用是把系统程序从片外低速EEPROM传送到片外高速RAM中运行,在运动控制卡的硬件调试阶段,程序规模比较小,程序可以存放在片内的。Flash中,这样则不需要引导程序,直接在片内运行程序。系统程序主要由主程序、读写双口RAM程序、脉冲输出程序、插补程序和加减速控制程序组成。主程序调用各子程序,进行与上位机的通信、I/O、QEP、定时器及中间寄存器的初始化、设置中断标志、读取计数器的值、计算各控制量、积分平滑等功能。当发生中断时,调用相应中断程序,并修改或重置标志位。
图2所示为DSP主程序的流程图。主CPU使用硬件复位控制DSP的复位操作,DSP复位后运行片内ROM或加载到RAM中的系统主程序。DSP主程序由初始化程序、时钟循环等待中断程序组成。初始化程序完成所有变量的初始化,复位全部外设和关闭所有输出。之后进入循环和等待中断的过程,检测到主机命令之后,读取命令并根据系统需要调用相应的处理程序。命令处理完后再进入循环等待状态,命令处理程序是实现运动控制器功能的关键程序,包括运动控制的算法,速度控制、位置控制等功能的实现,还包括完成数据写入和读取等功能,同时对外部中断进行处理。当上位机给运动控制卡发送控制命令时,DSP首先读取主机发送来的轴的目标位置,根据速度控制的模式设定指令选择相应的速度控制算法,同时查询外部事件,如有事件发生,执行相应的处理程序。接着就可以送出轴的控制输出,检测各轴是否都完成运动(判断轴状态寄存器完成标志位),完成则推出命令处理程序,否则继续执行。
4 结束语
运动控制器的硬件设计需要注意:如抗干扰、外围电路的速度与DSP的实时性能匹配问题。这些问题相互影响,要确定一个正确的电路结构和合理的PCB布线,需要大量的实际经验,因此在电路结构方面仍有待改进,使之更适应稳定、高速的控制要求。对控制软件的改进主要包括以下两方面:
(1)完成上位机上接口函数、运动控制函数库和上层调试环境的设计、编写NURBS数学处理程序,在运动控制器内部实现不同的插补算法,建立运动控制器的操作平台和完善的人机交互功能,使得运动控制器具有更强大的控制性能和更容易编程;
(2)对伺服电机的控制只提供了硬件上的支持,在软件上需要对光电编码器的反馈信号进行分析,计算出与给定位置的误差,再通过软件PID算法调节器获得位置控制量来控制伺服系统。 |