(机械工程专业论文)基于fpga多轴高速高精度插补运动模块的设计与实现.pdf_第1页
(机械工程专业论文)基于fpga多轴高速高精度插补运动模块的设计与实现.pdf_第2页
(机械工程专业论文)基于fpga多轴高速高精度插补运动模块的设计与实现.pdf_第3页
(机械工程专业论文)基于fpga多轴高速高精度插补运动模块的设计与实现.pdf_第4页
(机械工程专业论文)基于fpga多轴高速高精度插补运动模块的设计与实现.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(机械工程专业论文)基于fpga多轴高速高精度插补运动模块的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硕士论文基于f p g a 多轴高速高精度插补运动控制模块的设计与实现 摘要 |liillifli flp l l ll l h i i ii i ii i i y 2 2 7 5 0 3 6 本文通过对国内外插补运动控制器的研究,根据当前运动控制的发展趋势,提出了 基于f p g a 和p c i 总线的高速高精度运动控制卡的方案,能够实现数控高速高精度的运 动控制。 首先,在f p g a 内部通过原理图和硬件描述语言的结合使用,实现数据缓存模块、 空间直线、圆弧和高次曲线的精插补模块、象限处理模块等的设计,同时在算法上提出 了流水线优化技术,数据传输上实现无缝传输,并对各插补模块进了仿真对比验证。 其次,对控制卡硬件总体方案进行了合理规划,采用a l t e r a 公司的功能更强大的 c y c l o n e 系列f p g a 芯片e p l c l 2 q 2 4 0 c 8 作为控制核心,专用接口芯片p c i 9 0 5 4 实现p c i 总线接口,同时对配置电路、f p g a 与p c i 总线接口电路、电源电路等实现方法进行详 细介绍。 最后,设计f p g a 与p c i 9 0 5 4 芯片的通信程序,并采用功能完善的驱动工具s d k 实现p c i 总线与上位机的驱动程序,完成上位机与f p g a 之间数据传输和插补脉冲的采 集,对输出脉冲进行测试、分析和总结。本运动控制卡达到了高速高精度的设计要求。 关键词:现场可编程门阵列f p g a ,高速高精度运动控制,数控精插补,p c i 接口 a b s t r a c t 硕士论文 a b s t r a c t t h r o u g ht ot h er e s e a r c ho ft h ed o m e s t i ci n t e r p o l a t i o nm o t i o nc o n t r o l l e r ,a c c o r d i n gt o t h ec u r r e n tt r e n do fm o t i o nc o n t r o l ,t h ea r t i c l ep r o p o s e dt h eh i g hs p e e da n dh i g hp r e c i s i o n m o v e m e n tc o n t r o lc a r d sp l a n ,b a s e do nf p g aa n dp c ib u s i tw i l lb ea b l et or e a l i z eh i g h s p e e da n dh i g hp r e c i s i o nc n cm o t i o nc o n t r 0 1 i nt h ep a p e r ,t h em a i nc o n t e n t sa r ea sf o l l o w s : f i r s to fa l l ,t h r o u g ht h e p r i n c i p l ed i a g r a ma n d h a r d w a r ed e s c r i p t i o n l a n g u a g e , c o m p l e t e dt h el i n e ,a r ca n dh i g ht i m e sc u r v ef i n ei n t e r p o l a t i o n ,t h ed e s i g no ft h ed a t a a c q u i s i t i o nm o d u l ea n ds oo n a tt h es a m et i m e ,u s e dt h ep i p e l i n eo p t i m i z a t i o nt e c h n i q u ei n a l g o r i t h m ,s i m u l a t e dt h ei n t e r p o l a t i o na n dv e r i f y s e c o n d l y ,d o n et h er e a s o n a b l ep l a n n i n go ft h ec o n t r o lc a r d u s e dt h em o r ep o w e r f u l c y c l o n es e r i e sf p g ac h i pe p 1c12 q 2 4 0 c 8a st h ec o n t r o lc o r e ,s p e c i a li n t e r f a c e c h i p p c i 9 0 5 4t or e a l i z ep c ib u si n t e r f a c e a tt h es a m et i m e ,i n t r o d u c e dt h ec o n f i g u r a t i o nc i r c u i t , f p g aa n dp c ib u si n t e r f a c ec i r c u i t ,t h ep o w e rs u p p l yc i r c u i ti nd e t a i l f i n a l l y ,d e s i g n e dt h ec o m m u n i c a t i o no ft h ep c i 9 0 5 4a n df p g a ,u s i n gt h ep e r f e c t f u n c t i o nd r i v e rt o o l ss d kt or e a l i z et h ed r i v ep r o g r a mb e t w e e nt h ep c ib u sa n dt h eu p p e r , c o m p l e t e dd a t at r a n s f e rb e t w e e np ca n df p g a b yu s i n ga no s c i l l o s c o p et ot e s tt h eo u t p u t p u l s e ,a n a l y s i sa n ds u m m a r y t h ec a r dh a v e b e e ne x p e c t e dt or e a c ht h er e q u i r e m e n to f h i g h s p e e da n dh i g hp r e c i s i o n k e yw o r d s :f i e l dp r o g r a m m a b l eg a t aa r r a yf p g a ,h i g hs p e e da n dh i g hp r e c i s i o nm o t i o n c o n t r o l ,n cp r e c i s ei n t e r p o l a t i o n ,p c ii n t e r f a c e i i 硕士论文基于f p g a 多轴高速高精度插补运动控制模块的设计与实现 目录 摘要i a b s t r a c t i i 1 绪论1 1 1 数控技术的发展现状和发展趋势1 1 2 数控运动控制技术的现状及发展趋势2 1 3 本课题的意义和主要任务3 1 3 1 本课题的研究意义3 1 3 2 本课题主要研究任务4 2 高速高精度精插补模块的设计1 2 1f p g a 技术简介及开发流程1 2 2 插补模块顶层设计2 2 3 数字积分法空间直线插补4 2 4 数字积分法平面圆弧插补实现一9 2 5 控制信号及脉冲方向的输出1 1 2 6 高次啦线模块的设计1 3 2 7 数据缓存模块18 2 8 分频器的设计及流水线脉冲分配设计2 1 2 9 终点判断电路2 2 2 10 其他设计说明一2 3 2 1 1 本章小结2 3 3 高速高精度插补模块的仿真分析2 4 3 1 插补仿真对比图2 4 3 2f p g a 设计中几个基本问题的分析及解决方法一3 1 3 3 本章小结3 3 4 实验开发系统的设计及实现。3 4 4 1 精插补运动控制卡总体方案设计3 4 4 2 实验开发系统硬件设计3 5 4 2 1f p g a 芯片下载配置电路设计3 5 4 2 2p c i 与f p g a 接口电路设计3 6 4 3 实验开发系统软件设计3 8 4 3 1p c i 9 0 5 4 与f p g a 通信接口设计3 9 i i i 目录 硕士论文 4 3 2s d k 实现p c i 9 0 5 4 的驱动和应用软件的开发一4 l 4 4 本章小结4 4 5 总结与展望4 5 5 1 全文总结4 5 5 2 研究展望4 5 致谢。4 7 参考文献4 8 附录5 2 i v 硕士论文 基于f p g a 多轴高速高精度插补运动控制模块的设计与实现 1 绪论 数控技术是一门多学科交叉的综合技术,近年来应用领域发展十分迅速。高速高精 度直接影响数控系统功能强弱、性能强弱的一门关键技术【l ,3 】。装备制造业是衡量一个 国家综合国力的重要指标。因此,世界上各工业发达国家争先恐后的投入大量人力和财 力来发展自己的高速高精度数控技术和数控装配【4 】,同时在“高精尖关键技术和设备 上对我国实行出口限制和封锁1 5 j 。针对此现象,党在2 0 0 2 年的十六大提出将发展大型、 高速高精密数控设备和数控系统作为装备制造业的一项重要任务。 本文采用基于f p g a ( f i e l dp r o g r a m m a b l eg a t ea r r a y 现场可编程门阵列) 的芯片级 设计技术为核心,设计高速高精度的数控插补运动控制模块。 1 1 数控技术的发展现状和发展趋势 自微电子和计算机技术的快速发展后,短短几十年的时间内,数控系统从早期的采 用电子元器件作为计算机固定接线的硬件数控( n c ) 阶段到发展到目前的以个人计算 机( p c ,p e r s o n a lc o m p u t e r ) 为基础的开放式c n c 数控阶段【6 j 。 随着数控技术的不断发展、应用领域的不断扩大,数控系统发展趋势主要体现在: ( 1 ) 高速高精度。( 2 ) 多功能化。典型的多功能化数控机床是数控加工中心,该加工 中心通过数控系统控制刀具的变换,可以将多种工件不同加工工艺过程集中在一个设备 上,而无需许多设备,从而大大的降低成本。因此加工中心以其不可取代的优势得到广 泛的应用。( 3 ) 智能化。现在数控系统的智能化包括加工过程的人机界面智能化、智 能化、故障诊断智能化。( 4 ) 集成化。采用大规模可编程集成电路e p l d 、p g a 、c p l d , 高度集成化r i s c 芯片、c p u 和大以及专用集成电路a s i c 芯片等,提高数控系统的软 硬件运行速度和集成度。( 5 ) 网络化。机床联网,可以在一台机床上显示不同机床的 操作界面,实现无人操作,可以节约劳动力,减少成本【7 】。 高速度高精度数控技术的两大指标直接关系数控系统的加工效率和产品质量,是现 代数控系统评定的两大重要指标【8 l 。高速度包含两层含义:一是高主轴转数,一般情况 下,主轴转数至少在1 2 0 0 0 r m i n 左右,最高可达6 0 0 0 0 r m i n 。比如瑞士的f i s h e r 公司生 产的电主轴速度达到4 5 0 0 0 r m i n ,输出频率为0 1 1 5 k h z ,加减速度时间为0 1 3 0 0 0 s 。 二是高速进给,进给速度一般在每分钟几十米甚至超过一百米。对于高精度而言,早期 的数控机床的加工精度为0 0 1 m m ,现在己发展到o 0 1l am 的数量级,比如日本的交流 伺服电机已装上每转可生产1 0 0 万个脉冲的内藏式位置检测器,其位置检测精度可达 0 o lu 州脉冲,大大提高了机床的加工精度,产品质量大大提高。美国c i n c i n n a t i 机床 公司生产的s u p e r m a c h 大型高速加工中心,主轴最高转速6 0 0 0 0 r m i n ,坐标轴进给速 1 绪论硕士论文 度已达到6 0 m m i n ,快速行程达到10 0 m m i n t 9 1 。 在全闭环数控机床中,测量尺的分辨率都在1l am 以上,运动件的定位精度可达1 2 l am ;在超高精度机床上,测量精度可达0 0 0 1l am 级10 1 。 1 2 数控运动控制技术的现状及发展趋势 运动控制就是将伺服电机、传感器、运动控制器、及其驱动器、传动机构结合在一 起,通过软件编程方法实现电机速度、加速度、位移和力矩控制的一门技术u 1 1 。 目前运动控制器的应用己逐渐形成一种系列化、通用的供应于市场的产品。经过归 纳总结,从技术发展的角度可以将运动控制器的实现方法分为以下几种: ( 1 ) 基于大规模集成电路 此类运动控制卡主要是采用早期n c o m s 工艺的8 2 5 3 、8 2 5 4 等可编程计数器编码 器,该运动控制卡功能单一,几乎不能升级,已经逐渐被淘汰。 ( 2 ) 基于微处理器 此类运动控制卡的主控芯片一般为单片机,需加额外的辅助电路综合控制。此方案 控制精度不高,受制于单片机运行速度较慢,软硬件配置灵活性差【1 2 】。 ( 3 ) 基于专用集成电路a s i c 该方案是将编码器信号的处理、p i d 控制算法等多种功能集中在一片集成电路芯片, 硬件电路的配置具有一定的灵活性,但其运算过程复杂,设计和实现的周期相对较长, 修改控制算法比较复杂【1 3 , 1 6 。 ( 4 ) 基于d s p ( 数字处理信号) 型 此种控制卡利用d s p 运算速度快的优势,并且充分使用p c 机的现场操作环境和资 源,使p c 机从大量复杂的运算中解脱出来做其它工作。但是其本质是实现软件插补, 与硬件插补相比速度不够快【1 7 , 2 1 】。如图1 1 所示。 图1 1 基于d s p 的运动控制卡 ( 5 ) 基于f p g a 的运动控制卡 自2 0 世纪8 0 年代出现f p g a ( 现场可编程门阵列) 后,该技术得到快速的发展, 目前结合具有高效运算处理能力d s p 的d s p + f p g a 型式的运动控制卡得到国内研究人 2 硕士论文 基于f p g a 多轴高速高精度插补运动控制模块的设计与实现 员广泛的研究田。2 8 j 。然而,最近几年新一代的f p g a 已经集成了中央处理器( c p u ) 和 d s p 内核,能够在一片f p g a 上进行软硬件协同设计,修改控制算法比较灵活、方便。 而且内部采用逻辑阵列结构的f p g a ,在处理高速信号时速度远超过目前最快的d s p 。 并且f p g a 兼容性越来越强,功能p 核的不断增加,硬件电路的简化和价格的不断降 低,可以预知开放式运动控制卡的发展趋势是基于f p g a 的嵌入式系统作为核心控制处 理器,p c 机作为信息平台的新型运动控制方案。实现“p c + 运动控制卡”的嵌入式系统 模式 2 9 , 3 0 j 。整个基于f p g a 的运动控制卡如图1 2 所示。 上位机 输入数i e e p r o m l 晶振( 4 0 m i - i z ) j l 控制地址广j l 一 p c i 9 0 5 4 影f p g a , 柑篷 却垮唧删庠 瓣 动i 机 图1 2 基于f p g a 的运动控制卡 由于f p g a 的逻辑功能全部用硬件电路实现,故延迟只来源于门电路,而一般门电 路的延迟都在a s 级别。f p g a 以其非常快的运算速度,超强的逻辑处理能力,高速、高 可靠性、编程简单、开发周期短、系统易维护易升等优点使得f p g a 更加适合于高速高 精度插补数控系统的设计,其应用领域不断的扩大。在2 0 1 0 年1 2 月3 0 日,美英两国 科学家联合开发了一款运算速度超快的电脑芯片,该电脑芯片采用现场可编程门阵列 f p g a 芯片,该芯片每秒能够处理5 0 g b 的数据,处理速度相当于现当今台式机的2 0 倍,这项突破将在今后几年开启一个超高速运算时代。 近年越来越多的电子系统开始采用f p g a 可编程逻辑器件来实现数字信号处理,从 而使通用d s p 芯片难以完成的某些大运算量的数学计算和一些时序组合逻辑得以实现。 因此基于f p g a 的开放式设计技术成为数字信号处理技术的发展趋势。 1 3 本课题的意义和主要任务 1 3 1 本课题的研究意义 当代数控技术正向高速度、高精度加工技术方向发展,运动控制卡是数控系统的核 心单元模块【3 1 1 。运动控制卡的高速数据处理能力和控制能力直接影响数控系统的性能、 精度。而运动控制卡的关键是其插补模块。在c n c 数控系统中,高速度、高精度和高 效率,是检测机床的关键性能指标,而加工零件的刀具轨迹的生成都是通过插补计算来 实现的,所以高速高精度插补模块是整个c n c 系统控制的核心。 传统的由纯软件实现的数控插补模块,存在处理速度慢、可靠性不高等缺点,已经 1 绪论硕士论文 不能满足现在高速加工,其速度和效率无法得到进一步的提高。由传统数字电路硬件实 现的数控插补模块则具有处理速度快的优点,但是升级不易,且柔性较差,可靠性较差, 现已淘汰。而基于f p g a 的硬件数控插补技术,正以其无可比拟的优点,成为高级数控 系统技术的发展方向。因此目前许多中高级数控系统中已采用软硬件相结合方法实现 粗、精插补的二级插补方案。一般粗插补都用软件实现,精插补则用嵌入式硬件系统实 现【3 2 1 。 本课题选用f p g a 技术作为精插补算法的设计实现,同时设有与p c 机通信模块等。 通过结合v h d l ( h a r d w a r ed e s c r i p t i o nl a n g u a g e ,v e r yh i g hs p e e di n t e g r a t e dc i r c u i t 超 高速集成电路硬件描述性语言) 和电路原理图形式设计相关逻辑电路的结构。使用软件 综合器可以将设计文件转换为f p g a 内部资源的配置文件。可见,f p g a 可实现硬化定 制,并且还可以反复重写。与a s i c 和d s p 相比,采用复杂可编程逻辑器件( c p l d ) 现场可编程门阵列f p g a 实现精插补功既能满足现代高速高精度的严格要求,同时又克 服a s i c 灵活性差的特点,使得f p g a 更加适合嵌入式高速高精度数控系统 3 3 , 3 4 。 针对以上分析,本课题研究采用现场可编程门阵列( f p g a ) 来设计多轴高速精插补 运动控制模块,实现空间直线、平面圆弧的插补和高次曲线函数的插补功能,以适应高 速加工的市场要求。 1 3 2 本课题主要研究任务 本课题通过对数控运动控制卡的深入研究,设计了一款基于p c i 9 0 5 4 总线,以f p g a 芯片为主控芯片的数控高速高精度运动控制模块,来满足国内数控系统的高速高精度、 运动速度稳定、实时控制、多轴联动等要求。设计主要内容包括:基于f p g a 技术的空 间直线、平面圆弧和高次曲线精插补模块的设计,f p g a 与p c i 通信实现,硬件板卡的 设计与调试,w i n d o w s 为平台的通信程序设计。本论文分为以下五个章节讲述。具体章 节安排如下: 第一章绪论。简述数控系统的发展与趋势以及运动控制卡的发展趋势,并介绍了 本课题研究的意义和任务。 第二章高速高精度精插补模块的设计。作为本文的重点与核心,主要完成各精插 补模块的设计,详细介绍了各曲线插补算法模块在q u a r t u si i 软件中的实现,在设计中 将流水线优化技术应用到插补算法实现中。 第三章对设计的各曲线插补模块进行仿真分析。 第四章进行实验板卡的硬件设计和软件设计。硬件设计主要介绍各主要芯片的选 择原则及其功能作用;软件设计主要介绍上位机软件通讯实现功能,完成了p c 机与插 补控制卡的通信功能以及f p g a 芯片与p c i 接口芯片的交互功能。 第五章对研究成果和不足进行总结,并对今后的工作提出了建议和展望。 4 硕士论文 基于f p g a 多轴高速高精度插补运动控制模块的设计与实现 2 高速高精度精插补模块的设计 2 1f p g a 技术简介及开发流程 f p g a 的英文是f i e l dp r o g r a m m a b l eg a t ea r r a y ( 现场可编程门阵列) ,是一种新型 的高性能可编程逻辑器件【35 1 。自1 9 8 4 年x i l i n x 公司推出的第一片f p g a 至今,f p g a 快速发展,已经从最初的1 0 0 0 个可用逻辑门到现在的1 0 0 0 万个可用逻辑门。目前f p g a 凭借其开发周期短、投入少、高可靠性等优势,呈现出以下几个主要的发展动向:基于 f p g a 的嵌入式系统( s o p c ) 技术正在成熟,s o p c 具有a s i c 和f p g a 两者优点;a l t e r a 公司提供的是基于n i o si i 的软核解决方案,设计者可以在很短时间构建一个完整的可 编程系统芯片,规模越来越大,集成度越来越高。速度不断提高,性能不断提升;m s u 、 d s p 、a r m 等嵌入式处理器i p 核更多的集成在f p g a 中,价格越来越低。 图2 1f p g a 开发流程图 f p g a 的基本开发流程如图2 1 所示,包括:设计输入,设计仿真,设计综合,布局 布线,配置和调试六个步骤,其中设计仿真、设计综合和调试是最重要的步骤,综合工 具的性能更是对设计的结果有直接影响 2 高速高精度插补模块的设计硕士论文 目前,a l t e r a 公司的综合开发平台为q u a r t u si i ,兼有n i o si i ,d s pb u i l d e r 等。 2 2 插补模块顶层设计 首先对f p g a 的内部模块进行设计,内部模块主要包括空间直线插补、圆弧插补和 高次曲线插补各插补模块以及其他辅助模块,如数据缓冲模块、象限处理模块等,其 f p g a 内部实现模块如图2 2 所示。 广 d d a 空间直线 卜 纱。 插补模块 脉 冲 上位机卜 数据 流水 , 输 d d a 平面直脉冲i 缓存 卜线数卜 线、圆弧插补 卜 出 1 据分 处 输入毅科 模块模块输出1 配理 沁 模 块 高次曲线插补 模块 图2 2 精插补功能模块图 本设计插补模块中的寄存器为1 8 位,每一段数据插补步数为是2 1 8 ,等于2 6 2 1 4 4 步。p c i 9 0 5 4 芯片传输3 2 位的数据,这里选用总线低1 8 位数据作为各插补模块的输入 数据,同时在数据缓存模块中设计译码电路对总线地址线译码,采用流水线进行无缝数 据传输;各精插补模块分别采用流程图和有限状态机形式进行设计,在充分利用资源和 提高速度上采用流水线技术进行优化。另外插补曲线选择信号存储在数据缓存模块输出 数据c t r 中,选择平面顺、逆圆弧和空间直线的插补。根据f p g a 开发流程,对顶层文 件设计输入( 原理图、硬件描述语言) 、约束输入、综合、布局布线、仿真、编程和配 置。本课题难点是输入文件的设计,本章将着重介绍这方面设计过程。 ( 1 ) 顶层原理图设计 本课题主要采用“自顶而下”设计方案,设计基于f p g a 高速精插补模块。顶层模 块包括空间直线、平面圆弧和高次曲线插补模块、数据缓存模块、脉冲象限处理模块。 p c i 9 0 5 4 芯片的地址线、数据线和读写信号线共同作为顶层文件的输入信号,缓存模块 输出的数据作为各曲线精插补模块的输入数据,插补模块的输出信号经过脉冲象限处理 后作为顶层文件的输出信号,具体实现方式后面将详细介绍。插补终止信号f i n a l 返回 上位机控制数据的传输。最终完成的完整的顶成模块如图2 3 所示。 ( 2 ) 主要端口及引脚分配如下: c l k :系统时钟输入信号,一般接芯片的c l k 0 ,对应芯片引脚p i n 2 8 ; 2 高速高精度插补模块的设计硕士论文 图2 4 顶层文件全编译 图2 5 顶层文件时序分析报告 2 3 数字积分法空间直线插补 ( 1 ) 插补模块的流水线设计 采用非流水线式进行插补算法运算时,数字积分法( d d a 法) 插补运算分为四个 工作节拍,需要将输入时钟c l k 进行四分频,分频后的时钟按照一定的时间发出一系列 工作驱动脉冲。首先分频后的第一时钟节拍控制被积函数寄存器j v ( x ,y ,z ) ,和已经 预置数的累加寄存器j r ( x ,y ,z ) 模块;第二个控制积分器模块;第三个控制脉冲 输出和减数计数器模块;最后一个节拍控制插补终止信号。由于插补运算需要分频器的 四个脉冲序列来控制,因此完成一次插补运算的周期是输入时钟c l k 的四倍为4 t 时间。 如图2 6 所示。 4 图2 6 非流水线插补模块结构图 硕士论文基于f p g a 多轴高速高精度插补运动控制模块的设计与实现 流水线技术,顾名思义,就是将要完成的整个工作过程分为若干步骤,根据性能指 标,正确的划分流水线级数实现各步骤重叠,空间上实现并行处理【3 6 j 。在电路设计中实 现流水线优化,就是将整个电路划分为若干个流水线级,划分原则要保证各级之间相互 联系,保证每组数据在经过所有级数后都能得到正确的输出数据。在设计中,各流水线 之间插入寄存器进行锁存上一级输出的相关量,在经过最初时钟后,在输出端每来一个 时钟就可以得到一组输出,而无需将输入时钟进行分频,各时钟完成特定步骤。提高了 整个系统运行的速度【3 。 f p g a 内部采用阵列分布,内部多达上万个逻辑单元,为使用流水线设计提供了基 础。目前在运算量大的场合,如d d s 【3 8 】、f f t 3 9 1 、f i r 滤波器【4 0 】设计中,采用流水线并 行处理技术,可以大大增加吞吐量从而降低采样周期将采样速度提高到与并行技术相当 的倍数。 预加载数据 矗旨裂蚌嘶肾 告刚一一曰 厂l 哩鍪壁鲨! ! 坚 余数寄存 器2 督 减篁数b 器卜一 2 n + 1i 终止信号 图2 7 空间直线x 轴流水线插补模块结构图 图2 7 为采用流水线技术的x 轴方向数字积分法插补模块结构图。在x 轴方向进行 插补运算时,分为两条流水线,输入时钟c l k 0 经过时钟处理模块后,c l k l 时钟为c l k 0 的奇数时钟节拍( 1 、3 、5 、7 ) ,控制第一条流水线;c l k 2 时钟为c l k 0 的偶数时钟节 拍( 2 、4 、6 、8 ) ,控制第二条流水线。具体的讲,当第1 个时钟脉冲到来时,余数 寄存器1 与被积函数累加后将溢出信号锁存,同时将余数部分存入余数寄存器2 中;第 2 个时钟脉冲到来时,首先将上一步的溢出信号传输给脉冲输出电路模块,同时余数寄 存器2 与被积函数进行第二次累加,溢出信号锁存等待第三个时钟脉冲向后传输,累加 后的余数存入余数寄存器1 中。第3 个时钟脉冲和第4 个时钟脉冲重复第1 时钟脉冲和 第2 时钟脉冲的工作,以此类推。 因为在第一个时钟节拍时是没有进给脉冲输出,从第2 个时钟节拍开始,每来一个 时钟节拍,脉冲输出端输出一次进给脉冲。这样输入一个时钟周期t 可完成一次插补运 算。其他y 、z 坐标轴插补模块结构图相同。三轴都是在同一输入时钟c l k 0 下共同工作。 气 2 高速高精度插补模块的设计硕士论文 由于在第一个时钟节拍没有脉冲输出,而减数器已减1 ,因此减数计数器中初始寄存数 据为2 n + 1 。 本设计运用流水线技术,每一个时钟周期进行一次插补计算,可以显著提高插补速 度。但在资源耗用、逻辑单元、寄存器个数等上有所增加。本设计中选用的f p g a 芯片 e p c i 2 q 2 4 0 c 8 ,其中寄存器和逻辑单元有冗余,可以满足实际要求。 :r 一一一1 i “ = = = :+ : 图2 8 空间直线插补模块原理图 空间直线插补模块最终原理图如图2 8 所示,在这里研究的是三轴x ,y ,z 空间 直线插补,为满足最大走步2 0 0 0 0 0 步,插补模块中寄存器设定为1 8 位。根据上述介绍 的插补原理可知,如果要实现四轴或五轴的直线插补,只需相应的多增加一个轴的被积 分函数寄存器和余数寄存器。 ( 2 ) 左移规格化模块 1 ) 左移规格化介绍 使用d d a 法实现直线插补运算时,初始状态时将直线终点坐标( x e ,y e ) 存放于 各自的被积函数寄存器中,其余的寄存器清零,当接收到运运算命令后,进给脉冲发生 器每发出一个脉冲,被积函数寄存器和各自的余数寄存器就累加一次,累加结果如果有 溢出就对应轴进给一个脉冲当量,余数存于余数寄存器中,并等待下一个进给脉冲发生 器发出脉冲,用溢出的脉冲发送给伺服机构,驱动机床各轴加工,就能加工出所需直线。 在累加过程中不论寄存器中所存数据的大小,都要经过m = 2 ”次累加才能达到终点。各 硕士论文基于f p g a 多轴高速高精度插补运动控制模块的设计与实现 坐标轴被积函数大小将直接影响溢出脉冲的速度的大小:增量值越大,溢出脉冲速度越 高,因而机床坐标轴进给速度也越快;反之,速度越低。这样就使机床刀具的进给速度 是不一致的,从而会影响轮廓加工的表面质量,特别是增量值小行程短的程序段生产力 低。为此提出采用左移规格化实现速度的稳定】。 在直线插补时,是将被积函数寄存器( 如艺、儿、乙) 中的非规格化数据同时左移, 直到被积函数寄存器正,j 一,中有一个数规格化为止,也即寄存器最高位为1 。 进行左移规格化的同时,终点判断计数器中的数据也做相应的改变。本课题设计中 采用减1 形式来进行终点判断,计数器中起始存有总步数,被积函数寄存器每左移1 位, 终点判断计数器中的数据要右移1 位,同样也达到了每左移1 位累加次数减半的目的。 左移s 位后,累加次数减少到原来的i 2 5 。在进行插补模块设计中,设置一个右移计数 器用来实现插补步数的减少,输入数据为插补总步数,控制时钟与图2 8 的z u o y i m o k u a i 原理图相同,当左移规格化后,右移计数器右移停止,输出数据传输给减数计数器。 2 ) 左移规格化寄存器的设计 左移规格化模块用于直线和圆弧各轴输入数据的暂存:直线插补时,中存放x 轴坐标终点值t ,。中存放y 轴坐标终点值儿,止中存放乙。圆弧插补时,以中存放 以,中存放t ;另一方面在接到左移信号后进行左移,完成规格化操作。 这里采用v h d l 硬件描述语言直接设计移位寄存器,数据加载信号为l o a d ,当l o a d 为低电平时,进行输入数据加载,加载完毕后,跳转高电平,在下一个时钟上升沿时数 据开始自动左移。在本课题设计中,加载数据信号l o a d 是由上位机传输给定。脉冲主要 程序代码如下: e l s i f ( c l k = 1 a n dc l k l a s t v a l u e = 0a n de l k e v e n t ) t h e n i f ( 1 0 a d = 0 ) t h e n t e m p = d ; 一数据加载 e l s ef o r ii n1 6d o w n t o0l o o p t e m p ( i + 1 ) - - t e m p ( i ) ;一数据循环左移 i f t e m p ( 1 6 ) = 1 t h e n e n dl o o p ;一最高位为1 时左移停止 e n di f ; e n dl o o p ; t e m p ( 0 ) = 0 ;一一左移后,低位补零 e n di f ; 在时钟控制信号下寄存器写入的数据将自动左移,如果不控制时钟信号,那么将会 不断左移,数据将会丢失,因此必须控制输入信号c l k ,当在直线插补时,数据同时左 移时,有一数据最高位为1 时则自动停止,表示输入数据扩大倍数相同,并不影响插补 2 高速高精度插补模块的设计硕士论文 脉冲的输出;在圆弧插补过程时,则是被积函数任意次高位为1 时,自动左移停止。空 间直线插补时左移规格化控制模块如图2 9 所示。图2 9 中x o 、y o 、z o 为各轴的被积数 据,这里为各坐标轴的终点坐标,同时通过z u o y i j i c u n q i 模块进行左移,并将左移后的 各输出数据的最高位进行或非逻辑后与时钟c l k 相与后控制z u o y i j i c u n q i 模块的输入时 钟,这样就可以控制左移的停止,完成数据的规格化。在被积数据进行左移时,插补步 数需要右移相同位数,这里设计d e 的y o u y i j i c u n q i l 模块实现插补步数的右移,其时钟 输入信号与z u o y i j i c u n q i 模块输入时钟相同。规格化模块设计中为满足最大走步2 0 0 0 0 0 步数的指标,设定了寄存器位数为1 8 位。 图2 9 左移规格电路模块 直线插补左移规格化仿真波形如下图2 1 0 所示,x 轴输入值最大,当x 轴值左移最 高位为1 时,左移停止,数据稳定。左移规格化的输出数据为各轴的被积函数寄存 器的输入数据。 d k 团h 田d y 团d z 1 0 “ r l t 囝x o 曰” 田z o 圈t o t , o 团t o t 1 一s | b p l2 0 早砧柏p “早m踟q 址1 0 0 pn 1 2 0pn l1 4 0p m 1 pn t 1 8 0p 址2 0 0o m2 2 0o 她 0 3 j ,墨 广 广广 广 广 广- 广 广 广_ 1 踟h 0 0 ) (0 0 0 1 x 0 0 哪x o 。0 0 0 0 c ) ( ) ( 1 删 姗o o o c xo o 0 0 1 x 1 0 0 0 0 0 0 0 x 0 0 x 0 l 0 删 姗x 1 0 0 0 d0 0 0 0 0 1 x 0 l 0 0 0 0 附x 0 0 0 碰 1 咖0 0 0 0 1 0 0 l 伽0 伽0 0 0 0 0 0 0 1 1 叽0 0 0 踟n 0 “l 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 1 图2 1 0 左移规格仿真图 硕士论文 基于f p g a 多轴高速高精度插补运动控制模块的设计与实现 ( 3 ) 余数寄存器预置数设计 插补运算采用步进式,在一步( 一个脉冲当量距离) 的范围内,用切线代替圆弧是 有误差的,并且下一步又再前一步的基础上判断新的方向,最后必然导致误差。 减少插补误差的方法一般有“全加载”和“半加载”方法 4 2 书】。本文设计采用“半 加载”法,即在插补开始之前,在余数寄存器( 也叫累加寄存器) 中进行预置数2 么, 即余数寄存器中最高位置1 。在直线插补时保证每来一个时钟脉冲,至少有一个坐标轴 方向有脉冲输出,圆弧插补时每两个时钟脉冲有一坐标方向有脉冲输出。因此,“半加 载法 提高了插补精度。在这里,预加载也是由上位机将控制界面设定采用何种加载方 法,加载数据的传输也是通过总线直接传输给f p g a 芯片内的余数寄存器中。 ( 4 ) 流水线累加的实现 本设计中为实现累加,调用m e g a w i z a r dp l u g i nm a n a g e r 工具,按照向导参数化加 法器。第一条流水线的余数寄存器1 初始寄存数据为上位机传输的半加载数据,第二条 流水线的余数寄存器2 寄存第一条流水线累加的余数,被积函数寄存器中始终存储 左移规格化的数据,两条流水线的加法器完成信号c o u n t 交替作为余数寄存器1 和余数 寄存器2 的输入信号,设计原理图如图2 1 1 所示。 :。:+ :。:矗,晶_ - 一:- - _ i 一一:。:+ 一。蕊。一一l :;: :! :! : 图2 1 1 累加电路模块 2 4 数字积分法平面圆弧插补实现 刚刚讨论了d d a 法的一次函数( 空间直线) 插补的实现,本节主要讨论典型二次 函数圆弧插补的实现。根据d d a 插补算法可知,圆弧插补和直线插补两者的设计内部 所用模块基本差不多。在进行流水线设计方法上一致,这里不再介绍。本节主要讨论两 者不同点。以为x y 平面为例,根据数字积分法结构图所设计的平面圆弧插补原理图, 如图2 1 2 所示,圆弧插补模块中设计的个模块寄存器位数均为1 8 位。 9 2 高速高精度插补模块的设计硕士论文 ( 1 ) x ,y 修正寄存器的设计 根据以上插补算法的讨论可以容易得出,圆弧的插补实现与直线插补的实现有三点 不同:其一,被积函数寄存器中存储的是圆弧插补的起点值,并且x ,y 的值对调寄存, 而直线插补的被积函数寄存器中存储的是插补终点值,所用坐标均为相对坐标,起点为 零点;其二,圆弧插补过程中被积函数寄存器中的值是不断变化的,需要设定修正模块 r v i 口 幽哪 盼:”u 4 叶1 。 l 卡。 咐 邮 ,。r 吨 【椭h 呻伸q 卜 荨u ,。划 咄一 习 描 ,l 十j _d : 呻 e 4 月l 剥i :j 目 医“膝:慷l “ 一 。弘 j 。 陋一| : 司 ”鼎赢。一 、n1 翟薛昔皇 + c 时 q l t 7= ;”i “ h 咖 :i 藩 醒尿一 雕孵 俸。一 鼍土一,: c 螺,h :沙 b 口 l - 手。 刻一# 4 。 剖: :r “4 睢 剿 j 型 硕士论文 基于f p g a 多轴高速高精度插补运动控制模块的设计与实现 e n di f ; e l s e c o u n t i n t o p x - x p ;o p y = y p ;o p z = 0 ; o n x - - x n ;o n y 印;o n z o p y - - x p ;o p z = y p ;o p x = 0 ; o n y = x n ;o n z = ) ,n ;o n y o p x = y p ;o p z - - x p ;o p y =

温馨提示

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

最新文档

评论

0/150

提交评论