APP下载

基于DSP和FPGA的激光加工系统控制器的设计

2014-07-18黄复清林维鹏

现代电子技术 2014年11期

黄复清 林维鹏

摘 要: 根据激光加工系统的工作特点和要求,以DSP芯片TMS32028335作为主控制芯片,对加工数据进行运算处理,实现插补算法;以FPGA芯片EP2C8Q208C8N为辅助芯片, 利用FPGA芯片中的FIFO缓存处理好的加工信息,从而更好地满足激光加工系统的实时性要求,最终实现具备多轴协调运动及对系统状态实时监控,并且可以独立于PC机运行的控制器设计。

关键词: DSP; FPGA; FIFO; 运动控制器; 激光加工

中图分类号: TN911.7?34; TP271 文献标识码: A 文章编号: 1004?373X(2014)11?0135?03

Abstract: According to the characteristics and requests of laser?processing system, DSP chip TMS320F28335, as main control chip, is used to compute the processing data and realize the interpolation algorithm. By taking FPGA chip EP2C8Q208C8N as assistance, the processing information processed by FIFO buffer in FPGA chip EP2C8Q208C8N is utilized to meet the real?time requirements of laser?processing system. At last, the design of the controller which can execute multi?axis coordinated motion, system's real?time status monitoring and operation independent of PC was realized.

Keywords: DSP; FPGA; FIFO; motion controller; laser processing

在激光数控加工系统中,运动控制器的设计占据极其重要的位置,其性能的好坏影响到工件的加工质量。现在的激光数控加工系统中的运动控制器,大多数采用“PC机+运动控制卡”的模式[1?2]。然而,这类激光加工系统的控制器由PC机通过ISA总线或者PCI局部总线来实现直接对电机的控制,从而导致了激光加工系统过多依赖于PC机,使激光加工系统在脱离PC机后无法正常工作。而且,这类激光加工控制器的运动控制模块和激光系统状态监控模块独立分开,集成度不高。为克服现有激光系统控制器的缺点,根据现有的控制器模式——“DSP+FPGA”模式[3?7],笔者采用TI公司的TMS320F28335和ALTERA公司的EP2C8Q208C8N来实现一种集成度高,同时可独立于PC机运行的集成激光控制器。

1 系统体系概述

集成控制器系统硬件平台主要包括:主控模块、通信接口模块、外扩存储器模块、DAC模块、机构状态监控模块、电机控制信号接口模块。系统可工作在手动模式和自动加工模式,当系统工作在手动模式时,控制器通过CAN总线接收来自PC机或工业触摸屏的操作指令,对被控对象的相关参数进行设定及控制;当系统工作在自动加工模式时,控制器通过CAN总线接收来自PC机加工数据,根据加工信息进行速度处理和插补算法运算,从而生成插补脉冲给运动执行单元及激光器的电源控制信号。而且,控制器在完成加工数据接收后,可以独立于PC机而正常运行。

系统的核心芯片采用TI公司C2000系列具有32位浮点数处理单元的TMS320F2833和ALTERA公司的EP2C8Q208C8N。DSP主要对加工数据进行运算处理、对被控对象进行参数设定及生成控制信号;同时FPGA利用内部FIFO对来自DSP处理好的插补脉冲信息进行缓存并输出、对系统的状态信号进行监控及实现其他相关逻辑控制。其中,DSP和FPGA通过XINTF接口进行信息交换,系统体系机构如图1所示。

2 硬件设计

2.1 DSP模块外围电路设计

TMS320F28335是TI公司TMS320C28X系列的一款具有32位浮点数处理单元的控制器。它采用高性能静态CMOS技术,最高主频高达150 MHz,对应的指令周期为6.67 ns,低功耗(内核电压为1.8 V,通用I/O口电压为3.3 V),哈佛总线架构,统一存储器编程模型,具有快速中断响应和处理能力,具有超过2M×16 b寻址范围的16位或32位外部接口(XINTF),可寻址空间达到4M×16 b,片内FLASH为256K×16 b,具有丰富的片上外设资源等[8]。

