微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 采用DSP和FPGA构建高速高精运动控制器

采用DSP和FPGA构建高速高精运动控制器

时间:01-12 来源:互联网 点击:
1.3 PC通信接口模块  

该模块选用16位的ISA总线与PC相连,CY7C133双口RAM用作数据缓冲。 因为ISA总线的使用十分灵活,方便,而且I/O操作比较简单。虽然ISA总线的引脚多但并不是都要用到的,关键是几个固定引脚的应用,例如:I/O CH RDY、I/OR、I/OW、ALE、数据线和地址线,结合起来就实现通信。

  

在本系统中,双口RAM的 PC端地址线并没有直接采用ISA过来的地址线,而是由FPGA内部地址计数器给定。这是因为,ISA总线上大部分地址都已经被PC系统分配好,直接把2K的双口RAM数据空间映射到ISA总线上并不现实;而且控制系统与PC交换的数据基本上是一系列加工点的坐标参数,采用顺序访问对性能没有影响。因此采用地址计数器方式的顺序访问,完全能够达到设计的要求。  

具体做法是:ISA地址线的A2?A9接到地址比较器74LS688,与设定好的地址作比较,74LS688的片选信号由ISA的IOR和IOW的“与”提供(IOR和IOW在ISA总线访问端口时低有效),A0,A1接到FPGA,用于选择FPGA内部4个功能不同的寄存器。ISA的ALE用于触发FPGA 内部逻辑功能,锁存ISA总线过来的信号。  

当访问地址清零寄存器时,地址计数值清零;当访问地址增加寄存器时,地址计数值增加“1”。如此类推,访问不同的寄存器就对地址计数值完成不同的操作,把地址计数值直接作为地址送给双口RAM,就可以实现ISA总线访问双口RAM了。  

1.4 输出模块  

输出模块采用模拟输出,经外部放大驱动电机的方案。D/A转换芯片选择DAC7744。  DAC7744是高性能的4通道16位高速D/A,主要特点如下:  

  • 输出通道:独立4 路

  • 输出信号范围:0?5V;0?10V*;±5V;±10V

  • 输出阻抗:≤2Ω

  • D/A转换器件:DAC7744

  • D/A转换分辨率:16位

  • D/A转换码制:二进制原码(单极性) 二进制偏移码(双极性)

  • D/A转换时间:≤1uS

  • D/A转换综合误差:≤0.02? FSR

  • 电压输出方式负载能力:5mA/每路
1.5 存储模块

存储模块用于存储系统程序和数据,主要由SRAM(2片CY7C1021)和FLASH(AM29F400B)组成。  外围存储电路如图3所示:  



2. 软件设计  

该运动控制卡应用时插在工控机的ISA槽上,与上位机配合工作。首先在上位NC机输入加工曲线,由上位机做粗插补,然后把数据通过ISA接口传递给控制卡。控制卡对接收到的数据再做细插补--采用三次B样条插值,然后发送给DA,驱动电机运动。DSP通过FPGA进行脉冲计数,读出直线电机光栅尺的反馈信息,然后采用离散PID控制算法调整,以便于电机运动控制的最优化。  



运动控制算法的核心是先用B样条插值法把目标点进一步细化,使运动曲线更平滑,然后在运动过程中采用PID算法进行调整,最终达到高速高精的设计要求。

2.1 B样条插值  

目前许多先进的CAD/CAM系统都采用了B样条曲线。其特点是,可用统一的数学形式精确表示分析曲线(如直线,圆锥曲线等)和自由曲线(如均匀B样条曲线等),因而便于用统一的数据库管理、存储,程序量可以大大减少;非均匀B样条曲线定义中的权因子使外形设计更加灵活方便,设计人员通过调整具有直观几何意义的点、线、面元素即可达到预期的效果。  

本系统采用三次B样条曲线作为精插补算法,该算法应用在控制卡中可以得到比较满意的效果。计算过程中只需要相邻4个点的位置数据,就可以构造出平滑的曲线。公式以坐标分量形式表示为:  



2.2 PID控制  

在控制领域中,PID控制算法是一种常用的算法,PID是比例,积分,微分的缩写。PID的合理的参数估计、比较,可以通过MATLAB的传递函数模型仿真来得到。  

由于该系统是数字系统,采用的都是数字量,所以必须把PID算法离散化才能使用。又由于系统的存储空间有限,算法的存储空间开销不能太大,所以采用了离散化的增量式PID算法。该算法在运算过程中只需要保留最近3次的误差数据,就能够推导出下一次的输出量,节省了大量的数据空间,提高了运算速度,有很强实用价值。  公式如下:



μ( k ),μ( k-1 )分别是k和k-1时刻的输出量,在系统中体现为DA的输出量。  e( k ),e( k-1 ),e( k-2 )分别是k,k-1,k-2 时刻的偏差值,在系统中体现为该时刻实际位置与目标位置的偏差。  是PID公式的常量,不同的数值代表着PID系统的微分、积分、比例调节作用的强度和效果。

3. 小结  

在开放式数控系统中应用基于DSP+FPGA的运动控制卡,DSP承担了CNC系统中实时性要求较高的模块功能。利用DSP高速运算能力和实时信号处理能力,采用先进的Bspline插补算法,使该DSP运动控制卡具有高速、高精度的性能,结合FPGA芯片的先进技术,使该运动控制卡的集成性、可靠性大大提高。本运动控制卡目前是基于ISA总线设计的,今后将考虑把该系统移植到PCI总线上,将能进一步提高系统的处理速度能力,适应更高要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top