基于FPGA的逐点比较圆弧插补算法设计(2)

2019-07-13 18:06

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

第一章 绪论2010届毕业设计6月7日修改版

优点和可编程器件设计灵活,制作及上市快速的长处相结合,使设计者在FPGA开发系统软件的支持下,现场直接根据系统要求定义和修改其逻辑功能,使一个包含数千个逻辑门的数字系统设计实现,采用FPGA技术,即可几天内完成。用FPGA技术使得电子系统设计发展到系统芯片化的新时代,FPGA技术为电子系统设计提供了新的思路和方法。

开放式、可重构是目前数控系统的主要发展趋势。随着深亚微米集成电路制造工艺的成熟,可编程逻辑器件和硬件描述语言的广泛应用,使个人用户开发定制硬逻辑运动控制功能芯片成为可能。特别是近几年兴起的基于硬件复用技术的SoC(System onChip:片上系统)设计方法,以其快速的产品上市时间、良好的功能可配置性日益成为IC(集成电路)设计的重要方法。

1.3 FPGA的优点

FPGA芯片是特殊的ASIC芯片,它除了具有ASIC的特点之外,还具有以下几个优点: 随着VISI(Very Large Scale IC,超大规模集成电路)工艺的不断提高单一芯片内部可以容纳上百万个晶体管,FPGA芯片的规模也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越来越强,同时也可以实现系统集成。

FPGA芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投片风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,FPGA的资会投入小,节省了许多潜在的花费。

用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同软件就可实现不同的功能。所以,用FPGA试制样片,能以最快的速度占领市场。FPGA软件包中有各种输入工具和仿真工具,及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。当电路有少量改动时,更能显示出FPGA的优势。电路设计人员使用FPGA进行电路设计时,不需要具备专门的IC(集成电路)深层次的知识,FPGA软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。

1.4 FPGA的设计流程

完整的FPGA设计流程包括电路设计与输入、功能仿真、综合、综合后仿真、实现、布线后仿真与验证、板级仿真验证与调试等主要步骤。 (1)电路设计与输入

电路设计与输入是指通过某些规范的描述方式,将工程师电路构思输入给EDA工

共 25 页 第 2 页

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

第一章 绪论2010届毕业设计6月7日修改版

具。常用的设计输入方法有硬件描述语言(HDL)和原理图设计输入方法等。大型工程设计时,最常用的设计方法是HDL设计输入法。特点是利于由顶向下设计,利于模块的划分与复用,可移植性好,通用性好,设计不因芯片的工艺与结构的不同而变化,更利于#]ASIC的移植。波形输入和状态机输入方法是两种常用的辅助设计输入方法。(2)功能仿真

电路设计完成后,要用专用的仿真工具对设计进行功能仿真,验证电路功能是否符合设计要求。功能仿真有时也被称为前仿真。通过仿真能及时发现设计中的错误,加快设计进度,提高设计的可靠性。 (3)综合优化

综合优化(Synthesize)是指将HDL语言、原理图等设计输入翻译成由与、或、非门,RAM,触发器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求(约束条件)优化所生成的逻辑连接,输出edf年Iledn等标准格式的网表文件,供FPGA/CPLD厂家的布局布线器进行实现。 (4)综合后仿真

综合完成后需要检查综合结果是否与原设计一致,做综合后仿真。在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影响。综合后仿真只能估计门延时,不能估计线延时,仿真结果与布线后的实际情况还有一定的差距。这种仿真的主要目的在于检查综合器的综合结果是否与设计输入一致。在功能仿真中介绍的仿真工具一般都支持综合后仿真功能。 (5)实现与布局布线

在实现过程中最主要的过程是布局布线(PAR,PlaceAnd Route):所谓布局(Place)是指将逻辑网表中的硬件原语或者底层单元合理地适配到FPGA内部的固有硬件结构上,所谓布线(Route)是指根据布局的拓朴结构,利用FPGA内部的各种连线资源,合理正确连接各个元件的过程。 (6)时序仿真与验证

将布局布线的时延信息反标注到设计网表中,所进行的仿真就叫时序仿真或布局布线后仿真,简称后仿真。布局布线之后生成的仿真时延文件包含的时延信息最全,不仅包含门延时,还包含实际布线延时,所以布线后仿真最准确,能较好地反映芯片的实际工作情况。通过布局布线后仿真能检查设计时序与FPGA实际运行情况是否一致,确保设计的可靠性和稳定性。布局布线后仿真的主要目的在于发现时序违规(TimingViolation)。在功能仿真中介绍的仿真工具一般都支持布局布线后仿真功能。 (7)板级仿真与验证

共 25 页 第 3 页

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

第二章 设计方案选择2010届毕业设计6月7日修改版

在有些高速设计情况下还需要使用第三方的板级验证工具进行仿真与验证,如Mentor Tau、Forte Design-Timing Designer、Mentor Hyperlynx、Mentor ICX,CadenceSPECCTRAQuest、Synopsys HSPICE。这些工具通过对设计的IBIS、HSPICE等模型的仿真,能较好地分析高速设计的信号完整性、电磁干扰(EMI)等电路特性等。 (8)调试与加载配置

