文档介绍:一种基于DSP的运动控制器的设计
【摘要】本文设计一种用tms320lf2407a作为cpu的运动控制器,用pc机数据粗处理,利用dsp高速运算能力完成实时数据处理,并为运动控制中实现复杂算法奠定良好的硬件基础,从而实现运动控制过程的高速度、高精度要求。
【关键词】dsp;运动控制器;电源管理
0 前言
信息技术的快速发展带动了现代制造技术的进步,柔性化制造是现代制造技术的方向,希望制造系统能够根据外部情况进行动态调整,以适应外部环境的变化。相应的运动控制的要求也越来越高,而作为运动控制器核心器件的mcu,它的发展十分迅速,无论是运算速度,还是价格,都有了很大的发展,很多公司开发一大批性价比高的mcu,而且集成了大量针对不同应用的专用电路,来提高运算速度。综合上述的分析与论证,本文设计了一种基于ti公司的tms320lf2407a的的运动控制器。
1 系统方案设计
本设计采用pc机和dsp通过通信来实现系统的方案,选用ti公司的tms320lf2407a的dsp作为下位机的cpu,首先通过pc机对数据进行初步处理,然后把pc处理的数据通过dsp-pc通讯接口传给dsp,同时dsp读取光电编码器反馈的实时信号,再来计算实际位置与理论位置的偏差值,生成运动速度控制量,经过d/a转换后送给运动伺服放大器,然后控制伺服电机运动(系统的框图如图1所示)。
系统采用可编程逻辑电路(cpld)完成地址译码、时序逻辑、编码器信号处理,用pci接口芯片实现双口ram与pc机的通讯,采用两个rmm存取数据,双口ram用来存储通讯数据,sram用来存储运行时的程序和数据。
2 硬件设计
dsp中断处理
对于运动系统来说,其工作行程是有空间的限制,当其超过了系统运动空间范围时,就需要系统能自动切断报警,本系统引入硬件中断和软件中断,包括限位中断和编码器index信号中断两种不同。在每个控制轴上安装有正反方向的两个限位开关,它在超过行程的时候会产生两个开关限位信号,这样如果我们有3个轴,就会产生6个限位信号:limx+, limx -、limy +, limy -、limz +, limz-,这里的“+”表示正限位,“-”表示负限位。用cpld完成它们逻辑运算后接到tms320lf2407a的中断管脚xint1,这个信号通过光藕电路接入tms320lf2407a的i/o口。当运动系统处于超过行程的时候,限位开关就会工作,触发tms320lf2407a的中断,然后tms320lf2407a根据中断来判断哪个方向超过工作行程。通过设置mcra(address:7090h), mcrb(address:7092h)让dsp的管脚为i/o口。然后从寄存器padatdir(address:7098h)和pbdatdir(address:709ah)对应的数据位读取信息,在使用这些管脚时候,通过置0以使这些i/o管脚工作在“输入”状态下。编码器index信号中断是使每个编码器能产生一个index信号,这3个信号通过逻辑与门产生一个中断信号,接到xint2,同时接到tms320lf2407a的i/o口,供中断产生时dsp读入。
外扩ram与译码
tms320lf2407a有内部数据存储器和程序存储器,