DSP模块的外围电路主要包括电源电路、存储器扩展、通信接口、与FPGA连接接口及DAC电路。

2.1.1 电源电路设计

对于主控芯片DSP供电要求,TI的DSP采用了双电源供电,其CPU内核电压为1.8 V,接口电压为3.3 V,根据电源的需求,在电源模块的设计中采用TPS767D301芯片将5 V转换得到1.8 V和3.3 V电压分别供给DSP内核和DSP的I/O及拓展芯片。此外,采用A0515S?2W将5 V转换得到±15 V给DAC7724芯片供电,同时采用AD578将±15 V转换得到±10 V为DAC7724提供基准电源。

2.1.2 SRAM扩展

系统在加工数据运算处理过程中产生大量的临时数据,如果这些数据都由DSP片内RAM来承担的话,那么会增加DSP的负担,因此采用CYPRESS公司的CY7C1061AV33?10ZXI对系统的数据存储空间进行扩展,将其地址映射到DSP的ZONE7。CY7C1061AV33?10ZXI是1M×16 b的高性能CMOS静态存储器,基本上能够满足系统对数据空间要求。

2.1.3 FLASH扩展

由于系统的加工信息数据量很大,为了能够实现激光系统加工的连续性,利用TMS320F28335的SPI接口扩展256 Mb的串行FLASH存储器MX25L25635E。MX25L25635E是MACRONIX公司的可配置成标准4线的SPI总线接口,正常读的速度达到50 MHz,工作电压为2.7~3.6 V,可擦除/编程的次数达100 000次。

2.1.4 通信接口设计

通信接口包括RS 232接口和CAN总线接口,采用RS 232接口以实现对激光器进行参数设定及调试,利用芯片MAX232ACPE实现TTL电平到RS 232电平转换;系统采用CAN接口来实现与PC机的通信,CAN总线强大的抗干扰能力保证了加工数据传输的可靠性[9],选用芯片TJA1050作为CAN收发器。

2.1.5 DAC模块设计

由于激光器能量的控制需要模拟电压作为控制信号,而TMS320F28335内部没有D/A转换模块,芯片的输出只能是数字量,因此需要为控制器提供一个D/A模块,以完成控制器上数字量到模拟量的转换。选用TI公司型号为DAC7724的D/A转换芯片,该芯片为12位并行、4通道的D/A转换器转化过程建立时间10 μs,能够满足控制精度及实时性的要求。

2.1.6 与FPGA接口设计

通过TMS320F28335的XINTF接口连接FPGA的I/O,在FPGA内部实现寄存器映射到DSP的ZONE0,从而使得TMS320F28335可以如同访问其片上外设一样快速方便地访问FPGA,FPGA和DSP的连接如图2所示。

2.2 FPGA模块电路设计

EP2C8Q208C8N是ALTERA公司Cyclone Ⅱ系列低成本FPGA中的一款,主要用于对成本敏感的系统设计。Cyclone Ⅱ系列FPGA是基于SRATIX的工艺架构,其内部有锁相环,RAM模块。EP2C8Q208C8N内部含有8 256个逻辑单元(LE);138个通用I/O;36个M4K嵌入式RAM(每个RAM块有4 608位),可以实现真正的双端口、简单双端口,单端口RAM和FIFO,可以支持移位寄存器和ROM方式[10]。

FPGA主要实现的功能模块有:系统状态监控模块,码盘反馈模块、数据接口模块及地址译码模块。使用FPGA可以简化外围电路设计,同时解决了因TMS320F28335为3.3 V供电不能与5 V器件相兼容而导致的逻辑电平不兼容的问题。

2.2.1 系统状态监控模块

系统状态监控模块主要实现对系统各个规格的电源状态及机械机构的极限状况进行监控;在该模块中,为消除因抖动和干扰可能产生的误判断,首先通过FPGA内部的触发器对输入信号进行延时。当检测到警告信号时,FPGA通过触发DSP外部中断来将警告情况告知主控制单元。

2.2.2 码盘反馈模块

码盘反馈模块主要完成误计数抑制、计数及运动轴运动距离的记录。为了消除因抖动和干扰产生的误计数,需要对输入的信号通过FPGA内部的触发器进行延时,然后根据信号上升沿来进行计数和对移动轴位置记录。

2.2.3 数据缓存模块

数据缓存模块主要利用FPGA内部的M4K实现FIFO缓存[11],用于缓存DSP模块处理好的插补信息,并在DSP的同步信号控制下,将缓存好的脉冲信息传输到被控对象,这样可以很好地实现系统加工的连续性和实时性。

2.2.4 地址译码模块

FPGA主要通过控制器的主控芯片的地址信号进行译码片选相应的外围芯片,同时根据译码进行控制各运动轴的脉冲发生模块及存储反馈信号。

综上所述,可得FPGA的内部结构框图如图3所示。

3 软件设计

控制器的软件设计主要完成加工指令的解析,接收来自PC机的加工数据,并对加工数据进行运算处理,实现插补算法[11?12],当FPGA中FIFO有缓存空间时,则将处理好的插补脉冲信息写到FIFO缓存中。同时,一旦系统出现故障警告,则对故障信息进行解析及进行相应的处理,并将系统状态及故障警告信息通过CAN接口回馈给PC机和工业触摸屏以便及时将故障信息显示给用户,其软件流程如图4所示。

4 结 语

系统的设计充分利用TMS320F28335高效的数据运算处理和FPGA灵活的硬件特性,设计了一种基于DSP和FPGA的激光加工系统控制器的硬件平台,并实现了相应的软件设计。目前,该控制器已经在实验室的某台激光加工系统中调试成功。实验表明,此控制器设计方案很大程度提高了控制系统的执行速度,集成度高,并且可以独立于PC机而正常工作。

参考文献

[1] 吴林,谭营,唐建.运动控制技术发展与展望[J].机床与液压,2007,7(7):231?233.

[2] 罗伟涛.基于DSP+FPGA的工业机器人运动控制器的研究[D].广州:华南理工大学,2011.

[3] 吴红军,皮佑国.基于DSP和FPGA的运动控制器的设计与实现[J].组合机床和自动加工技术,2011(2):75?77.

[4] 马汉波,颜钢锋.基于DSP和FPGA的多轴运动控制系统设计[J].电子应用技术,2013,39(3):34?36.

[5] 汪卫民,李银华,张劲.基于DSP+FPGA的开放式伺服运动控制器的研究[J].工业控制计算机,2006,19(1):58?59.

[6] 孙艳明,王永明,袁德志,等.基于DSP和FPGA的运动控制器设计[J].工程与试验,2012,9(3):59?60.

[7] 石江华,魏世民,李金泉,等.基于DSP与FPGA的四轴运动控制器设计与研究[J].现代电子技术,2011,34(21):201?204.

[8] Texas Instruments. TMS320F28335 digital signal controllers data manual [M]. USA: Texas Instruments, 2011.

[9] 马东,肖金壮,王洪瑞.基于DSP和CAN总线的网络化运动控制系统研究[J].制造自动化,2013,35(3):5?7.

[10] Altera Coorporation. Cyclone II device handbook, volume 1 [M]. Silicon Valley, USA: Altera Coorporation, 2008.

[11] 潘松,黄继业.EDA技术和VHDL[M].北京:清华大学出版社,2008.

[12] 杨威,应保胜,邱新桥,等.逐点比较直线插补算法的优化[J].武汉科技大学学报,2012,6(3):222?224.

[13] 刘娟容,陈章位,李妮妮,等.一种优化的数据采样法在开环数控系统中的应用[J].机械科学与技术,2011,30(8):1239?1242.