基于ARM与DSP的嵌入式运动控制器设计方案
引言
运动控制系统广泛地应用于工业控制领域,而嵌入式技术在工业控制领域的应用还不太成熟,近年来,工业控制对运动控制系统的要求越来越高,为了满足新一代运动控制系统的各项性能要求,嵌入式运动控制器应运而生。基于ARM与DSP运动控制芯片相结合的新一代运动控制系统,充分发挥ARM微控器与专业运动控制芯片MCX314As的各自特点,可方便的构成高性能的嵌入式运动控制系统。
运动控制芯片MCX314As
MCX314As是日本NOVA电子有限公司的DSP运动控制专用芯片,它是控制4轴的脉冲序列输出驱动伺服电机、步进电机的运动控制芯片,可用于工业自动化设备、工业机器人、测量设备、办公设备和家用电器等。可以进行各轴独立的定位控制、速度控制,另一方面亦可在4轴中任意的选择2轴或是3 轴来进行圆弧、直线、位模式插补。输出脉冲频率高达4MHZ,误差低于±0.5最小插补单元,倍率1~500。每轴都有伺服反馈输入端、四个输入点和8个输出点,能独立地设置为恒速、线性、非对称S曲线加/减控制、非对称梯形加/减控制,并有2个32位的逻辑、实际位置计数器和状态比较寄存器,实现位置的闭环控制[1]。
MCX314As运动控制芯片能与8/16位数据总线接口,通过命令、数据和状态等寄存器实现4轴3联动的位置、速度、加速度等运动控制和实时监视。在实际运用时可以把所有极其复杂的实时运动控制工作交给MCX314As芯片来处理,而主机CPU只需要向 MCX314As芯片发出一系列的控制指令便能实现各种复杂的运动。
2 ARM微处理器S3C2410
S3C2410 是韩国三星公司的32位RISC嵌入式处理器。该处理器为手持设备和一般性应用提供了一个高性价比、低功耗、高性能的解决方案。该芯片基于ARM920T 内核,采用五级流水线和哈佛结构,主频高达200MHz[3]。ARM920T具有全性能的内存管理单元MMU、独立的16KB指令和数据Cache以及高速AMBA总线接口。为了减少应用系统设计的成本,S3C2410集成了众多的常用资源,例如:LCD控制器、NANDFlash控制器、SDRAM控制器、系统片选逻辑以及一些常用的通讯接口等资源,使它广泛的应用于工业控制领域。
运动控制器的基本构成
由S3C2410和MCX314As构成运动控制器。在开发板S3C2410上设计有系统总线预留接口,预留了S3C2410芯片上的基于通用IO口的信号线,包括16位数据线、12位地址线、片选信号和一些读写控制信号线,以方便用户扩展应用电路。运动控制芯片MCX314As 与S3C2410处理器的连接就是通过这个标准的系统总线接口电路,把两者的数据线、地址线、读写控制线、片选信号和中断等信号连接起来。在两者信号连接连接之间加入SN74ALVC164245的芯片来实现电平转换,同时驱动信号。另外还需要注意的是,我们使用的是16位数据线的传输,所以 MCX314As芯片的H16L8引脚必须接上高电平。
图1 S3C2410与MCX314As的接口电路框图
嵌入式运动控制系统系统进行加工的过程实际上就是从ARM上位机传输数据到MCX314As下位机的过程。其控制流程如下:
(1)加工程序运行开始,首先对MCX314As芯片进行初始化。对MCX314As芯片进行设置初始速度、加速度、减加速度、加速度变化率、正转反转方式、逻辑位置计数器清零、实际位置计数器清零等。
(2)选择需要进行加工的轴,MCX314As芯片有X、Y、Z、U四个轴,都有着相同的功能能力,能实现四轴三联动。
(3)设置所选轴模式和运行参数,包括直线定速模式、单步插补输出模式和中断请求。
(4)初始化位置计数器,即将数据库中的行号写入此计数器进行减法计算,每处理完一行数据进行减一处理。
(5)进行命令和数据传输,发出数据后对状态寄存器进行检查,加工完一段后发出信号然后再发送下一组数据,一直到加工完成为止。在加工过程中一旦出现中断,首先读取各寄存器数据进行保存,等待恢复加工后再读写出来。整个数据库文件输出结束后,保存运行系统完成后的数据信息和系统所处的状态信息,以备下个零件加工,由此加工结束。
运动控制器在XY两轴数控伺服工作台中的应用
XY两轴工作台是采用滚珠丝杆和滚动导轨传动的十字工作台(X、Y两轴垂直)。X、Y两轴两端各有1个限位开关。采用松下交流伺服电机(型号 MSMA022A1C,功率200W,额定转速3000r/min,额定转矩0.64Nm)驱动工作台运动,电机驱动器采用松下伺服驱动器 MSDA023A1A。采用光电编码器作为位置反馈器件(伺服电机同轴安装11线2500P/r增量编码器)[3]
图2是该平台的X轴驱动原理图[1],Y轴驱动与X轴驱动电路相同。图中M为伺服电机,EC是编码器。将伺服驱动器的"控制模式"设置为"位置控制",把指令脉冲设置为CW/CCW方式。S3C2410按流程图
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)