DDA插补法的VHDL语言描述与应用

上传人:s**** 文档编号:77072840 上传时间:2022-04-19 格式:DOC 页数:32 大小:687KB
收藏 版权申诉 举报 下载
DDA插补法的VHDL语言描述与应用_第1页
第1页 / 共32页
DDA插补法的VHDL语言描述与应用_第2页
第2页 / 共32页
DDA插补法的VHDL语言描述与应用_第3页
第3页 / 共32页
资源描述:

《DDA插补法的VHDL语言描述与应用》由会员分享,可在线阅读,更多相关《DDA插补法的VHDL语言描述与应用(32页珍藏版)》请在装配图网上搜索。

1、. . . . 工程学院自动化学院 专科毕业设计(论文)题目: DDA插补法的VHDL语言描述与应用 专 业: 数控技术应用 班 级: G数控Z051 学 号:141050303 学生: 翠萍 指导教师: 建华 副教授 起迄日期:2008.42008.6 设计地点: 实验楼 _Graduation Design (Thesis)Describeration And Application of VHDL Language For DDAByLIU CuipingSupervised byAssociate Prof. ZHANG JianhuaSchool of AutomationNanji

2、ng Institute of TechnologyJune, 2008摘要本论文设计完成的芯片由VHDL编程设计,它能按照程序设计要求,实现利用DDA插补法对直线和圆弧各个象限的插补。本论文主要介绍了DDA插补法的插补原理、芯片设计与在Maxplus2文本编辑环境下的仿真。基于数控智能芯片的架构和软件硬化的理念,利用FPGA设计插补模块,既保留了硬件电路运算速度快(纳秒级)、插补思路清晰的特点,又克服了原有数字逻辑插补电路灵活性差的缺点。选用美国Altera公司的Maxplus 工具进行编译仿真,实现了脉冲增量式插补中的DDA插补法轮廓插补运算,定义出了芯片的输入/输出接口,通过VHDL语言

3、进行编程仿真,获得了输出脉冲波形,完成了直线和圆弧轮廓4个象限的插补功能。第一章 绪论1.1数控系统插补 数控就是数字控制(Number Control,NC)的简称。从广义上讲,是指利用数字化信息实行控制,也就是利用数字控制技术实现自动控制系统,其被控对象可以是各种生产过程。而这里主要从侠义上理解,也就是利用数字化信息对数控机床轨迹和状态实行控制,例如数控车床、数控铣床、数控线切割机床、数控加工中心等。在数控机床加工过程中,刀具只能以折线去逼近将要加工的曲线轮廓,所以它的运动轨迹并不是光滑的曲线。为了实现轮廓控制,就必须实时计算出满足零件形状和进给速度要求的介于起点和终点之间的若干个中间点的

4、坐标,这些可以通过插补算法来获得。1.1.1插补所谓插补,就是根据零件轮廓尺寸,结合精度和工艺等方面的要求,在已知刀具中心轨线转接点之间插入若干个中间点的过程。换句话说,就是“数据点的密化过程”,其对应的算法称为插补算法。中间点的获取是根据相应的算法由数控系统软件或硬件自动完成,并以此来协调空盒子各坐标轴的运动,从而获得所要求的运动轨迹。常见零件轮廓的形状有直线、圆弧、抛物线、自由曲线等。但其中直线和圆弧是构成被加工零件轮廓的基本线型,所以绝大多数数控系统都具有直线和圆弧插补功能。下面将对此进行重点介绍。数控加工程序中一般都要提供直线的起点和终点坐标、圆弧的起点和终点坐标、圆弧走向(顺圆/逆圆

5、)、圆心相对于其嗲的偏移量和圆弧半径等。具体来说,插补的任务就是根据进给速度的要求,计算出每一段零件轮廓起点与终点之间所插入中间点的坐标值。但是,为了避免坐标值计算过程中可能遇到的三角函数、乘、除以与开方等运算,一般都采用迭代算法,这样也为插补的实时处理创造了有利条件。1.1.2插补方法的分类随着相关学科特别是计算机领域的迅速发展,插补算法也在不断地完善和更新。由于插补的速度直接影响到数控系统的速度,而插补的精度又直接影响整个数控系统的精度,因此,人们一直在努力探求一直计算快并且精度又高的插补方法。但不幸的是,插补速度与插补精度之间是互相制约、互相矛盾的,这是必须进行折中的选择。目前为止,已涌

6、现出了大量的插补算法,现将它们归纳为如下两大类: (一)脉冲增量插补脉冲增量插补又称基准脉冲插补或行程标量插补,这类插补算法是以脉冲形式输出,每插补运算一次,最多给每一轴一个进给脉冲。把每次插补运算产生的指令脉冲输出到伺服系统,以驱动工作台运动,每发出一个脉冲,工作台移动一个基本长度单位,即脉冲当量,脉冲当量是脉冲分配的基本单位。这种插补算法的特点是每次插补结束,数控装置向每个运动坐标输出基准脉冲序列,每个脉冲插补的实现方法较简单(只有加法和移位)可以用硬件实现。目前,随着计算机技术的迅猛发展,多采用软件完成这类算法。脉冲的累积值代表运动轴的位置,脉冲产生的速度与运动轴的速度成比例。由于脉冲增

7、量插补的转轴的最大速度受插补算法执行时间限制,所以它仅适用于一些中等精度和中等速度要求的经济型计算机数控系统。基准脉冲插补方法有一下几种:1、数字脉冲乘法器插补法;2、逐点比较法;3、数字积分法;4、矢量判别法;5、比较积分法;6、最小偏差法;7、目标点跟踪法;8、直接函数法;9、单步跟踪法;10、加密判别和双判别插补法;11、Bresenham算法早期常用的脉冲增量式插补算法有逐点比较法、单步跟踪法、DDA法等。插补精度常为一个脉冲当量,DDA法还伴有运算误差。80年代后期插补算法有改进逐点比较法、直接函数法、最小偏差法等,使插补精度提高到半个脉冲当量,但执行速度不很理想,在插补精度和运动速

8、度均高的CNC系统中应用不广。近年来的插补算法有改进的最小偏差法,映射法。兼有插补精度高和插补速度快的特点。总的说来,最小偏差法插补精度较高,且有利与电机的连续运动(二)数据采样插补数据采样插补又称为时间分割法,与基准脉冲插补法不同,数据采样插补法得出的不是进给脉冲,而是用二进制表示的进给量。这种方法是根据程编进给速度F,将给定轮廓曲线按插补周期T(某一单位时间间隔)分割为插补进给段(轮廓步长),即用一系列首尾相连的微小线段来逼近给定曲线。每经过一个插补周期就进行一次插补计算,算出下一个插补点,即算出插补周期各坐标轴的进给量,如等,得出下一个插补点的指令位置。插补周期越长,插补计算误差越大,插

9、补周期应尽量选得小一些。CNC系统在进行轮廓插补控制时,除完成插补计算外,数控装置还必须处理一些其它任务,如显示、监控、位置采样与控制等。因此,插补周期应大于插补运算时间和其它实时任务所需时间之和。插补周期大约在8ms左右。采样是指由时间上连续信号取出不连续信号,对时间上连续的信号进行采样,就是通过一个采样开关K(这个开关K每隔一定的周期TC闭合一次)后,在采样开关的输出端形成一连串的脉冲信号。这种把时间上连续的信号转变成时间上离散的脉冲系列的过程称为采样过程,周期TC叫采样周期。计算机定时对坐标的实际位置进行采样,采样数据与指令位置进行比较,得出位置误差用来控制电动机,使实际位置跟随指令位置

10、。对于给定的某个数控系统,插补周期T和采样周期TC是固定的,通常TTC,一般要求T是TC的整数倍。对于直线插补,不会造成轨迹误差。在圆弧插补中,会带来轨迹误差。插补计算是计算机数控系统中实时性很强的一项工作,为了提高计算速度,缩短计算时间,按以下三种结构方式进行改进。1. 采用软/硬件结合的两级插补方案。2.采用多CPU的分布式处理方案。3. 采用单台高性能微型计算机方案。数据采样插补方法很多,常用方法如下:1、直接函数法;2、扩展数字积分法;3、二阶递归扩展数字积分圆弧插补法;4、圆弧双数字积分插补法;5、角度逼近圆弧插补法;6、“改进吐斯丁”(Improved Tustin MethodI

11、TM)法。近年来,众多学者又研究了更多的插补类型与改进方法。改进DDA圆弧插补算法,空间圆弧的插补时间分割法,抛物线的时间分割插补方法,椭圆弧插补法,Bezier、B样条等参数曲线的插补方法,任意空间参数曲线的插补方法。 1.1.3插补技术的发展在早期的硬件数控系统中,插补过程是由专门的数字逻辑电路完成的。而在计算机数控系统(CNC)中,既可全部由软件实现,也可由软件、硬件结合完成。显然硬件插补的速度快,但电路复杂,并且调整和修改都相当困难,缺乏柔性;而软件插补的速度虽然慢一些,但调整很方便,特别是目前计算机处理速度的不断提高,为缓和速度矛盾创造了有力条件。数控技术的发展与计算机领域的发展是息

12、息相关的,特别是20世纪80年代以后微型计算机的出现,给数控技术诸如了新的活力,给予微型计算机的数控系统已经成为现代数控系统的主流。为了进一步提高数控系统性能,克服其在速度和精度之间的矛盾,人们提出了如下一些切实可行的方案来加以弥补。(一) 采用软硬件相配合的两级插补方案在这种数控系统中,为了减轻数控装置的插补负担,将整个插补任务分成两步完成,即先用插补软件将加工零件的轮廓段插补周期(1020ms)分割成若刚微笑之线段这个过程称为粗插补。随后利用附加的硬件插补器对粗插补输出的微直线段做进一步的插补,形成一簇单位脉冲输出,这个过程称为精插补。大官人,精插补也可以利用软件来实现粗插补将完成插补任务

13、中的绝大部分计算工作量,而占用的时间却比用一级软件插补方案少得多。这样可大大缓和实时插补与多任务控制之间的矛盾。例如FANUC公司生产的SYSTEN-5数控系统就是采用这种方案实现的。(二) 采用多个CPU的分布式处理方案首先将数控系统的全部功能划分为几个子功能模块,每个子功能模块配置一个独立的CPU来完成其相应功能,然后通过系统软件来协调各个CPU之间的工作。美国麦克唐纳道格拉斯公司的Actrion型数控系统就是一个典型的代表,它采用四个微处理器分别实现输入/输出、轮廓插补与进给速度控制功能、坐标轴私服功能、数控加工程序编程和CRT显示功能。这种系统具有较高的性能/价格比,代表着数控技术发展

14、的一个方向。(三) 采用但太高性能微型计算机方案采用高性能的微型计算机来完成整个数控系统的软件功能。目前32位和64位的微型计算机技术已经成熟,其处理速度可达到2GHz以上,综合性能已经超过原来的小型机。可见,将它们应用于数控系统中在合适不过了,并且已经有这种系统上市。 1.2选题背景与意义开放化、高速化和高精度化都是现代计算机数控系统最新的发展趋势和研究热点。目前我国在紧密跟随国外发展趋势的同时,对开放式数控的体系结构和实现方法从多个侧面开展了广泛的研究。本文基于数控智能芯片的思想,采用FPGA(Field Programmable Gates Array,现场可编程逻辑门阵列),电路的二次

15、开发和在线编程能力硬化实现计算机数控系统的插补功能模块。虽然国也有不少学者已经尝试过这种硬化实现技术,但一般仍是针对数控系统部某项功能的局部实现和替换,没有站在整个系统的角度,按照一定的标准和规来设计出标准的数控智能芯片,也就无法做到真正的即插即用。由于软件硬化模块处理速度相当与ASIC芯片,因此可获得很高的处理速度,为我国超高速加工机床的研制提供了一条有效途径。1.3本设计的主要工作1.完成芯片的总体设计2.读入模块的设计与仿真3.直线插补模块的设计与仿真4.圆弧插补模块的设计与仿真5.芯片的仿真与测试第二章 芯片设计完成插补运算的装置或程序称为插补器,分为硬件插补器、软件插补器和软硬件结合

16、插补器。插补器是计算机数控系统的一个基本单元,用来完成运动轨迹的拟合。由于计算机技术的发展,目前数控系统所使用的插补器多为软件插补器。尽管软件插补有很多优点,但由于其插补运算是串行的,因而运算速度较低,特别是对于一些高精度、高速度的多轴数控系统,往往不能满组需求。而硬件插补则可以实现多轴插补的并行运算,因而具有较高的插补速度。应用现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)可以弥补硬件插补器结构复杂、灵活性差的缺点。 本文利用FPGA 可以弥补硬件插补器的不足,是执行速度提高,且可与运动控制部分很好的集成,制成运动控制器,实现高速运动控制。3.1

17、芯片总体设计根据插补的定义与目的,我们所要设计的芯片应具备接收外部传送的数据、指令,完成直线和圆弧各象限的插补功能。根据以上分析,插补芯片包含两块,分别用于控制X、Y轴插补,芯片分为数据写入和计数两部分,先是单片机控制将插补的参数的计数值写入,包括频率和长度的计数值,再对时钟脉冲进行计数,产生脉宽与脉件相等的脉冲,再对产生的脉冲进行计数。芯片总体设计如下图3.1所示图3.1 芯片的总体设计驱动脉冲长度计数器计数值写入根据上述对芯片功能的分析和专用芯片插补原理提出,设计插补芯片主要分两部分,数据写入部分LD和计数部分COUNTER,单片机从上位机接收插补的参数,再当写片选信号CS有效且写控制信号

18、WR为下降沿时将插补参数计数值写入芯片,计数部分主要完成对信号的计数,产生脉冲,用来控制电机。插补的芯片包含两部分,如下图3.2所示: 图3.2 模块设计总图其中,LD模块为读写逻辑控制模块,当外部数据送来后,经LD模块转化为直线或圆弧的终点和起点坐标,并根据终点和起点坐标,判断在X轴和Y轴的进给方向。COUNTER模块则为对进给脉冲的计数,当计数值为某一数值时,完成插补过程。3.2 芯片开发工具Altera的器件能达到较高的性能和集成度,不仅仅是因为它采用了先进的工艺和全新的逻辑结构,还在于它提供了现代化的设计工具。MAX plus可编程逻辑开发软件提供了一种与结构无关的设计环境,它使Alt