设计开发的最后步骤就是在线调试或者将生成的配置文件写入芯片中进行测试。任何仿真或验证步骤出现问题,就需要根据错误的定位返回到相应的步骤更改或者重新设计。

第二章 设计方案选择

2.1 各种方案的特点

第一:采用逐点比较法插补。逐点比较法的基本原理是被控对象在按要求的轨迹运动时,每走一步都要与规定的轨迹进行比较,由此结果决定下一步移动的方向。逐点比较法既可以作直线插补又可以作圆弧插补。这种算法的特点是,运算直观,插补误差小于一个脉冲当量,输出脉冲均匀,而且输出买成速度变化小,调节方便,因此在两坐标数控机床中应用较为普遍。

第二:数学积分法插补。又称为微分分析法。这种插补方法可实现一次、二次、甚至高次曲线的插补,也可以实现多坐标联动控制。只要输入不多的几个数据,就能加工出圆弧等形状较为复杂的轮廓曲线。作直线插补时,脉冲分配也较均匀。

第三:数据采样插补。数据采样插补实际上是一种粗插补过程,它所产生的微小线段仍然比较大,必须进一步对其密化(即精插补)。粗插补算法比较复杂,大多用高级语言编制;精插补算法比较简单,多用汇编语言或硬件插补器实现。

2.2 方案选择

根据课题要求,对逆圆插补。根据两种方案的比较,都是很好的方法,但由于圆是二次,采用逐点比较法插补进行设计比较方便、简单,所以根据各种插补方法的特点,选择用逐点比较法来实现。

共 25 页 第 4 页

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

第三章 逐点比较法原理2010届毕业设计6月7日修改版

第三章 逐点比较法原理

3.1 逐点比较法圆弧插补原理

加工一个圆弧,很容易令人想到用加工点到圆心的距离与该圆弧的名义半径相比较来反映加工偏差。设要加工图3-1所示的第一象限逆时针走向的圆弧AB,半径为R,以圆点为圆心,起点坐标为A(x0,

y0),在xy坐标平面第一象限中,点

的加工偏差有以下3种情况。若

P(xi,yj)加工点P(xi,yj)正好落在圆弧上,则下式成立,即

xi?y22j?x0?y0?R222

若加工点P(xi,yj)落在圆弧外侧,则RPxi?yj?x0?y02222?R,即

?R若加工点P(xi,yj)落在圆弧内侧,则RPxi?yj?x0?y02222,即

将上面各式分别改写为下列形式,即

(xi?yj)?(x0?y0)?0(xi?yj)?(x0?y0)?0(xi?yj)?(x0?y0)?0222222222222 (在圆弧上) (在圆弧外侧) (在圆弧外侧)

取加工偏差判别式为

Fi,j?(xi?yj)?(x0?y0)

2222

共 25 页 第 5 页

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

第三章 逐点比较法原理2010届毕业设计6月7日修改版

若点P(xi,yj)在圆弧外侧或圆弧上,则满足Fi,j?0的条件时,向x轴发出一负向

?0运动的进给脉冲(??x);若点P(xi,yj)在圆弧内测,即满足条件Fi,j的条件时,则

向y轴发出一正向运动的进给脉冲(??y)。为了简化偏差判别式的运算,仍用递推法来推算下一步新的加工偏差。

设加工点P(xi,yj)在圆弧外侧或圆弧上,则加工偏差为

Fi,j?(xi?yj)?(x0?y0)?02222

故x轴必须向负方向进给一步(??x),移动到新的加工点P(xi?1,yj),其加工偏差为

Fi?1,j?(xi?1)?x0?yj?y0?xi?2xi?1?yj?y0?x022222222

?Fi,j?2xi?1????????????????(3-1)

设加工点P(xi,yj)在圆弧的内测,则Fi,j移到新的加工点P(xi,yj?1),其加工偏差为

那么?0。y轴须向正向进给一步(??y),

Fi?1,j?xi?x0?(yj?1)?y0?xi?x0?yj?2yj?1?y022222222

?Fi,j?2yi?1????????????????(3-2)

新的加工点的偏差值可以用前一点的偏差值递推出来。递推法把圆弧偏差运算式由平方运算化为加法和乘2运算,而对二进制来说,乘2运算是容易实现的。

3.2 圆弧插补的运算过程

圆弧插补的运算过程与直线插补的过程基本一样,不同的是,圆弧插补时,动点坐标的绝对值总是一个增大,另一个减小。如对于第一象限逆圆来说,动点坐标的增量公式为

xi?1?xi?1 yi?1?yi?1

圆弧插补运算每进给一步也需要偏差判别、进给、偏差计算、终点判别四个工作节拍,运算中F寄存偏差值为Fi,j;x和y分别寄存x和y动点的坐标值,开始分别存放x0和y0;n寄存终点判别值:n?xe?x0?ye?y0

共 25 页 第 6 页


基于FPGA的逐点比较圆弧插补算法设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:重庆市书法家协会会员名录

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: