>
首页 » 业界动态 » 基于FPGA/CPLD数控系统插补智能芯片设计

基于FPGA/CPLD数控系统插补智能芯片设计

作者:汪木兰,左健民,王中华  时间:2007-02-03 11:36  来源:

摘要:基于数控智能芯片的架构和软件硬化的理念,利用FPGA/ CPLD 设计插补模块既保留了硬件电路运算速度快(纳秒级) 、插补思路清晰的优点,又克服了原有数字逻辑插补电路灵活性差的缺点。选用美国Altera 公司的Cyclone Ⅱ系列芯片进行下载配置,实现了脉冲增量式插补中的逐点比较法轮廓插补算法,定义出了芯片的输入/ 输出接口,通过VHDL 语言进行编程仿真,获得了输出脉冲波形,完成了直线和圆弧轮廓4 个象限的插补功能。

关键词:计算机数控系统;插补算法;FPGA/ CPLD ;VHDL

开放化、高速化和高精度化都是现代计算机数控系统最新的发展趋势和研究热点。目前,我国在紧密跟踪国外发展趋势的同时,对开放式数控的体系结构和实现方法从多个侧面开展了广泛的研究,华中科技大学、浙江大学和哈尔滨工业大学等单位,学者还提出了可重用数控、全软件数控、可重构数控和数控智能芯片等先进的理念,并基于高性能的DSP (Digital Signal Processor ,数字信号处理器) ARM(英国Advanced RISCMachine 有限公司知识产权) 嵌入式微处理器和现场总线技术构建出了相应的原型样机。

本文基于数控智能芯片的思想,采用FPGA(Field Programmable Gates Array ,现场可编程逻辑门阵列) CPLD ( Complex Programmable LogicDevice ,复杂可编程逻辑器件) 电路的二次开发和在线编程能力硬化实现计算机数控系统的插补功能模块。虽然国内也有不少学者已经尝试过这种硬化实现技术,但一般仍然是针对数控系统内部某项功能的局部实现和替换,没有站在整个系统的角度,按照一定的标准和规范来设计出标准的数控智能芯片,也就无法做到真正的即插即用。由于软件硬化模块处理速度相当于ASIC 芯片,因此可获得很高的处理速度,为我国超高速加工机床的研制提供了一条有效途径。

基于智能芯片的数控系统架构

由于32 位微处理器技术的发展,数控系统中的数值计算和控制精度已经不是主要问题了。与此同时,处理速度也得到了较大幅度的提高。但对于利用纯软件完成数控系统功能来讲,毕竟执行控制程序需要一定的时间(微秒级) ,相对一定运行频率的微处理器而言,速度的提高不是无限制的,而具有一定的极限。特别是对于超高速加工场合,随着数控设备中关键功能部件(直线进给伺服单元、大功率电主轴和磁悬浮轴承等) 的技术突破,如果继续采用全软件方法来实现数控加工功能,其速度和加工效率将无法得到进一步提高。为此,有些研究人员或数控系统公司开始引入先进的SoC(System on Chip ,片上系统) 理念和ASIC (ApplicationSpecific Integrated Circuit ,专用集成电路) 设计技术,也就是针对制约数控系统处理速度提高的瓶颈设计独立的硬件电路来承担相应的数控功能,从而达到提高数控机床综合加工能力的目的。ASIC 芯片的处理速度虽然是纳秒级,但设计过程中要求具有微电子设计和制造技术作为支撑,而对于一些中、小型数控企业来讲一般不具备相应的技术能力和设备条件,并且还要承担比较大的技术风险。

国外一些著名的数控系统公司( 例如SIEMENSFANUC ) 大多采用ASIC 技术路线,并且核心技术对我国实行封锁。国内现有的数控技术还是基于20 世纪80 年代的一批援华项目和早期的国家级科技攻关成果,最近20 年还主要停留在富有中国特色的经济型或普及型(全功能型)数控技术水平,虽然产值不断增长,但综合竞争实力与国外公司相比还存在不小的差距。由于国外公司综合实力很强,有的集团内部就具备超大规模集成电路设计和制造能力,加上数控系统的生产批量比较大,所以适合采用ASIC 技术。而国内由于相关产业以及数控行业综合实力的制约,无法照搬国外公司的经验,必须另辟途径,寻找到一条适合我国国情的开放式数控技术实施路线。经过反复权衡和综合比较,大多数行业内专家一致认为,基于FPGA/ CPLD 的二次开发平台,将数控功能固化集成于一个芯片内,设计成一个标准模块,不但提高了处理速度,而且减小了硬件电路的面积,保证了系统的可靠性。另一方面由于芯片是基于SRAM 工艺制造的,可以对其进行升级,从而实现完全的开放和可重构。

整个开放式数控系统基于智能芯片的概念设计功能模块,遵循ISO/ OSI 参考模型的规范和协议,采用前后台体系结构,具体如图1 所示。图中整个开放式数控系统控制体系架构划分为数控智能芯片、应用程序接口和系统平台共3 个层次。

最底层是数控智能芯片( NC IntelligentChip) ,它是根据所实现数控功能的相对独立性和实时性进行设计,然后下载固化在FPGA/ CPLD,相当于一个专用芯片的功能,并且通过约定的内部并行总线与外部交换信息。

第二层是应用程序接口(Application ProgramInterface ,API) ,其作用是将数控系统内部所有的智能芯片集成调度起来,采用动态连接库(DLL) 技术完成芯片之间的信息交换,并实时下达控制命令,回传数控机床的实际状态信息,以供后台的管理软件使用。

第三层是系统平台(System Platform) ,相当于整个数控机床的操作系统,是一个纯软件的背景程序,并要求提供友好的人机界面和交互功能,一般可以选用VBVC + + Win CE L INUX 等实时性较强的通用软件平台进行二次开发完成。

在整个系统架构中最关键的技术是数控智能芯片的功能界定、芯片之间接口的兼容性、芯片通信协议和总线形式以及其间的逻辑时序配合等。因篇幅所限,有关这方面内容的深入阐述将另行介绍。

基于FPGA/ CPLD 逐点比较法插补实现

针对图1 中插补智能芯片IC7 采用FPGA/CPLD 实现脉冲增量式插补中逐点比较法轮廓插补算法。所谓逐点比较法就是在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定相应进给方向,使刀具沿着坐标轴向减小偏差的方向进给,并且只有一个方向的进给。其插补过程可划分为偏差判别、坐标进给、偏差计算和终点判别4 个节拍。最早在硬件数控系统中就是采用逻辑门电路实现,如图2 所示为逐点比较法插补第Ⅰ象限直线轮廓的原理框图。

为此,采用美国Altera 公司FPGA 芯片硬化实现数控系统中逐点比较法直线和圆弧4 个象限插补功能,并定义出相应的输入/ 输出接口。同时,采用美国Altera 公司的MAX plus Ⅱ软件进行模拟仿真和优化,软件功能的实现采用目前应用较广泛的硬件描述语言( HDL) 进行设计。最后,选用了Altera 公司新一代的并行电缆ByteBlaster Ⅱ进行下载和配置,它的一端连接计算机并行口的25 -Pin 插头,另一端连接CPLD 10 - Pin 插座,并且支持AS 方式、PS 方式和J TAG方式的下载。

MAX plus Ⅱ软件是由4 个部分组成:设计输入、项目编译、项目校验和器件编程。其输入可以是图形方式,也可以是文本方式,而且它提供了多种标准的接口,支持多种第三方EDA 接口。一个完整的VHDL (Very high speed integrate circuitHardware Description Language) 设计文本,通常包括库(Library) 、标准程序包的使用(USE) 、自定义程序包( Package) 、实体( Entity) 、结构体(Architec2ture) 和配置(Configuration) 6 个部分。VHDL支持从系统级(特大型) 至门级电路的多层次描述;支持结构描述、行为描述、数据流描述以及混合描述。本文的设计中采用了数据流描述的方式,利用自顶向下的设计方法。有关具体的程序清单从略。利用MAXplus Ⅱ插补第Ⅲ象限直线L3 (起点为O (0 ,0) 、终点为E ( - 5 , - 4) ) 的实例仿真波形如图3 所示,利用MAX plus Ⅱ插补第Ⅲ象限顺圆NR3 (圆心为O (0 ,0) 、起点为S ( - 4 , - 3) ,终点为E (0 , - 5) ) 的实例仿真波形如图4 所示。

