DDA插补法的VHDL语言描述及应用Word文件下载.docx
《DDA插补法的VHDL语言描述及应用Word文件下载.docx》由会员分享,可在线阅读,更多相关《DDA插补法的VHDL语言描述及应用Word文件下载.docx(28页珍藏版)》请在冰豆网上搜索。
![DDA插补法的VHDL语言描述及应用Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/29/842ea163-7017-48e0-bb23-d7b5d35aeffc/842ea163-7017-48e0-bb23-d7b5d35aeffc1.gif)
指导教师:
张建华副教授
起迄日期:
2008.4~2008.6
设计地点:
实验楼_
GraduationDesign(Thesis)
DescriberationAndApplicationofVHDLLanguageForDDA
By
LIUCuiping
Supervisedby
AssociateProf.ZHANGJianhua
SchoolofAutomation
NanjingInstituteofTechnology
June,2008
摘要
本论文设计完成的芯片由VHDL编程设计,它能按照程序设计要求,实现利用DDA插补法对直线和圆弧各个象限的插补。
本论文主要介绍了DDA插补法的插补原理、芯片设计及在Maxplus2文本编辑环境下的仿真。
基于数控智能芯片的架构和软件硬化的理念,利用FPGA设计插补模块,既保留了硬件电路运算速度快(纳秒级)、插补思路清晰的特点,又克服了原有数字逻辑插补电路灵活性差的缺点。
选用美国Altera公司的MaxplusΠ工具进行编译仿真,实现了脉冲增量式插补中的DDA插补法轮廓插补运算,定义出了芯片的输入/输出接口,通过VHDL语言进行编程仿真,获得了输出脉冲波形,完成了直线和圆弧轮廓4个象限的插补功能。
第一章绪论
1.1数控系统插补
数控就是数字控制(NumberControl,NC)的简称。
从广义上讲,是指利用数字化信息实行控制,也就是利用数字控制技术实现自动控制系统,其被控对象可以是各种生产过程。
而这里主要从侠义上理解,也就是利用数字化信息对数控机床轨迹和状态实行控制,例如数控车床、数控铣床、数控线切割机床、数控加工中心等。
在数控机床加工过程中,刀具只能以折线去逼近将要加工的曲线轮廓,所以它的运动轨迹并不是光滑的曲线。
为了实现轮廓控制,就必须实时计算出满足零件形状和进给速度要求的介于起点和终点之间的若干个中间点的坐标,这些可以通过插补算法来获得。
1.1.1插补
所谓插补,就是根据零件轮廓尺寸,结合精度和工艺等方面的要求,在已知刀具中心轨线转接点之间插入若干个中间点的过程。
换句话说,就是“数据点的密化过程”,其对应的算法称为插补算法。
中间点的获取是根据相应的算法由数控系统软件或硬件自动完成,并以此来协调空盒子各坐标轴的运动,从而获得所要求的运动轨迹。
常见零件轮廓的形状有直线、圆弧、抛物线、自由曲线等。
但其中直线和圆弧是构成被加工零件轮廓的基本线型,所以绝大多数数控系统都具有直线和圆弧插补功能。
下面将对此进行重点介绍。
数控加工程序中一般都要提供直线的起点和终点坐标、圆弧的起点和终点坐标、圆弧走向(顺圆/逆圆)、圆心相对于其嗲的偏移量和圆弧半径等。
具体来说,插补的任务就是根据进给速度的要求,计算出每一段零件轮廓起点与终点之间所插入中间点的坐标值。
但是,为了避免坐标值计算过程中可能遇到的三角函数、乘、除以及开方等运算,一般都采用迭代算法,这样也为插补的实时处理创造了有利条件。
1.1.2插补方法的分类
随着相关学科特别是计算机领域的迅速发展,插补算法也在不断地完善和更新。
由于插补的速度直接影响到数控系统的速度,而插补的精度又直接影响整个数控系统的精度,因此,人们一直在努力探求一直计算快并且精度又高的插补方法。
但不幸的是,插补速度与插补精度之间是互相制约、互相矛盾的,这是必须进行折中的选择。
目前为止,已涌现出了大量的插补算法,现将它们归纳为如下两大类:
(一)脉冲增量插补
脉冲增量插补又称基准脉冲插补或行程标量插补,这类插补算法是以脉冲形式输出,每插补运算一次,最多给每一轴一个进给脉冲。
把每次插补运算产生的指令脉冲输出到伺服系统,以驱动工作台运动,每发出一个脉冲,工作台移动一个基本长度单位,即脉冲当量,脉冲当量是脉冲分配的基本单位。
这种插补算法的特点是每次插补结束,数控装置向每个运动坐标输出基准脉冲序列,每个脉冲插补的实现方法较简单(只有加法和移位)可以用硬件实现。
目前,随着计算机技术的迅猛发展,多采用软件完成这类算法。
脉冲的累积值代表运动轴的位置,脉冲产生的速度与运动轴的速度成比例。
由于脉冲增量插补的转轴的最大速度受插补算法执行时间限制,所以它仅适用于一些中等精度和中等速度要求的经济型计算机数控系统。
基准脉冲插补方法有一下几种:
1、数字脉冲乘法器插补法;
2、逐点比较法;
3、数字积分法;
4、矢量判别法;
5、比较积分法;
6、最小偏差法;
7、目标点跟踪法;
8、直接函数法;
9、单步跟踪法;
10、加密判别和双判别插补法;
11、Bresenham算法
早期常用的脉冲增量式插补算法有逐点比较法、单步跟踪法、DDA法等。
插补精度常为一个脉冲当量,DDA法还伴有运算误差。
80年代后期插补算法有改进逐点比较法、直接函数法、最小偏差法等,使插补精度提高到半个脉冲当量,但执行速度不很理想,在插补精度和运动速度均高的CNC系统中应用不广。
近年来的插补算法有改进的最小偏差法,映射法。
兼有插补精度高和插补速度快的特点。
总的说来,最小偏差法插补精度较高,且有利与电机的连续运动
(二)数据采样插补
数据采样插补又称为时间分割法,与基准脉冲插补法不同,数据采样插补法得出的不是进给脉冲,而是用二进制表示的进给量。
这种方法是根据程编进给速度F,将给定轮廓曲线按插补周期T(某一单位时间间隔)分割为插补进给段(轮廓步长),即用一系列首尾相连的微小线段来逼近给定曲线。
每经过一个插补周期就进行一次插补计算,算出下一个插补点,即算出插补周期内各坐标轴的进给量,如等,得出下一个插补点的指令位置。
插补周期越长,插补计算误差越大,插补周期应尽量选得小一些。
CNC系统在进行轮廓插补控制时,除完成插补计算外,数控装置还必须处理一些其它任务,如显示、监控、位置采样及控制等。
因此,插补周期应大于插补运算时间和其它实时任务所需时间之和。
插补周期大约在8ms左右。
采样是指由时间上连续信号取出不连续信号,对时间上连续的信号进行采样,就是通过一个采样开关K(这个开关K每隔一定的周期TC闭合一次)后,在采样开关的输出端形成一连串的脉冲信号。
这种把时间上连续的信号转变成时间上离散的脉冲系列的过程称为采样过程,周期TC叫采样周期。
计算机定时对坐标的实际位置进行采样,采样数据与指令位置进行比较,得出位置误差用来控制电动机,使实际位置跟随指令位置。
对于给定的某个数控系统,插补周期T和采样周期TC是固定的,通常T≥TC,一般要求T是TC的整数倍。
对于直线插补,不会造成轨迹误差。
在圆弧插补中,会带来轨迹误差。
插补计算是计算机数控系统中实时性很强的一项工作,为了提高计算速度,缩短计算时间,按以下三种结构方式进行改进。
1.采用软/硬件结合的两级插补方案。
2.
采用多CPU的分布式处理方案。
3.采用单台高性能微型计算机方案。
数据采样插补方法很多,常用方法如下:
1、直接函数法;
2、扩展数字积分法;
3、二阶递归扩展数字积分圆弧插补法;
4、圆弧双数字积分插补法;
5、角度逼近圆弧插补法;
6、“改进吐斯丁”(ImprovedTustinMethod――ITM)法。
近年来,众多学者又研究了更多的插补类型及改进方法。
改进DDA圆弧插补算法,空间圆弧的插补时间分割法,抛物线的时间分割插补方法,椭圆弧插补法,Bezier、B样条等参数曲线的插补方法,任意空间参数曲线的插补方法。
1.1.3插补技术的发展
在早期的硬件数控系统中,插补过程是由专门的数字逻辑电路完成的。
而在计算机数控系统(CNC)中,既可全部由软件实现,也可由软件、硬件结合完成。
显然硬件插补的速度快,但电路复杂,并且调整和修改都相当困难,缺乏柔性;
而软件插补的速度虽然慢一些,但调整很方便,特别是目前计算机处理速度的不断提高,为缓和速度矛盾创造了有力条件。
数控技术的发展与计算机领域的发展是息息相关的,特别是20世纪80年代以后微型计算机的出现,给数控技术诸如了新的活力,给予微型计算机的数控系统已经成为现代数控系统的主流。
为了进一步提高数控系统性能,克服其在速度和精度之间的矛盾,人们提出了如下一些切实可行的方案来加以弥补。
(一)采用软硬件相配合的两级插补方案
在这种数控系统中,为了减轻数控装置的插补负担,将整个插补任务分成两步完成,即先用插补软件将加工零件的轮廓段插补周期(10~20ms)分割成若刚微笑之线段这个过程称为粗插补。
随后利用附加的硬件插补器对粗插补输出的微直线段做进一步的插补,形成一簇单位脉冲输出,这个过程称为精插补。
大官人,精插补也可以利用软件来实现粗插补将完成插补任务中的绝大部分计算工作量,而占用的时间却比用一级软件插补方案少得多。
这样可大大缓和实时插补与多任务控制之间的矛盾。
例如FANUC公司生产的SYSTEN-5数控系统就是采用这种方案实现的。
(二)采用多个CPU的分布式处理方案
首先将数控系统的全部功能划分为几个子功能模块,每个子功能模块配置一个独立的CPU来完成其相应功能,然后通过系统软件来协调各个CPU之间的工作。
美国麦克唐纳·
道格拉斯公司的ActrionⅢ型数控系统就是一个典型的代表,它采用四个微处理器分别实现输入/输出、轮廓插补及进给速度控制功能、坐标轴私服功能、数控加工程序编程和CRT显示功能。
这种系统具有较高的性能/价格比,代表着数控技术发展的一个方向。
(三)采用但太高性能微型计算机方案
采用高性能的微型计算机来完成整个数控系统的软件功能。
目前32位和64位的微型计算机技术已经成熟,其处理速度可达到2GHz以上,综合性能已经超过原来的小型机。
可见,将它们应用于数控系统中在合适不过了,并且已经有这种系统上市。
1.2选题背景及意义
开放化、高速化和高精度化都是现代计算机数控系统最新的发展趋势和研究热点。
目前我国在紧密跟随国外发展趋势的同时,对开放式数控的体系结构和实现方法从多个侧面开展了广泛的研究。
本文基于数控智能芯片的思想,采用FPGA(FieldProgrammableGatesArray,现场可编程逻辑门阵列),电路的二次开发和在线编程能力硬化实现计算机数控系统的插补功能模块。
虽然国内也有不少学者已经尝试过这种硬化实现技术,但一般仍是针对数控系统内部某项功能的局部实现和替换,没有站在整个系统的角度,按照一定的标准和规范来设计出标准的数控智能芯片,也就无法做到真正的即插即用。
由于软件硬化模块处理速度相当与ASIC芯片,因此可获得很高的处理速度,为我国超高速加工机床的研制提供了一条有效途径。
1.3本设计的主要工作
1.完成芯片的总体设计
2.读入模块的设计与仿真
3.直线插补模块的设计与仿真
4.圆弧插补模块的设计与仿真
5.芯片的仿真与测试
第二章芯片设计
完成插补运算的装置或程序称为插补器,分为硬件插补器、软件插补器和软硬件结合插补器。
插补器是计算机数控系统的一个基本单元,用来完成运动轨迹的拟合。
由于计算机技术的发展,目前数控系统所使用的插补器多为软件插补器。
尽管软件插补有很多优点,但由于其插补运算是串行的,因而运算速度较低,特别是对于一些高精度、高速度的多轴数控系统,往往不能满组需求。
而硬件插补则可以实现多轴插补的并行运算,因而具有较高的插补速度。
应用现场可编程逻辑门阵列(FieldProgrammableGateArray,FPGA)可以弥补硬件插补器结构复杂、灵活性差的缺点。
本文利用FPGA可以弥补硬件插补器的不足