datasheet

DSP+FPGA在高速高精运动控制器中的应用

2008-06-11来源: 今日电子 关键字:DSP  FPGA  B样条  PID控制  输出模块  插补算法  运动曲线  上位机  运动

  运动控制卡已经在数控机床、工业机器人、医用设备、绘图仪、IC电路制造设备、IC封装等领域得到了广泛运用,取得了良好的效果。目前运动控制卡大部分采用8051系列的8位单片机,虽然节省了开发周期但缺乏灵活性,难以胜任高要求运作环境,而且运算能力有限。

  DSP的数据运算处理功能强大,即使在很复杂的控制中,采样周期也可以取得很小,控制效果更接近于连续系统。把DSP与PC的各自优势结合将是高性能数控系统的发展趋势。本运动控制器采用TI公司的高性能浮点DSP作为主控芯片,通过ISA接口与PC协调并进行数据交换,以PC计算机作为基本平台,以DSP高速运动控制卡作细插补、伺服控制的核心,对直线电机的运动进行控制,取得了良好的实际应用效果。

  1 高速高精运动控制卡的主要硬件构成

  本运动控制系统的任务是控制直线电机的运动,要求4轴输入和4轴输出,采用光栅尺对输入计数,16位并行高速DA输出,运动定位精度要求达到10nm,响应时间<100ns。

  高速直线电机是本系统的控制对象,它具有加速快(a>10g),运动速度高(v>300mm/s)的特点。要求控制系统有足够短的响应时间(<100ns)和足够高的定位精度(10nm级),因而系统的核心CPU的处理能力及运算能力必须满足高速要求;此外,直线电机运动定位的核心是高精度的反馈控制装置。直线电机的反馈控制装置是光栅尺和高精度脉冲计数器,光栅尺发出与运动距离成线性关系的脉冲数,脉冲计数器的计数值表示直线电机当前的运动位置。经计算,计数长度为28位的计数器才能满足定位的精度要求,同时计数频率很高。一般的通用计数器参数无法达到,所以设计一个特殊计数器是必要的。为了方便设置目标点的运动参数,使运动控制卡具有比较好的人机交互功能,系统必须具有与PC机通信的功能。

  综合考虑上述要求,系统的设计采用DSP+FPGA的形式,由DSP主控芯片作为中央处理模块,FPGA作为反馈计数模块且负责板上的部分逻辑译码工作,PC通信接口模块采用双口RAM,输出模块用D/A转换器实现,如图1所示。

  

  1.1 DSP模块

  基于DSP的运动控制系统一般采用TI公司的TMS320C24x系列芯片,但24x系列是16位定点处理器,运算能力有限。不能满足本系统规划的高速高精要求,为此,我们选用了TI公司的TMS320C32 DSP作为主控芯片。

  TMS320C3X系列芯片是美国TI公司推出的第一代浮点DSP芯片,具有丰富的指令集、很高的运算速度、较大的寻址空间和较高的性价比,在各领域得到了广泛的应用。TMS320C32是TMS320系列浮点数字信号处理器的新产品,在TMS320C30和TMS320C31的基础上进行了简化和改进。在结构上的改进主要包括可变宽度的存储器接口、更快速的指令周期时间、可设置优先级的双通道DMA处理器、灵活的引导程序装入方式、可重新定位的中断向量表以及可选的边缘/电平触发中断方式等。

  对TMS320C32的开发可以用汇编语言,也可以用C语言。使用汇编语言的优点在于运行速度快、可以充分利用芯片的硬件特性,但开发速度较慢,程序的可读性差;而C语言的优势在于编程容易、调试快速、可读性好,可以大大缩短开发周期,但C语言对于其片内的没有映射地址的特殊功能寄存器不能操作,如IF和IE,AR0~AR7等。

  1.2 FPGA模块

  该部分主要功能为一个4通道的针对光栅尺的脉冲计数器,此外,还承担部分地址译码的工作。但由于脉冲计数频率高,计数量大,所以必须选择高容量、高性能的可编程逻辑器件。

  ALTERA FLEX(Flexible Logic Element Matrix)10K 系列FPGA,规模从一万门到十万门,可提供720~5392个触发器及6144~24576位RAM,提供30ns、40ns及50ns等几个速率等级,可适应18~105MHz的信号处理速率。ALTERA FLEX10K系列FPGA主要由输入输出单元IOE、掩埋阵列EAB、逻辑阵列LAB及内部连线组成。EAB是在输入和输出端口加有寄存器的RAM块,其容量可灵活变化。所以,EAB不仅可以用于存储器,还可以事先写入查表值来用它构成如乘法器、纠错逻辑等电路。当用于RAM时,EAB可配制成多种形式的字宽和容量。

  LAB主要用于逻辑电路设计,一个LAB包括8个逻辑单元LE,每一个LAB提供4个控制信号及其反相信号,其中两个

  可用于时钟信号。每一个LE包括组合逻辑及一个可编程触发器。触发器可被配成D,T,JK,RS等各种形式。IOE提供全局的时钟及清零信号输入端口,还提供具有可编程性的各种输入输出端口,如低噪声端口、高速端口等。

  FLEX10K系列芯片是ALTERA公司新近推出的PLD产品。与ALTERA公司先前推出的MAX7000系列EPLD相比,FLEX10K(以下简称10K)系列具有更加丰富的内部资源(最多可达10万门),更加充裕的可配置的I/O管脚(最多达406条)。再加上其低廉的价格,使得10K系列芯片受到越来越多用户的欢迎。

  基于以上原因,我们在本方案中采用ALTERA FLEX10K10,并且考虑到以后设计的连续性,我们可以无需更改硬件电路,就可以更换性能更高的、相同尺寸、相同管脚配置的ALTERA FLEX10K20。

  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总线过来的信号,如图2所示。

  当访问地址清零寄存器时,地址计数值清零;当访问地址增加寄存器时,地址计数值增加“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转换时间:≤1μs

  ● D/A转换综合误差:≤0.02% FSR

  ● 电压输出方式负载能力:5mA/路

  1.5 存储模块

  

  

  存储模块用于存储系统程序和数据,主要由SRAM(2片CY7C1021)和FLASH(AM29F40

  0B)组成。外围存储电路如图3所示。

  2 软件设计

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

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

  2.1 B样条插值

  

  

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

  本系统采用三次B样条曲线作为精插补算法,该算法应用在控制卡中可以得到比较满意的效果。计算过程中只需要相邻4个点的位置数据,(x0,y0),(x1,y1),(x2,y2),(x3,y3),就可以构造出平滑的曲线。

  公式以坐标分量形式表示为:

  

  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 时刻的偏差值,在系统中体现为该时刻实际位置与目标位置的偏差。

  T,Td,Ti,Kp是PID公式的常量,不同的数值代表着PID系统的微分、积分、比例调节作用的强度和效果。

  3 小结

  在开放式数控系统中应用基于DSP+FPGA的运动控制卡,DSP承担了CNC系统中实时性要求较高的模块功能。利用DSP高速运算能力和实时信号处理能力,采用先进的Bs

  pline插补算法,使该DSP运动控制卡具有高速、高精度的性能,结合FPGA芯片的先进技术,使该运动控制卡的集成性、可靠性大大提高。本运动控制卡目前是基于ISA总线设计的,今后将考虑把该系统移植到PCI总线上,将能进一步提高系统的处理速度能力,适应更高要求。

  参考文献

  1 TMS320C3x User’s Guide, Texas Instruments, 2001

  2 TMS320C3x General-Purpose Applications, Texas Instruments, 2001

  3 孙家广. 计算机图形学. 清华大学出版社

  4 解旭辉. 超精机床数控系统与伺服控制技术研究[D]. 长沙:国防科技大学, 1997

  5 来晓岚, 赵佳明, 卢焕章. DSP+FPGA实时信号处理系统, 电子技术应用, 2002.7

  6 胡育文, 陈宏, 顾毅康. 基于DSP的电机控制器设计中的几个问题. 中国自动化学会 ,1999.10

  7 潘日红, 潘日晶. 周期B样条曲线的快速递推升阶方法. 福建师范大学学报(自然科学版), 2001.4

  8 刘金琨. 先进PID控制及其MATLAB仿真. 电子工业出版社, 2003