现将上述获得的仿真波形与人工计算结果相比较,两者完全一致,说明所设计的VHDL 程序正确无误,下面就可以将其进行封装,并应用于实际的数控系统。

插补智能芯片封装及应用

在多个典型插补实例验证无误,并确保可以完成直线和圆弧轮廓的逐点比较法插补功能后,获得封装芯片的硬化模块如图5 所示。针对Altera 公司Cyclone Ⅱ系列芯片, 优先选用了144 脚的EP2C5 ,其配置如下:用户最多可用I/ O 管脚数为89 、内含逻辑单元4 608 个、M4kRAM 26 (每块为4k 比特+ 512 校验比特,总计为26 ×(4 ×1024 + 512) = 119808 比特) 、嵌入式18 ×18 位乘法器13 个、锁相控制环(PLL) 2 个、TQFP 封装,总面积为16mm ×16mm

模块输入接口约定如下:CL K 为插补速度控制输入信号(取决于数控加工程序中F 代码) EN为芯片使能控制信号、LC 为直线轮廓或圆弧轮廓选择信号、NS 为顺圆弧或逆圆弧选择信号、SX 为轮廓起点X 轴坐标值(16 ) SY 为轮廓起点Y轴坐标值(16 ) X 为轮廓终点X 轴坐标值(16) Y为轮廓终点Y 轴坐标值(16 ) LDX LDY为象限信号。

模块输出接口约定如下:OX X 轴脉冲输出信号、DX X 轴方向脉冲信号、OY Y 轴脉冲输出信号、DY Y 轴方向脉冲信号、XCW X轴正转输出信号、XCCW X 轴反转输出信号、YCWY 轴正转输出信号、YCCW Y 轴反转输出信号、RESET 为复位信号。

在具体的数控系统中使用该插补智能芯片时,整个插补运算是在上位机插补速度控制信号CL K和插补使能信号EN 的共同作用下完成的。当进行直线插补时, EN 有效,CL K 控制下,X Y从上位机接收直线终点坐标值,LDX LDY用来判断直线所在象限。当符合终点坐标条件时,在上位机控制下结束插补,然后等待主控制器发来下一个轮廓段的加工命令。当进行圆弧插补时,EN 有效,CL K控制下,NS 选择逆圆弧和顺圆弧轮廓,SX SY接收圆弧起点坐标值,X Y接收圆弧终点坐标值,LDX LDY用来判断圆弧所在象限。当符合终点判别条件时,在上位机控制下结束插补,然后等待主控制器发来下一个轮廓段的加工命令。

上述插补模块不仅可以用于连接步进伺服系统,也可以用于连接全数字交流伺服系统。其中OXDX OYDY分别用于脉冲个数和脉冲方向输出,XCWXCCW YCWYCCW 分别用于正转脉冲和反转脉冲输出。RESET 是和主控制器相连的一个中断信号,当插补结束时向主控制器申请中断,中断服务程序将使能信号EN 清为零。然后,等待主控制器的下一个命令,以开始新的轮廓插补。

结束语

本文从数控系统中实时性和精度要求较高的逐点比较法硬件插补器的设计入手,介绍了数控系统中软件硬化的基本思想及其特点,这是一种新的尝试。在此基础之上,今后将进一步在整个体系框架下,对数控智能芯片进行标准化和规范化,特别是FPGA/ CPLD 芯片的选型和内部配置的充分利用,智能芯片之间的总线形式、通信协议以及其时序配合方面进行深入的研究,以期为高性能开放式数控系统构建出一种全新的模式。

相关推荐

没有退路的FPGA与晶圆代工业者

FPGA  晶圆代工  2014-01-03

采用FPGA的可编程电阻的设计结构分析

FPGA  电阻  2013-09-24

从FPGA的制程竞赛看英特尔与Fabless的后续变化

FPGA  Fabless  2013-07-16

物联网融合自动化推动高效生产模式变革

物联网  FPGA  SoC  2013-07-09

14纳米FPGA展现突破性优势

14纳米  FPGA  2013-06-20

高清视频监控FPGA应用迎来小高峰

视频监控  FPGA  2013-06-20
在线研讨会
焦点