19、era通用PLD系列设计者能方便地进行设计输入、快速处理和器件编程。MAX plus是 Multiple Array Matrix and Programmable Logic User System 缩写。它所提供的灵活性和高效性是无可比拟的。MAX plus 开发系统有许多特点:(1) 开放的界面(2) 与结构无关(3) 多平台运行(4) 完全集成化(5) 丰富的设计库(6) 模块化工具(7) 支持多种硬件描述语言(8) Megacore 功能(9) Opencore 特性MAX plus 是一款非常成功的EDA设计软件,在全球拥有广泛的用户群。但随着大型FPGA/CPLD设计的迅速发展,

20、MAX plus 软件在功能上逐渐显现出许多不足的地方。Quartus 作为Altera公司近年推出的一款成功的综合EDA设计软件,它的强大功能使开发者能够缩短产品设计周期、减少上市时间,而且支持最新的MAX、Stratix、Stratix, Cyclone、APEX 20KE、APEX、ACEX、Excalibur、FLEX 10KE、FLEX 10K、FLEX 10KA、FLEX 6000、MAX 7000S、MAX 7000B、MAX 7000AE和MAX 3000A器件,是现今使用最广的Altera器件软件开发平台。3.3 VHDL硬件描述语言硬件描述语言最早出现于20世纪60年代,至

21、今在工业生产和科学研究中得以应用的HDL有百余种之多。众多软件公司开发研制的具有自己特色的电路硬件描述语言(Hardware Description Language,HDL),存在着很大的差异,工程师一旦选用某种硬件描述语言作为输入工具,就被束缚在这个硬件设计环境之中。因此,硬件设计工程师需要一种强大的、标准化的硬件描述语言,作为可相互交流的设计环境。迄今只有两种HDL被IEEE列为标准,被众多EDA工具所支持。它们是VHDL(IEEE 1076)和Verilog HDL(IEEE 1364)。VHDL语言是美国国防部在20世纪80年代初为实现超高速集成电路计划(very high spee

22、d integrated circuit,VHDL)而提出的一种HDL,其目标之一是为下一代集成电路的生产,实现阶段性的工艺极限以与完成10万门级以上的设计,建立一项新的描述方法。1981年提出了一种新的HDL,称之为VHSIC Hardware Description Language,简称为VHDL,这种语言的成就有两个方面:描述复杂的数字电路系统,成为国际的硬件描述语言标准。VHDL语言的优点主要有:用于设计复杂的、多层次的设计。支持设计库和设计的重复使用与硬件独立,一个设计可用于不同的硬件结构,而且设计时不必了解过多的硬件细节。有丰富的软件支持VHDL的综合和仿真,从而能在设计阶段就能

23、发现设计中的Bug,缩短设计时间,降低成本。更方便地向ASIC过渡VHDL有良好的可读性,容易理解。VHDL语言与计算机语言的区别主要体现在:运行的基础不同计算机语言是在CPURAM构建的平台上运行。VHDL设计的结果是由具体的逻辑、触发器组成的数字电路。执行方式不同计算机语言基本上以串行的方式执行。VHDL在总体上是以并行方式工作。验证方式不同计算机语言主要关注于变量值的变化。VHDL要实现严格的时序逻辑关系。3.4 本章小结本章任务主要完成了以下容:1.芯片的总体设计2.芯片开发软件Maxplus的介绍3.硬件描述语言的介绍第三章 读写逻辑控制模块3.1 读写逻辑控制模块的功能由上一章节对

24、LD模块的介绍知道,其功能是将单片机送来的数据写入芯片当中,并对待插补的直线或圆弧进行象限处理。由于微处理器的位数有8位、16位、32位不等,在进行芯片设计时,考虑不同处理器之间的通信关系,若以8位数据作为输入,则其既可向16位数据转换,也可向32位数据转换。故,从兼容性方面考虑,数据输入部分采用8位即可。而芯片部,采用16位已经足够。在芯片与单片机通信过程中,其微处理器位数不同,这就要求芯片有数据在不同位数处理器之间的转换的功能,这也是为什么要设计读写逻辑控制模块的原因。3.2 CPU时序CPU为了要与存储器与I/O端口交换数据,需要执行一个总线周期,即总线操作。按照数据传输方向来分,总线操

25、作可以分为总线读操作和总线写操作。总线读操作就是指CPU从存储器或I/O端口读取数据;总线写操作是指CPU将数据写入存储器或I/O端口。这里,我们介绍一下写操作。8086的总线读写操作的时序关系和具体操作过程一个最基本的写周期包括4个状态,即T1、T2、T3、T4。在存储器和外设速度较慢时,要在T3之后插入1个或几个等待状态TW。由图8可以看出,T1状态ALE和均为高电平,输出地址信号,T2和T3状态,ALE和均为低电平,输出数据,T4状态,ALE为低,为高,无数据输出。图3.1 8086写周期的时序由8086与外设之间的通信可以看出:CPU与外设通信时,当ALE和均为低电平,且数据稳定输出时