关键字:DSP  FPGA  B样条  PID控制  输出模块  插补算法  运动曲线  上位机  运动

编辑:孙树宾 引用地址:http://www.eeworld.com.cn/afdz/2008/0611/article_747.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于CC2500的无线楼字跟踪系统软硬件设计
下一篇:智能手机的硬件体系结构

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

教你如何使用STM32F4的DSP库

我们平常所使用的CPU为定点CPU,意思是进行整点数值运算的CPU。当遇到形如1.1+1.1的浮点数运算时,定点CPU就遇到大难题了。对于32位单片机,利用Q化处理能发挥他本身的性能,但是精度和速度仍然不会提高很多。现在设计出了一个新的CPU,叫做FPU,这个芯片专门处理浮点数的运算,这样处理器就将整点数和浮点数分开来处理,整点数交由定点CPU处理而浮点数交由FPU处理。我们见到过TI的DSP,还有STM32F4系列的带有DSP功能的微控制器。前者笔者没有用过,不作评论,而后者如果需要用到FPU的浮点运算功能,必须要进行一些必要的设置。首先,由于浮点运算在FPU中进行,所以首先应该使能FPU运行。在system_init()中
发表于 2018-11-20

DSP将成端侧AI核战主角?

随着AI不断从云向端“下沉”,端侧AI处理器核的竞争也日趋激烈,既有老牌劲旅,也有初生新贵,但总体不外乎DSP、GPU、CPU等在暗较长短,比拼的或不是性价比那么简单,背后的软件支持、生态、服务等均是考验。端侧AI看重功耗和可扩展从市场来看,无论是物联网、智能手机、自动驾驶汽车、安防、机器人、无人机、AR/VR等领域的设备端,无不在拥抱神经网络推理应用,不断加速端侧AI的生长。Cadence公司IP事业部Tensilica技术营销总监Yipeng Liu对此分析说,一方面是算法发展快速,一年就可迭代多次,因而也越来越简化;另一方面以往多是浮点运算,但现在也可定点运算,这对精度和带宽也走低。对于市场上的核战主力,Cadence
发表于 2018-11-15
DSP将成端侧AI核战主角?

