来源:EDN_china
FPGA(现场可编程门阵列)在并行信号处理方面具有极大的优势。本系统采用FPGA作为加工数据的执行器件。这种解决方案突出的特点是让运动控制的处理部分以独立的、硬件性方式展开,增加系统的性能和可靠性,从而有效地解决了用单纯的MCU或DSP系统处理的带宽限制,以及用户系统软件和运动控制软件混杂性的问题。
当今国内外市场上已经陆续出现类似的FPGA产品,这些产品大多使用FPGA完成从原始数据处理到执行的全部工作。此种结构虽然可以简化FPGA外部的电路设计,但是由于FPGA做复杂数学计算的能力有限,不能对复杂图形尤其是不规则图形做出全面的分析,导致加工速度无法进一步提升。除此之外,这些产品大多采用写入一条数据、执行一条数据的工作方式,造成了执行相邻两条数据间的加工停顿,破坏了加工的流畅性,在加工复杂图形时还会明显地影响加工速度。
本系统使用数字信号处理器DSP完成复杂的图形分析计算,这样既可以对复杂图形做出全面的分析又不会丧失系统性能。除此之外,本系统还在FPGA内部采用了双存储器交替加工的结构,从根本上消除了相邻数据间的加工停顿。
1 系统设计
激光加工系统主要是以切割、雕刻等工艺完成对金属、非金属的加工。切割是指系统在控制工作头做矢量运动的同时,配合激光在被加工物体上切割出不同的线条;雕刻是指系统控制激光头在一定区域内进行往复扫描,以类似打印机的方式在被加工物体上刻出深浅不一的图案。本系统采用由计算机获得图形并传输至下位机,由下位机保存图形并脱机加工的结构。
图1为系统的结构示意图。在数据传输阶段,加工数据由计算机通过以太网或并口,以图名、图号为标志传入DSP(TMS320VC33),DSP将数据按协议解析后存入FLASH(K9F1G08U0A)存储器。在脱机加工阶段,DSP将数据从FLASH存储器重新读出并进行处理、计算,并将最终的加工数据输入FPGA(EP1C6T144C8)内部的加工模块,控制FPGA输出加工信号。在系统运转的整个过程中,DSP还要通过建于FPGA内部的通讯模块和单片机交换数据,获取有关人机界面和诸如限位开关、激光器散热水泵等保护器件的工作状态。
加工信号预处理电路主要由数模转换器和光电隔离器组成。它负责将FPGA输出的加工信号进行处理后驱动步进电机和激光器。
2 DSP的软件设计
2.1 加减速区的分析及计算
在待机阶段,DSP将从计算机取得原始数据。在加工阶段,DSP将对这些数据进行分析并合理分配加、减速区域。图2为加、减速区示意图。加减速区是用多段幅值较小的速度变化代替一次较大的速度变化。对于大尺寸或高速运动平台来说,电机的加、减速过程必不可少。由原理可知,两图所围面积大小相等,即工作头移动距离相等。
在以往的步进电机驱动算法的设计中,大多采用简单的二次曲线进行速度拟合。此种拟合方式虽然简单,但在大型运动平台上并不能够充分考虑到机械部件间的静摩擦力和旋转部件的转动惯量等因素,其运行效果并不理想。
本系统在加、减速区的计算过程中,通过将速度和加速时间的关系与“S”形曲线进行拟合来得到加速区速度,通过将速度和减速时间的关系与反“S”形曲线进行拟合得到减速区速度。图3为加、减速区速度-时间拟合曲线,曲线的斜率代表工作头移动的加速度。从图3可见,加、减速区所使用的拟合曲线并不相同,减速区曲线更为“陡峭”。这是由于减速过程中受机械系统摩擦力等因素的影响,电机负荷较小,可以承受更快的减速过程。使用“S”形曲线进行拟合的优点主要有:
(1)电机从静止状态过渡到行进状态的过程中,由于各机械部件之间存在静摩擦力,可使电机较为平缓地启动,避免了撞击或丢步现象的发生。
(2)电机进入平稳运行阶段时,可以使用较大的加速度进行速度提升。但是,随着速度的增加,电机的剩余功率将不断减小,此时应不断减缓加速进程。
(3)电机从行进状态过渡到静止状态的减速过程中,此种拟合方法可以使电机平稳过渡,避免发生撞击。
在一幅复杂图形中往往存在很多不连续、不规则的矢量,如果每条矢量的末尾都减速到零,势必会影响加工速度。所以,在分析此类图形时要连带分析当前矢量的前、后图形情况,计算出各矢量的夹角以确定加工此矢量的初始速度及终止速度。表1为工作头进行不同角度转弯时的极限速度。
3 FPGA的内部逻辑设计
从DSP的角度看,FPGA加工模块类似于一个存储器,DSP只需将计算结果写入此存储器中,以后的工作将全部由FPGA来完成。在FPGA加工模块中主要采用了不同类别数据并行读取和双存储器组交替工作的技术。
3.1数据并行读取
传统的数据存储器受限于处理器的单任务特性,通常采用单片大容量存储单元,这种结构使得系统需要耗费多个读取周期才能得到一组完整的数据。而FPGA的并行工作特性可以突破这种传统的设计形式,将不同类别数据存放于独立的存储单元中。只要在定义数据时将地址对齐就可以在一个读取周期中获得全部数据。运用这种方式可以在读数时间最小化的同时简化编程,也可以使整体程序的结构更加明了。
3.2 双存储器交替工作
市场上已有的同类FPGA产品大多采用写入1条数据、执行1条数据的工作方式,这将在数据传输时产生停顿。本系统虽然采用了存储器作为加工数据的缓存,但仅仅依靠这种方式仍然不能解决问题,在DSP写入数据时依然会造成加工停顿。
图4为双存储器组结构示意图,当系统在执行其中一组存储器中的数据时,DSP可将计算结果写入另一组存储器。由于DSP的运算速度远远高于加工速度,所以双存储器架构可以保证加工不被间断。
图5为FPGA加工程序流程图。可见,在地址对齐的前提下更换存储器组需要改变存储器组选择信号并将地址计数器清零。此时,FPGA还将用中断的形式通知DSP,使得DSP可以填充新的数据。
4 实验结论
实验中使用幅面为1.2m×1m的二维工作台,X、Y轴步进电机采用雷塞公司的57HS22并配以M860驱动器。57HS22的步距角为1.8度,额定电流为4A,保持转矩为2.2N.m,定位转矩为700g.cm,电机接法采用并联形式以突出高速性能。电机转子的转动经减速后由齿形带带动工作头做直线运动,转子每旋转一周使工作头移动24mm。
在实验中分别对PLT文件、DXF文件以及BMP文件作了大量测试,其中PLT文件和DXF文件用于切割测试,BMP文件用于雕刻测试。
图形文件由PC机软件传送至本系统,随后脱机加工,在切割模式下,长矢量的加工速度可以平稳超过20000mm/min,在雕刻模式下加工速度可以超过30000mm/min。在对一幅含有超过13万条矢量的复杂图形连续加工5次后,无肉眼可分辨的位置偏差。
由于本系统采用了DSP进行图形分析,使得系统对复杂图形的处理能力得到了很大的提高。同时,FPGA内部双存储器交替工作的结构也从根本上解决了数据传输过程中加工停顿的问题。实验表明,本系统拥有加工速度快、图形处理能力强、使用简便可靠等优点。