26、,可以采集到有效的数据。根据上述对芯片的功能与原理的分析,设计计数初值写入芯片数据输入的管脚D,写片选信号CS,写控制信号WR,输出信号为XE,YE,XS,YS。数据写入状态图如图3.2所示:图3.2 数据写入状态图在VHDL程序中,P1:PROCESS(WR) 为进程语句,WR为敏感变信号,敏感信号有事件发生时,进程中的顺序语句都会按照他们出现的顺序执行。WREVENT AND WR=0表示为WR下降沿, EVENT是信号预定义属性,表示有事件发生,WREVENT AND WR= 0为WR发生变化且WR=O,从而实现WR的下降沿,WR为下降沿有效。if WREVENT AND WR=0 th

27、en -写信号下降沿有效 if CS=0 then -片选信号低电平有效 if TMP=000 then HDA:=D; -高8位赋给中间变量 TMP:=TMP+1; elsif TMP=001 then XXE=CONV_INTEGER(HDA&D); -整形变换TMP:=TMP+1; elsif TMP=010 then HDA:=D; TMP:=TMP+1; elsif TMP=011 then YYE=CONV_INTEGER(HDA&D); TMP:=TMP+1; LINE:=1; ELSif TMP=100 then HDA:=D; TMP:=TMP+1; elsif TMP=10

28、1 then XXS=CONV_INTEGER(HDA&D); TMP:=TMP+1; elsif TMP=110 then HDA:=D; TMP:=TMP+1; elsif TMP=111 then YYS=CONV_INTEGER(HDA&D); TMP:=TMP+1;3.3象限处理DDA法在插补不同象限的直线和圆弧时,其算法也有所不同,如表1。在程序设计当中,以XXDIR和YYDIR分别作为X轴和Y轴的进给方向,为“1”表示向正方向进给,为“0”则表示向负方向进给。而进给方向则通过起、终点的坐标值与其大小比较来确定。表1 不同象限脉冲分配修正直线或圆弧所在的想象X轴脉冲走向Y轴脉冲走向

29、第一象限+X+Y第二象限-X+Y第三象限-X-Y第四象限+X-Y为避免程序设计繁冗,与因坐标值的正负而出现程序错误等现象的出现,对于坐标值为负的点,将其坐标取绝对值后,在确定其进给方向,这样,经过绝对值修正后,就将四象限的插补过程均转化为第一象限的插补,简化了程序与插补算法。不同象限进给方向的程序设计:IF (LL=0) THEN -直线类型 IF XXE0 THEN XXDIR:=1; -X轴正方向进给 TXE:=-XXE; -取绝对值 ELSE XXDIR:=0; -X轴负方向进给 END IF; IF YYEXXS THEN XXDIR:=0; ELSE XXDIR:=1; END IF

30、; IF YYEYYS THEN YYDIR:=0; ELSE YYDIR:=1; END IF; IF XXE0 THEN -对圆弧的起点和终点取绝对值: TXE:=-XXE; -对终点X轴坐标取绝对值 ELSE TXE:=XXE; END IF; IF XXS0 THEN TXS:=-XXS; -对起点的X轴坐标取绝对值 ELSE TXS:=XXS; END IF; IF YYE0 THEN TYE:=-YYE; -对终点的Y轴坐标取绝对值 ELSE TYE:=YYE; END IF; IF YYS0 THEN TYS:=-YYS; -对起点的Y轴坐标取绝对值 ELSE TYS:=YYS;

31、 END IF; END IF;3.4程序仿真与波形分析在Waveform Editor窗口里进行波形仿真,得到如图3所示波形:图3 LD模块仿真波形图由图3可以看出,片选信号CS一直为低电平有效,在WR的第一个下降沿到来时,写入的值D为02,此时计数次数变量TMP的值为00,表示第一次计数,并将高8位值赋给中间变量HAD,TMP加1;当WR下降沿第二次来到时,写入的值为04,TMP=01为第二次写数据,写低8位,通过并置运算符将高低8位相并,完成16位频率的计数值的写入,即XE= 0204;YE值的写入同理。验证了程序的正确性。延时分析:由图3看出,TMP=00时,采集到的数据为02,距写信

32、号下降沿到来的时刻延后了半个周期,而讲稿8位赋值给中间变量与高低8位数据的相与均要延时半个写周期,故,一个坐标值的写入要延迟两个写周期。3.5 设计元件在“file”里选择“Creact Default Symbol”,即生成设计元件,如图4所示:图4 设计元件3.6 本章小结本章完成的主要任务为以下容:1.介绍了CPU时序电路2.读写逻辑控制模块的功能与其设计。3.不同象限的插补算法4.读入模块LD的仿真与波形分析5.延时分析6.生成元件第四章 直线插补模块的实现4.1数字积分法数字积分法是利用数字积分的方法,计算刀具沿各坐标轴的位移,使得刀具沿着所加工的轮廓曲线运动。数字积分法的基本原理就