DSP28035_波特率的设置

SciaRegs.SCIHBAUD  =0x0000;SciaRegs.SCILBAUD  =0xc2;     //设置为9600//BRR = 15000000/8/9600 -1 = 194.3125为什么是15M?下面这个文件中有系统时钟设置,60M#include "DSP2803x_Examples.h"    // DSP2803x Examples Include File 15M的设置在下面这个文件
发表于 2018-10-07
DSP28035_波特率的设置

基于CEVA最新一代图像和视觉DSP平台,酷芯微电子新一代Edge AI

批量量产阶段,近期有不同应用领域的多家客户,已基于这两颗芯片开发出成熟落地的量产方案。 酷芯微电子董事长姚海平两款AI芯片定位于Edge端“AR9201 SoC芯片是针对客户需求做了很多行业领先的创新设计,首次集成无线基带低延时图传功能和强大AI算力于一体的,以TSMC 28nm低功耗工艺为基础,自主研发实现的超大规模Edge AI SOC智能芯片”,酷芯微电子CEO钟琪介绍称:第一,AR9201 SOC单芯片具有超大规模的高集成度,主要集成了四核主频1.5Ghz高性能ARM Cortex-A7 CPU,提供强有力的系统应用开发能力,四核主频1Ghz高性能CEVA DSP,提供超强的1.2TOPS算力,还集成了单颗主频
发表于 2018-09-19
基于CEVA最新一代图像和视觉DSP平台,酷芯微电子新一代Edge AI

加速端对端单波100G光连接的演进,全新DSP解决方案诞生

Credo (默升科技),高性能,低功耗100G、200G 与 400G 埠连接解决方案全球创新领导者,今日宣布将于2018中国国际光博会中展示实现单波100G光连接的100G单信道速率混合信号数字讯号处理(Digital Signal Processing ,DSP)解决方案。展会于今日在深圳市福田区福华三路的深圳会展中心开幕,会展将于9月5号至8号举办。  “当100G端对端单通道技术成熟时,大型数据中心将会受益良多,”Credo业务发展部副总裁Jeff Twombly说到。”我们今天的展示将明确证明光连接将于今年大规模量产并将在近几年后向100G单通道连接迈进。”  “100G单信道
发表于 2018-09-04

电动汽车警示音系统

。美国国家公路交通安全管理局(NHTSA)网站上可以找到这种立法的例子。电动汽车警示音系统(EVWSS)产生一系列旨在提醒行人有EV、HEV和PHEV存在的声音。司机可以触发警示音(类似于汽车喇叭的声音,但不那么急迫)。但在低速时,声音必须能自动响起。声音有很多,从人造信号音到模仿发动机噪音和轮胎经过砾石的真实声音。ADI公司提供两种不同解决方案,包括用于EV的车内发动机声音模拟以及外部发动机声音产生。高端应用方案基于ADSP-BF706开发。对于入门级应用,则基于ADAU1450 SigmaDSP®。这些解决方案可以合成声音并根据行驶速度调整频率、音量和其他参数,而且可以将音频发送到音频功率放大器。根据具体立法的要求,警示音可以利用内燃机
发表于 2018-08-23
电动汽车警示音系统

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">