33、是,使用一系列的小矩形面积之和来近似轮廓曲线函数积分的整个面积。利用数字积分原理构成的插补装置称为数字积分器,又称数字微分处理器(Digital Differential Analyer),简称DDA。数字积分器插补的最大优点在于容易实现多坐标轴的联动插补,能够描述空间直线与平面各种函数曲线等。因此,数字积分法插补在轮廓数控系统中得到广泛的应用。 2.1数字积分法基本原理图4.1 函数积分的几何描述从几何图形来看,积分运算就是求出函数Y=f(t)曲线与横轴所围成的面积。如图1所示,从t0到tn时刻,函数Y=f(t)的积分值可表述为(4-1)如果进一步将tt0,tn的时间区划分为若刚等间隔t的小

34、区间,则当t足够小时,函数Y的积分可用下式近似表示(4-2)在几何上就是用一系列的小矩形面积之和来近似表示函数f(t)以下的积分面积。进一步如果在式(2-2)中,取t为基本单位“1”,则上式可演化成数字积分器算式(4-3)由此可见,通过假设t=“1”,就可以将积分运算转化为式(4-3)所示的求纵坐标值的累加运算。若再假设累加器容量为一个单位面积值,则在累加过程中超过一个单位面积时立即产生一个溢出脉冲。这样,累加过程产生的溢出脉冲总数就等于所求的总面积,即所求的积分值。下面就以直线和圆弧为例,详细介绍数字积分法在轮廓插补中的具体应用。4.2数字积分法直线插补4.2.1插补原理设简要加工的直线为X

35、OY平面第象限直线,如图2所示,直线的起点在坐标原点,终点为E(Xe,Ye)。同样,假设坐标值均为以脉冲当量为单位的整数。图4.2 DDA直线插补示意图若此时刀具在两坐标轴上的进给速度分量分别为Vx、Vy,则刀具在X轴、Y轴方向上的位移增量分别为X = Vxt (4-4)Y= Vyt (4-4)由图2的集合关系可以看出(4-5) 现将式(2-5)中的Vx、 Vy分别带入式(2-4)中,可得X=KXet (4-6)Y= KYet (4-6)可见,刀具由原点O走向终点E的过程,可以看作是每经过一个单位时间间隔t,就分别以增量KXe、KYe同时在两个坐标轴累加的结果。也可以这样认为,数字积分法插补实

36、际上就是利用速度分量,进行数字积分来确定刀具在各坐标轴上位置的过程,即(4-7)(4-7)当取ti=“1”(一个单位时间间隔),则式(2-7)将演变为(4-8)(4-8)设经过n次累加后,刀具正好到达终点E(Xe,Ye),即要求式(4-8)中常量满足下式 nK=1 或 n=1/K (4-9)从上式可以看出,比例常数K和累加次数n之间的关系是互为倒数,即两者相互制约,不能独立自由选择。也就是说,只要选定了其中一个,则另一个也就随之确定了。由于式中n是累加次数,必须取整数,这样K就必须取小数。为了保证每次分配给坐标轴的进给脉冲不超过1个单位(一般指1个脉冲当量),则X =KXe1 (4-10)Y

37、=KYe1 (4-10)上式中Xe、Ye的最大允许值受系统中相应寄存器容量的限制。现假设寄存器为N位,则其容量为 ,对应存储的最大允许数字量为( )。将其代人式(4-9)中Xe、Ye,则可得到(4-11)现不妨设 显然它满足式(4-10)和式(4-11)的约束条件,再将K值代入式(4-9),可得累加次数为 n=1/K= (4-12)也就是说,经过n= 次累加后,动点(刀具)将正好到达终点E。事实上,如果将n、K值代入式(4-7),则动点坐标为 (4-13) (4-13)根据签名的分析,在进行直线插补时,先开辟两个被积函数寄存器 、 分别存放终点坐标值Xe、Ye,还有两个余数寄存器 和 。然后,

38、当脉冲源每发送一个控制脉冲信号t,X轴积分器和Y轴积分器各累加一次。当累加结果超出余数寄存器容量( )时,就产生一个溢出脉冲X(或Y)。这样,经过 次累加后,每个坐标轴溢出脉冲的总数就等于该州的被积函数值(Xe和Ye),从而控制刀具到达了重点E。4.2.2软件实现狱卒点比较法一样,DDA法也可以使用硬件逻辑器件来实现,这里对此就不再详细介绍。下面主要介绍相应的软件实现方法。DDA直线插补过程中使用的累加表达式为累加值=被积函数寄存器+余数寄存器一旦累加结构超过了寄存器的容量时,就产生溢出,发出一个脉冲信号,并控制相应的坐标轴进给一步。在软件实现过程中,也可直观地认为余数寄存器为小数部分寄存器,

39、与进位位CY之间存在着一个小数点。具体表示为这样,当小数部分的累加器一旦加满“1”后,立即向整数部分进位。事实上,把余数寄存器当作小数部分看待后,就相当于将其缩小了 倍,也就是把小数点从最右端向左移动了N位,即每次累加值为: 或 ,这正好与前面的推导过程相符合。4.2.3插补实例插补第一象限直线OE,起点为O(0,0),终点为E(5,3)。取被积函数寄存器分别为JVX、JVY,余数寄存器分别为JRX、JRY,终点计数器为JE,均为三位二进制寄存器。图4.3 DDA直线插补实例表4.1 DDA直线插补运算过程4.3 直线插补设计设直线段的起点坐标和终点坐标分别为(Xs,Ys)和(Xe,Ye),J

40、VX、JVY为两个北极函数器,JRX、JRY为两个余数寄存器。根据图所示的直线插补流程图,当余数寄存器值满溢出时,就相应的产生一个X轴或者Y轴方向上的进给脉冲,当进给信号到来时,相应的方向上会产生一次进给运动,进给次数寄存器就相应的减“1”,按照这个过程直至进给次数寄存器的值为零,即完成插补运动。其状态图如图4.4所示:图4.4 直线插补状态图4.4直线插补的VHDL语言的实现4.5元件与其仿真波形在波形编辑窗口里,对VHDL语言程序进行仿真,得到如下图4.5所示波形:选择“File”里的“Creact Default Symbol”即生成直线插补元件,如图4.6所示: 4.6本章小结本章容完

41、成了以下任务:1.数字插补法原理的介绍2.DDA法直线插补的原理介绍3.直线插补芯片的设计4.直线插补的VHDL语言编程与仿真5.波形分析6.生成元件第五章 圆弧插补设计5.1数字积分法圆弧插补5.1.1插补原理现以第象限逆圆NR1为例,说明DDA法圆弧插补的基本原理。如图4所示,设刀具沿圆弧SE进行切削,圆弧半径为R,刀具切削速度为V,在两坐标轴上的速度分量为VX和VY,动点坐标为N(Xi,Yi),则根据图中相似三角形关系,可得 (5-1)则有由于半径R为常数,若切向速度V为匀速,则K为常数,那么,动点在两坐标轴上的速度分量将随其坐标值的变化而变化。当给定一个时间增量t,动点在X、Y坐标轴上

42、位移增量分别为 (5-2) (5-2)由于第象限逆圆对应X轴坐标值逐渐减小,所以,式 中Xi表达式取负号,也就是说VX、VY均取绝对值,不带符号运算。从而获得第象限逆圆DDA法插补公式如下 (5-3) (5-3)与直线插补相比,DDA圆弧插补具有两个方面的不同:第一,被积函数寄存器与坐标轴的关联关系不同。在DDA直线插补中,JVX与X坐标轴相关联,JVY与Y坐标轴相关联。但在圆弧插补中,JVX与Y坐标轴相关联,JVY与X坐标轴相关联。第二,被积函数寄存器存放的数据形式不一样。在DDA直线插补中,被积函数寄存器JVX、JVY存放的是终点坐标,即一个不受插补进程变化的常量。而在圆弧插补过程中,被积

43、函数寄存器JVX、JVY存放着动点坐标,即一个随着插补过程不带变化的变量。例如图4所示的NR1插补过程中,开始时被积函数寄存器JVX、JVY的初值分别为起点坐标YS和XS。然后,每当Y 轴产生一个溢出脉冲(+Yi)时,JVX就作“+1”修正;反之,每当X轴产生一个溢出脉冲(-Xi),JVY就作“-1”修正。至于何时“+1”或“-1”修正,取决于动点N所在的象限以与圆弧走向。2.3.2软件实现根据上述基本原理,给出NR1的DDA法圆弧插补计算流程如图5所示。在这里要说明的是,DDA圆弧插补的终点判别与直线插补有所不同,需要设置两个终点计数器JX=|Xe-Xs|和JY=|Ye-Ys|,分别对X轴和

44、Y轴进行终点监控。每当X轴或Y轴产生一个溢出脉冲,相应的终点计数器就作减“1”修正,直到为零,表明该坐标轴已到终点,并停止其坐标轴的累加运算。只有当两个坐标轴均已到达终点,圆弧插补才结束。2.3.3插补实例DDA圆弧插补实例DDA圆弧插补运算过程2.4数字积分法插补的象限处理和当采用软件插补时,如果参与积分运输的寄存器均采用绝对值数据,则DDA法插补的积分累加过程完全一样,即JR+JV=JR,只是进给脉冲的分配方向和圆弧插补动点坐标的修正有所不同。现将DDA法插补各象限直线和圆弧的情况汇总如下表。DDA法插补不同象限直线和圆弧情况容L1L2L3L4NR1NR2NR3NR4SR1SR2SR3SR

45、4动点修正JVX+1-1+1-1-1+1-1+1JVY-1+1-1+1+1-1+1-1进给方向X+-+-+-Y+-+-+-+-3.5圆弧插补设计圆弧插补和直线插补不同,圆弧插补首先判断终点判别寄存器是否为零,然后再进行累加运算。根据圆弧插补原理,将起点坐标Ys和Xs 分别赋给被积函数寄存器JVX和JVY。当余数寄存器值满溢出时,就相应的产生一个X轴或者Y轴方向上的进给脉冲,这时,JVX作“+1”修正,或JVY作“-1”修正。当终点判别寄存器均为零时,插补结束。在插补过程中,“+1”或者“-1”修正,取决于动点所在的象限以与圆弧走向。第六章 芯片测试与集成6.1芯片集成在图形编辑窗口里,将第三四

46、两章设计生成的元件,通过输入输出管脚连接起来,如图6.1所示:图6.1 芯片总图1)在File菜单中选择“New”选项,然后选择“Waveform Editor File”,从其右边的下拉列表框中选择.scf文件扩展名,单击“OK”按钮即可创建一个新的仿真文件。2) 从File菜单中选择“End Time”,设置欲仿真的时间长度。3) 从Option菜单中选择“Grid Size”,在窗口中输入网络间距。4) 选择Node菜单中的“Enter Nodes from SNF”菜单项,选中Type框中的“input”和“output”,单击“List”,列出所有的输入输出项,选择向右箭头,将所有输

47、入输出信号加入仿真窗口。5) 在编辑波形窗口,根据需要来编辑波形,对信号进行赋值。6) 保存后选择“Simulator”,单击“Start” 开始仿真,得到波形图如同6.2所示。波形分析:管脚分布:6.2本章小结本章容主要完成了芯片的集成与测试。第七章 总结与展望7.1工作总结本课题是基于VHDL的DDA插补芯片的设计,将插补功能芯片化,提高了插补的速度,和集成度和可靠性 ,适应于逐点比较法插补的要求,本次设计采用了VHDL语言进行插补芯片的设计,本次设计完成的主要工作如下: 阐述了数控技术的应用和逐点比较法的原理 硬件总体的设计 完成VHDL语言编写插补的程序 开发了DDA插补法专用插补芯片

48、 完成芯片的集成与测试基于DDA插补法插补芯片具有重要的现实意义,具有插补速度高、灵活适、适应性强、集成度高,可靠性强等特点。目前的专用数控系统(包括软件和硬件),基本不具备可移植性,都是为特定的机床或设备专门开发的,从而使得其成本十分昂贵。随着制造技术的发展,要求整个制造系统具有更多的开放性,集成为一个具有更大柔性的系统。把数控系统的功能进行模块化,适应了开放式数控系统的需要。使数控系统更加灵活,不同的用户可以根据自己的需要进行不同的配置,既节约了成本又满足了自己的需求。数字积分法的优点是,易于实现多坐标联动,较容易地实现二次曲线、高次曲线的插补,并具有运算速度快,应用广泛等特点。7.2展望

49、本次的设计由于时间和水平有限,有些方面在今后的设计中还可以继续完善和进一步的提高。本次设计的插补器具有通用性,可以用到普通的数控加工中,作为精插补器。本设计只用了一条指令,对X轴和Y轴进行了双轴联动的处理,根据先入后出的思想,还可以写入多条指令,同时扩展多个芯片,实现多轴联动。致 本毕业设计工作是在我的导师建华副教授的精心指导和悉心关怀下完成的,在我的学业和设计的工作中无不倾注着导师辛勤的汗水和心血。导师的严谨治学态度、渊博的知识、无私的奉献精神使我深受的启迪。从尊敬的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。在此我要向我的导师致以最衷心的感和深深的敬意。在我的设计(论文)撰写过程中,红宇老师也等提出了宝贵的意见和建议,特向她表示深深的感。在多年的学习生活中,还得到了许多学院领导、系(教研室)领导和老师的热情关心和帮助。衷心地感在百忙之中评阅我的论文和参加答辩的各位老师! 翠萍二OO八年六月 于参 考 文 献1. 汪木兰主编.数控原理与系统.:机械工业,20042. 璇,臧春华编著.数字系统设计与PLD应用.:电子工业,2005.1 3. 王志鹏,付丽琴主编.可编程逻辑器件开发技术MAX + plus .:国防工业,2005戴梅萼,史嘉权编著.微型计算机技术与应用.:清华大学,2003.84.32 / 32

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!