




已阅读5页,还剩68页未读, 继续免费阅读
(机械电子工程专业论文)实时pythagorean+hodograph曲线运动控制器asic的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 在高速高精度的数控加工中,进给速度的剧烈波动会对加工质量产生严重影 响。为了保持进给速度恒定,要求刀具在单位时间内走过的曲线弧长为定值。另 外刀具半径补偿在数控加工中占有重要地位,而刀补与偏置曲线有密切关系。目 前,在弧长和曲线偏置的实时计算方面,还存在计算精度低、计算量大等有待解 决的问题。 为了解决上述问题,美国学者r t f a r o u l d 和t s a k k a l i s 提出了p y t h a g o r e a n h o d o g r a p h 曲线( 即毕达哥拉斯速端曲线,简称p h 曲线) 。p h 曲线是一类特殊的 多项式参数曲线,与现有的c a d 系统的b 6 z i v r b 样条曲线兼容。利用p h 曲线能 够实现曲线弧长和偏置曲线的快速计算,能够较为简便地实现迸给速度控制。 为了进一步提高p h 曲线数控插补技术的加工精度与插补速度,本文提出并实 现了一种单个f p g a 芯片上构建的实时p h 曲线运动控制器a s i c 。该a s i c 在 f p g a 开发软件q u a r t u s i l 9 0 中设计,由一个n i o s i i 软核处理器和多个功能模块构 成。它通过采用二次插补方式以减少p h 曲线插补的计算量。n i o si i 处理器执行主 控程序和p h 曲线粗插补算法,f p g a 硬件逻辑执行精插补算法并输出两组用于执 行机构( 2 个步进电机) 运动控制的脉冲。 在v i s u a lc + + 6 0 中开发了上位机p c 和该运动控制器a s i c 的专用串行通信 软件。用户可以在p c 中输入所有与p h 曲线插补有关的数据和控制指令( 如插补 起始点和结束点坐标信息、p h 曲线的b e r n s t e i n 系数、进给速度、刀具半径等) , 这些数据和控制指令可通过串行通信方式传送到该a s i c 中。 实验数据表明,在进给速度恒定的情况下,包含刀具补偿算法的单次p h 曲线 插补平均耗时小于2 m s 。 得益于f p g a 的硬件优势,该实时p h 曲线运动控制器a s i c 具有高速、高精 度、高集成度等优良特性,可以满足高速高精度数控加工的需要。 关键词p y t h a g o r e a nh o d o g r a p h ( p h ) 曲线:插补;运动控制器:a s i c ;f p g a i x a b s t r a c t a b s t r a c t i nt h eh i g h - s p e e da n dh i g h p r e c i s i o nc n c m a c h i n i n g ,t h ef l u c t u a t i o n so ff e e dr a t e w i l lh a v eas e r i o u si m p a c to n t h eq u a l i t yo fm a c h i n i n g a c c o r d i n g l yt h ea r cl c n g t l la l o n g t h ec u r v et r a v e r s e db yt o o li nau n i tt i m ei sr e q u i r e dt ob ec o n s t a n tv a l u ei no r d e rt o m a i n t a i nac o n s t a n tf e e dr a t e i na d d i t i o n ,t h ec u t t e rc o m p e n s a t i o np l a y sa l li m p o r t a n t r o l ei np l a n n i n gt h et o o lp a t h sf o rc n cm a c h i n i n g , a n di ti sc l o s e l yr e l a t e dw i t ho f f s e t c u r v e h o w e v e r , c u r r e n t l yt h e r ea r es t i l lm a n yp r o b l e m st ob es o l v e di nt h er e a l - t i m e c o m p u t i n go f a r cl e n g t ha n dc u r v eo f f s e t ,s u c ha sl o wa c c u r a c y , l a r g ec o m p u t a t i o ne t c p y t h a g o r e a nh o d o g r a p hg u r v e ( r e f e r r e dt oa sp hc u r v e ) w a sp r o p o s e db y t h et h e a m e r i c a ns c h o l a rr t f a r o u k ia n dt s a k k a l i st os o l v et h ea b o v ep r o b l e m s p hc u r v e s , w h i c ha r ec o m p a t i b l ew i t ht h eb e z i e r b - s p l i n er e p r e s e n t a t i o n so fc a ds y s t e m s ,a r ea s p e c i a lc l a s so fp o l y n o m i a lp a r a m e t r i cc u r v e s t h er a p i dc a l c u l a t i o no fa r cl e n g t ha n d o f f s e tc u l v oc a nb ea c h i e v e db yu s i n gp hc u r v e t h ef e e dr a t ec o n t r o lc a nb ea c h i e v e d m o r ee a s i l yb yu s i n gp hc u r v e i no r d e rt of u r t h e r i m p r o v et h ea c c u r a c ya n dv e l o c i t yo fp hc u i v ec n c i n t e r p o l a t i o n , t h en o v e la r c h i t e c t u r eo ft h er e a l - t i m em o t i o nc o n t r o l l e ra s i cf o r p y t h a g o r e a nh o d o g r a p h c u r v eb u i l to n as i n g l ef p g ac h i pi sp r o p o s e di nt h i sp a p e r t h e a s i c d e s i g n e di nq u a r t u si i9 0c o n s i s t so fas o f t c o r en i o si ip r o c e s s o ra n dm u l t i p l e f u n c t i o n a lm o d u l e s i tu s e sat w o - s t a g e i n t e r p o l a t i o ns c h e m et or e d u c et h ec o m p u t a t i o n a l b u r d e no fp hc u r v ei n t e r p o l a t i o n f i r s t l y , m a s t e rc o n t r o lp r o g r a ma n dt h el = - s t a g e i n t e r p o l a t i o na l g o r i t h ma r ee x e c u t e db yt h en i o si ip r o c e s s o r t h ef p g ah a r d w a r el o g i c p e r f o r m st h e2 * a - s t a g ei n t e r p o l a t i o na n do u t p u t st w og r o u p so fp u l s e sf o rt h em o t i o n c o n t r o lo f a c t u a t o r s ( t w os t e p p e rm o t o r s ) 1 1 l ed e d i c a t e ds e r i a lc o m m u n i c a t i o ns o f t w a r eb e t w e e np ca n dt h ea s i ci s d e v e l o p e di nv i s u a lc h 6 0 u s e r sc a ne n t e rt h ed a t aa n dc o n t r o li n s t r u c t i o n sr e l a t e dt o p ht u l l ei n t e r p o l a t i o ni np c ( s u c ha sd a t ao fi n i t i a lc o o r d i n a t e sa n dd e s t i n a t i o n 山东大学硕士学位论文 c o o r d i n a t e s ,b e r n s t e i nc o e 伍d e n t s ,f e e dr a t ea n dt o o lr a d i u se t c ) t h ed a t aa n dc o n t r o l i n s t r u c t i o n sa r es e n ti n t ot h ea s i cv i as e r i a lc o m m u n i c a t i o ni n t e r f a c e e x p e r i m e n t a l d a t as h o wt h a tt h e a v e r a g et i m eo fe a c hs t e p o fp hc u r v e i n t e r p o l a t i o ni n c l u d i n gt h et o o lc o m p e n s a t i o na l g o r i t h mi sl e s st h a n2m sw h e nt h ef e e d r a t ei sc o n s t a n t b e n e f i t i n gf r o m t h ea d v a n t a g e so ff p g ah a r d w a r e , t h er e a l t i m em o t i o n c o n t r o l l e ra s i cf o rp hc i :r v eh a st h ee x c e l l e n tc h a r a c t e r i s t i c so fh i g hs p e e d , h i g h a c c u r a c y , h i g hi n t e g r a t i o ne t c t h ea s i ci sa b l et om e e tt h en e e d so fh i g h - s p e e da n d l l i g h - p r e c i s i o nc n cm a c h i n i n g k e y w o r d sp y t h a g o r e a nh o d o g r a p h ( p h ) c u r v e ;i n t e r p o l a t i o n ;m o t i o nc o n t r o l l e r ;, a s i c ; f p g a 第一章绪论 1 1 引言 第一章绪论 当今世界上一切工业制成品,无一不是直接或间接由机床所制造的机器或工 具器械所制造的,因此机床又被称为工作母机,而机床的现代化程度又集中体现 在数控机床上。数控机床是工业自动化的基础,数控技术是数控机床的关键技术。 现代数控技术集机械制造技术、计算机技术、现代控制技术、传感检测技术、信 息处理技术、网络通讯技术、液压气动技术、光机电技术等先进技术于一体,是 现代制造技术的基础。数控技术是提高生产效率与工业产品质量必不可少的物质 手段,其广泛使用给机械制造业的生产方式、产业结构以及管理方式带来极为深 刻的变化,其关联效益和辐射能力更是难以估计;数控技术是制造业实现自动化、 柔性化、集成化生产的基础,现代的c a d c a m 、f m s 、c i m s 等都是建立在数控 技术基础之上,离开了它,先进制造技术就成了无本之木。数控技术的发展和运 用开创了制造业的新时代,使世界制造业的格局发生了巨大变化。 不仅如此,数控机床是实现国防现代化的重要战略物资,国外发达国家对高 档数控机床出口的严格管制以及举世瞩目的“东芝事件 充分反映了高档数控机一 床在武器装备制造业所起到的至关重要的作用。因此,数控设备产业是体现国家 综合国力的重要基础性产业,数控技术总体水平高低与数控设备保有量是衡量一 个国家制造业现代化程度的核心标志。专家们曾预言:机械制造的竞争,其实质 是数控的竞纠。 有鉴于此,各工业发达国家都竞相发展本国的数控产业。由于数控产业的发 展并不完全是企业行为,而是某种程度上体现了政府意志,其发展快慢依赖于各 国政府的支持程度。因此,各主要发达国家都采取了一些扶持本国数控产业发展 的政策措施。我国政府十分重视国内数控技术的发展,大力支持发展数控产业, 把发展数控技术作为振兴机械工业的重中之重。 0 且运行方向x d :f :h o l d 视为有效值) , 若为有效值,在时钟信号c l k 上升沿的触发下,环分器开始进行工作:首先根据 x d 实际值判断当前状态的下个状态是哪一个状态,判断完成后状态机从当前状态 转换为下个状态;然后查询在各个状态上的a 、b 、c 、d 各相通电定义,分别从 x o u t a 、x o u t b 、x o u t c 、x o u t d 四个端口输出相应的矩形脉冲,同时变量x c o u n t 记录 状态机的转换次数;最后判断x c o u n t 是否等于x b s 。如果两者相等,将x 轴状态转 换完成信号x c o m p f l a g 置为高电平,此时环分器可接收下个数据x b s 、x d 。如果两 者不等,在下个时钟信号c l k 上升沿的触发下,环分器重复进行上述一系列工作。 3 3 3 模块工作原理及端口连接电路原理 一 ; i i n 呤 喝b u :; ; x髓 u t p l i t 1) x o o t a x f i f 0 o l kx 妯 b u t p l i t 1) x o t l l 出 d 蠢a 【7 9 1 q 7 0 1 : l ; d a t 嘲l f j d l 删o 的l i j t p l i t ) x 0 4 且c a t 嘲2 p , j d l x o u t d o u t p l i t ) x o u t d w r r e q f u l l 降 ; 1 一 m p t vy o o t a n h t p l i t ) y o t n a l y e m p t yy o u l b o h t p l i t 1) y o u t b r d r e qe m p t y d a t a e r k l y o t l o o h t p l i t 1) y o u t o y o t “l l;,一i-,-,: m a d l y r e a d f i n i s h c l o c k i 一。一,一,一 8b i t sx1 2 8 i l m v d $ 吼2 4 图3 5 精插补模块电路原理图 精插补模块电路原理图如图3 5 示。c l k 、分别为时钟信号、使能信号输入 端i :1 ,x e m p t y 、y e m p t y 分别为x 轴与y 轴f i f o 空指示信号输入端口,d a t a i n i 7 。o 】、 d a t a i n 2 7 0 】分别为x 轴与y 轴粗插补数据输入端口,d a t a e n d 为传输粗插补数据结 束信号输入端口。x o u t a 、x o u t b 、x o u t c 、x o u t d 与y o u t a 、y o u t b 、y o u t c 、y o u t d 为两 组控制脉冲输出端口,用于分别连接片外x 轴、y 轴四相步进电机驱动电路。x x e a d 、 y r e a d 分别为读取x 轴、y 轴f i f o 的粗插补数据使能信号输出端口,f i n i s h 为所有 插补任务完成信号输出端口。 3 s 山东大学硕士学位论文 豳3 击精插补模块的端口连接电路图 精插补模块与f i f o 、n i o s i i 处理器的端口连接电路如图3 - 6 示。为了保证精 插补模块读取粗插补数据的平稳性,用于精插补模块时序控制的高频时钟信号c l k 与2 个f i f o 所使用的时钟信号c l o c k 的频率均相同。在每个插补周期内,n i o si i 处理器完成粗插补运算后,通过2 个数据写入f i f o 控制模块分别向x f i f o 、y f i f o 发出写数据请求信号w r l 、w r 2 ,并向精插补模块发出使能信号朋。在w r o 、w r 2 为l 且f i f o 存储数据未满( 即溢出指示信号f u l l 为o ) 的情况下,n i o s i i 处理器 才能分别向x f i f o 、y f i f o 的输入端口d a t a 7 0 】写入每个x 轴、y 轴的粗插补数 据。 当e 1 信号置为l 时,精插补模块开始工作,并自动侦测x f i f o 、y f i f o 中是 否已存有粗插补数据。如果已存有数据,精插补模块则分别从x f i f o 、y f i f o 的 输出端口q 7 0 】读取数据,若读取到有效粗插补数据,则将读取下个数据使能信号 x r e a d 、y r e a d 置为低电平( 即不能分别从x f i f o 、y f i f o 中读取下个粗插补数据) , 经过精插补运算器计算后分别给x 轴、y 轴环分器发出精插补数据( 包含步进脉冲 个数和方向) 。x 轴、y 轴环分器分别输出相应的控制脉冲,完成后分别向精插补 模块发出输出完毕信号精插补模块如果接收到x 轴和y 轴的输出完毕信号后, 则断本次精插补是否完成,若没有完成,继续进行本次精插补;若已经完成,则 一露 第三章p h 曲线运动控制器a s i c 的设计与实现 1_ _- _ _ _ - - _ _ _ _ _ 图3 7 精补模块工作流程图 3 3 4 模块的v h d l 语言描述 精插补模块的实体v h d l 语言描述如下: e n t i t yj i n g c h a b ui s 3 7 山东大学硕一l :学位论文 p o r t ( e i l :i ns t d j o g i c ; c l k :i ns t d _ l o g i c , d a t a i n1 :i ns t d _ l o g m _ v e c t o r ( 7d o w n t o0 ) ; d a t a i n 2 :i ns t d _ l o g m _ v e c t o r ( 7d o w n t o0 ) ; x e m p t y :i ns t d _ l o g r e 。; y e m p t y :i ns t d _ l o g m ; d a t a e n d :i ns t d _ l o g l e ; x o u t a :o u ts t d _ l o g i c ; x o u t b :o u ts t d _ l o g l e ; x o u t c :o u ts t d _ l o g m ; x o u t d :o u ts t d _ l o g m ; y o u t a :o u ts t d _ l o g m ; y o u t b :o u ts t d _ l o g m ; y o u t c :o u ts t d _ l o g l e ; y o u t d :o u ts t d _ l o g m ; x r e a d :o u ts t d _ l o 西c ; y r e a d :o u ts t d _ _ l 0 9 1 e ; f i n i s h :o u ts t d _ l o g i c ) ; e n de n t i t yj i n g c h a b u ; 在实际设计中,构造体中包含三个进程,进程l 用于实现精插补运算器,进 程2 用于实现步进脉冲环分器,进程3 用于判断所有精插补任务是否完成。 当粗插补数据传输结束信号d a t a c n d 为l 时,进程2 开始判断判断x f i f o 、 y f i f o 是否均为数据已空,如果“是一则判断信号x c o m p f l a g 、y c o m p f l a g 是否均 为l ,如果均为l 说明x 轴、y 轴状态转换都已完成,即x 轴、y 轴精插补都已完 成,故进程3 认为所有精插补任务完成,令f i n i s h 端口输出高电平。 3 3 5 模块功能仿真 完成模块的v h d l 设计后,在q u m u si i9 0 中编译模块并生成网表文件,该 第三章p h 曲线运动控制器a s i c 的设计与实现 模块须占用1 3 8 个l e 和3 2 个p i n 。创建好仿真波形文件后,在s i m u l a t o rt o o l 中 生成功能仿真网表,并开始功能仿真。 环分器子模块在一个完整运行周期内的输出脉冲功能仿真波形如图3 8 所示。 v d u e - 1 7 0 0 e x k 1 n 1 x o u t tb1 x c 咀t b10 t t o 咀t cb0 x m a t db 0 y t n t t t b1 y m a t b 10 y o t t t c 1 0 y m a t d b0 皇i t 【9 墨l t 【9 ) p , 4 0 9 i t s 8 0 9i t s 1 2 0 on l l pn ,2 0 0 i 1 7 0 0i t s j 广1 广1 广1 广1r 1广1 广1l 广- 1 : lii i;广一 : i lr _ :【! ! xl ! ! x 堕! x 3 1x 4 1x 【5 】x 8 1x 7 1x 【8 1 : 【9 】x 【豇 莲亘联【l 】u 2 】x 【3 】x 【4 】x 【s 】x 【6 】x 【t 】x 【8 】:【9 】兀i ; : 图3 - 8 一个完整运行周期内的输出脉冲功能仿真波形图 由于仅测试精插补模块8 个端口的输出矩形脉冲功能,故屏蔽了一些不必要的输 入输出端口波形。从波形图中可以看到,从5 n s 到1 7 0 n s 之间,x o u t a 、x o u t b 、x o u t c 、 x o u t d 输出步进电机在一个运行周期内正转时所需的矩形脉冲波形,即 a a b - b - b c c - c d d d a :y o u t a 、y o u t b 、y o u t c 、y o u t d 输出在反转时所需的矩形脉 冲波形,即a a d d d c c - c b b b a 。 n a a e t t i m e 8 甍可j j m 靠阿i n l 州阿s 嫩厂e n 厂? y a l a e l i m e 0 ,t oe 1 a t o inli d 2i o n t l0 d 3x m a t bl o 0 4 l m a t el 0 囔多5t r e a t 41 0 口6 f m a t t l0 口7r m a t b - 0 o o f m a t c l 0 0 9 r m a t d 0 0 1 0羞t e 州瞳 【0 】 0 1 6j ”o 皿t 【0 】 i p 2 2jt l a t t i a l m 产3 1jd a t t i n 2 m “盥盔瞄菹瞳li 图3 - 9 赋予输入端口测试数据的模块输出仿真波形图 3 9 山东大学硕:l = 学位论文 赋予d a t a i n l 、d a t a i n 2 少量测试数据后的模块输出仿真波形如图3 - 9 所示。由 图中可得知,在t l = 1 0 n s 时刻分别赋予d a t a i n l 、d a t a i n 2 端口x 轴、y 轴粗插补测试 数据0 3 、0 1 ( 原为二进制数据,为书写方便采用十六进制) ,经过精插补运算后, 输出端口x o u t a 、x o u t b 、y o u t a 、y o u t b 即刻输出高电平,说明x 轴、y 轴坏分器都 发生了1 次状态转换,x 轴、y 轴的正方向都进给1 个最小设定单位;经过2 个时 钟周期( 4 0 n s ) 后表明只有x 轴环分器又发生了2 次状态转换,x 轴的正方向已进 给2 个单位,y 轴不进给:又经过1 个时钟周期状态保持不变,表明在t 3 = 7 0 n s 时 刻x 轴环分器状态转换已完成,完成本次精插补。另外,在时钟信号上升沿的触 发下,如果模块未能获取有效的x 轴、y 轴粗插补数据或x 轴、y 轴进给已完成, 那么模块将x r e a d 、y r e a d ( 读取下个数据使能信号) 分别置为l 并保持不变;如果 模块已获取有效数据,那么x r e a d 、y r e a d 将在下个时钟信号上升沿的触发下分别 罱为0 。由上述分析町知各端口的输出波形符合预期要求。 在实际应用中会发生暂停精插补而又重新启动的情形,因此进行了在精插补 工作过程中赋予使能信号e n 不同信号值的仿真,如图3 1 0 所示。 蓄m 踟t h b 嚣丽f 刖面l 删r 隔s 嫩厂一e 时广 a 蔓 叹 毪 * 气 - 鼹 垒l y 1 u i i b e 5 0 睁0 e j k 矿l雠b 寸2x o l t b 口3x o u t bb 口4x o u t cb 口5x o n t db 口6 l r m a t a b 口7 y ”a t b b 口8 i r o t t c b 口9 y a t d b 移1 0x c o _ t t 移1 6i3 e c o u a t 移趁id t i i d h 画3 1嗣d a t a i n 2 m 口4 0l r d 寸4 1 l r r e a 4 豳函瞳1 m l l ) p l 2 0 9m9m9m9u1 0 0 pm1 2 0 pm1 4 0 1 dh 5 0 0u j r 厂 厂厂 l i : : 0 1x【l 】x“】x【0 】 【0 】: :x x :i 们 i : 1 i l ; | 、 一“一 : 型 图3 1 0 使能信号舶变化时的模块输出仿真波形图 从图3 - 1 0 中可以看到,从5 0 n s 到7 0 n s 之间e l l 为0 ,此期间的x 轴、y 轴环 分器的输出波形与上个时钟周期波形相同,表明没有发生状态转换。在t = 7 0 n s 时 变为l ,x 轴环分器的输出波形也发生变化,表明状态已经开始转换。 4 0 第三章p h 曲线运动控制器a s i c 的设计与实现 y 1 u f f m * 8 0 一0 e l ka l nb 口2x ( m t ab 口3l q t bb 寸4 x o u t eb 谚5x o u t db 寸6 :r o u t e l 口ty o u t b b 口8 ,t c b 口9y o u t a b 0 1 0圈l c w l t 移1 6 曩”m t 痧2 2叠d a t a i z d h i p 3 i瞳d “止 h 谤4 0 t r d 寸4 1 i r r * a d i 4 2 y m p t y b 4 3 x u p t f b 沙4 4f i n i h p 4 5i t l i db ,五,j l涛 】p u 一:一9 螂4 0 9m 一- ,孙6 0 i 嬲:- “8 0 9i s ,捌 8 0 0n j lilliii广 ii i i i i :【o 】【l 】x【引xc o :【o 】 :xxjj j :xx; l il i l i l 氟翻 剑 幽3 - 1 1 模拟n i o s i i 处理器向精插补模块发出d a t a c n d 信号后的仿真波形图 如图3 - 1 1 所示,在t l = 8 0 n s 时刻模拟n i o si i 处理器向精插补模块发出了d a t a e n d 信号( 此时刻d a t a c n d 从0 变为1 ) ,此时信号x e m p t y 、y e m p t y 均已为l ,表明 x f i f o 和y f i f o 中所存数据已经被全部读取,而且此时刻x 轴、y 轴进给均已完 成,表明精插补结束,因此f i n i s h ( 所有精插补任务完成信号) 从0 变为l 。 3 4 其它模块构建与功能仿真 3 4 1 手动控制模块 p o r tf r o mt h ey d a t , a i 【7 0 】 - i : m b 啊自懈 劬 一 :p o r t _ f r o m t h e _ d a t a e n d s i g l 坚一 - ,始瞪 b y h崆 n d f r o m t h e d i vc l , t , 0 l i - :i : o u t _ p o dl o mt h e _ e n _ s i g :i : 图3 1 2 手动控制模块与n i o si i 处理器连接电路图 用户可通过手动控制模块控制精插补模块,在精插补工作过程中实现暂停启 动功能。手动控制模块与n i o si i 处理器连接电路如图3 1 2 所示。 4 l a甍叹卧托|t呻一昧虬 山东大学硕十学位论文 输入端口c n i n 与n i o s i i 处理器发送精插补使能信号的端口相连,时钟信号输 入端口c l k 与分频器相连。输入端口k e y l 与片外开关按键k e y 相连,按下k e y 时 k e y l 为低电平,释放k e y 后k e y l 为高电平。输出端口e l l 与精插补模块使能端口 相连。 n i o si i 处理器发出精插补使能信号( 高电平有效) 后,若按键k e y 无动作,则 手动控制模块的端口伽也输出高电平。若按键k e y 被按下,则e n 输出低电平,精 插补模块运行暂停;若按键k e y 再次被按下,则输出高电平,精插补模块再次 运行。当n i o s l l 处理器发出精插补禁止信号时,胁立即输出低电平,停止精插补 模块运行,此后按键k e y 功能失效。直到n i o sl i 处理器再次发出精插补使能信号 后,按键k e y 才继续有效。 考虑到在实际运用中按键信号的双边沿会存在毛刺或抖动现象,因此模块中 必须有消除抖动信号的没计。在v h d l 设计中,在时钟信号的触发下分别使用2 个并发进程对按键信号k e y l 的高电平和低电平的持续时间独立进行计数,同时使 用第3 个并发进程进行判断:只有当高电平的持续时钟周期数大于某一个值n 时, 则判定为有效高电平信号;同理当低电平的持续时钟周期数大于某一个值m 时, 则判定为有效低电平信号。这样可以有效过滤掉抖动信号。已过滤好的按键信号 作为第4 个进程的触发信号,判断端口e l l 输出何种电平。该进程采用了状态机的 设计模式,状态r u n 时e l l 输出高电平,状态p a u s e 时o n 输出低电平,n m 和p a u s e 可相互转换,如图3 1 3 所示。 瑶墨翅 匠盈畸 图3 1 3 手动控制模块的状态机示意图 手动控制模块的功能仿真波形如图3 1 4 所示。从图中可以看出,对按键信号 k e y l 的消除毛刺、抖动效果很明显,模块可以识别出真正的按键信号。在2 次按 键信号的触发下,姐的输出从1 变为0 ,再变为1 。在t = - 8 5 n s 时刻,e n i n 为0 , 同时开始输出0 。因此,功能仿真符合预期要求。 第三章p h 曲线运动控制器a s i c 的设计与实现 辨d wo 0p s 曲0bl 沙lbl 睁2k e y lbl u p 3c l k 0 o k e y 0 确灞矧满 3 4 2fif o 存储器 图3 1 4 手动控制模块的功能仿真波形图 在设计中须用到2 个f i f o 存储器,构建过程如下所示:打丌q u a r t u si i9 0 中的t o o l s - m e g a w i z a r dp l u g - i nm a n g e r 。 然后选择输出文件格式为v h d l ,文件名 定制,如图3 1 5 所示。 图3 1 5f i f o 定制界面 4 3 山东大掌硕士学位论文 设置该f i f o 的数据宽度为8 位,深度为1 2 8 。选择了输出控制信号为f u l l 和 e m p t y 两项,其中f u l l 为存储数据溢出指示信号,e m p t y 为f i f o 已空指示信号。 d a t a 7 o 为数据输入口,q 7 0 】为数据输出口。w r r e q 和r d r e q 分别为数据写入和数 据读取请求信号,高电平有效。c l o c k 为时钟信号。同理可实现具有相同数据宽度 和深度的y f i f o 。由q u a r t u sl i9 0 自动生成f i f o 模块的输出文件后,手动添加这 些文件到工程中,然后在设计中就可以调用这个f i f o 模块并实例化。 由于直接调用宏功能模块实现f i f o 模块,因此不再对该模块进行单独仿真。 3 4 3p l l 模块与分频器 c y c l o n e i i i i i 等系列的f p g a 中含有嵌入式模拟锁相环( 即p l l 模块) ,它可 以与一个”外输入时钟h 步,并以其作为参考信号。实现锁柏,从而能够输出若干 个同步倍频或分频的片内时钟,以供f p g a 逻辑系统使用。与直接来自外部的时 钟相比,这种片内时钟可以减少时延和时钟变形,减少片外干扰,还可以改善时 钟的建立时间和保持时间,是系统稳定、高速工作的保证【2 5 】。在a s i c 设计中,使 用p l l 模块为n i o si i 处理器、f i f o 存储器、精插补模块、手动控制模块及数据写 入f i f o 控制模块等片内模块提供工作时钟信号。 。静一u j 署;茎鬻鼍一棚- 黧圜雕娶嬲戮缀黧夏零缀嬲灏翳鬻辫鬻缀照 口口口_ - _ - l _ m 目- j m “ pir ) 0 一:- ; f眦t o n p 蜘矗t 她r e 嗥酣e df u i r c n :_ 一,= c o 嗽t _ 5 e 岬 藁隧产 r _ 矗灿d 吐n 簪枷一钾优h 节 打仉舡n d 咄f 嗍 磊矗dh hz 葳 辅西硒西 i 一,e r t f a p 哇d o 吐p 皇_ _ 畦e r i 酗口岵“f m : 1 一1 f h 一f t t “ c o p r 1 j ,。i i 。i ;毫或。一: 曲噎舾批 ! 蔓 置;蜘一曼旦,! o o c k o u w c 岫1 ) 5 0j 0 一j l 印0 0 叵圈 p 冒c l 口吐氏日盎i y 耵d c 蕾一 c oc l 图3 1 6 设置p l l 输出端口时钟频率 第三章p h 曲线运动控制器a s i c 的设计与实现 p l l 模块构建方法与f i f o 存储器相同,也是在m e g a w i z a r dp l u g i nm a n g e r 中调用与定制的。设置p l l 的输入时钟频率为4 8 m h z ,选择p l l 的控制信号为锁 相标志输出信号l o c k e d 。在图3 1 6 所示界面设置输出端口c o 的时钟频率为4 8 m h z , 选择时钟相移和占空比为默认值。 p l l 所提供的4 8 m h z 时钟频率供n i o si i 处理器和片# f s d r a m 存储器使用。 c y c l o n e 系歹i j f p g a 的p l l 最低仅提供1 5 5 m h z 的时钟频率,因此设置p l l 端v l c l 的 输出时钟频率为2 0 m h z ,再将时钟信号c 1 通过一个分频器。分频器的分频系数由 进给速度决定。n i o si i 处理器获取了用户输入的进给速度后,计算出相对应的分频 系数,并将其传递给分频器。分频器根据分频系数将时钟信号c 1 分频后供f i f o 和 精插补模块使用以满足进给速度的需要。为了降低系统硬件架构的复杂度,同样 频率的时钟信号也供给手动控制模块、数据写入f i f o 控制模块使用。 分频器功能仿真波形如图3 一1 7 所j 。从图中i 叮以看到,该分频器能够实现2 0 0 0 0 分频功能。功能仿真符合预期要求。 晗 a 荚 叹 * m 蜘l i m e b a c 厂_ 而m p o k 崦 2 3 r 4 3 mi n k c v , # i 2 2 3 4 3 m s i a r t e n d y d n t - o 1 0 0 ” 口0c l k 0 诊1c 1 如 0 9 2田e o x l i n t 【 】 1 4 0 0n i2 8 00n s3 2 00n s 3 8 00rt$4000rt$4400n s i 一j i 3 4 4 数据写入fif o 控制模块 为了保证n i o si i 处理器发送的某一个粗插补数据不被重复写入f i f o 中,因而 设计了数据写入f i f o 控制模块。该模块有2 个,分别用于控制x 轴、y 轴粗插补数据 写入x f i f o 、y f i f o 。对于同一个粗插补数据,该模块通过控制相应f i f o 的使能端 使这个数据只能被写入f i f o 一次。 数据写入f i f o 控制模块与n i o si i 处理器连接电路如图3 18 所示。时钟信号输入 端e l c l k 与分频器相连,模块所使用的时钟频率与p l l 模块相同。2 个模块的c l e a r 均 为清零信号输入端口,分别与处理器相应的信号输出端口相连。2 个模块的w r 0 均 4 5 山东大学硕一i :学位论文 为数据写入使能信号输入端口,都与处理器同一个信号输出端e l w r s i g 相连( 图中 未显示) 。w r l 、w r 2 分别为x 轴、y 轴粗插补数据写入f i f o 的使能信号输出端口。 图3 1 8 数据写入f i f o 控制模块与n i o si i 处理器连接电路图 数据写入f i f o 控制模块功能仿真波形如图3 1 9 所示。图中大椭圆内时间段为 一个n i o sl i 处理器发送粗插补数据周期。在每个发送数据周期内,当f i f o 写使能 信号w r l 为l 时,图中小椭圆内时间段内仅允许有一个时钟c l l 【上升沿信号以供将粗 插补数据写入f i f o 中,这样可以有效防止同一个数据被重复写入f i f o 中。 y 1 u , p s 9m9mt 2 0 p 螂瑚p 眦p z 4 0 o ” - 】p s 0p s l 移。国e a t o : 【o j工【】x 【2 】i】x 【i 】x ( 2 】x+ 】i 【l lx 2 1 x【盯 一口 d 0 叼越。r r 几nr r r 门门n t t o- 巾- 0 ;q 一:j p ; :i :i i! l i 口1 i- r i 0 静 蚁 ljl广 t ,1 26 i 止 o n i 发送粗插补 & 事 数据周期 图3 - 1 9 数据写入f i f o i j 空制模块功能仿真波形图 当n i o sl i 处理器完成本次粗插补运算后,将写允许信号w r 0 置为1 并发送本次 粗插补数据。数据写入f i f o 控制模块接收到w r o 信号后,仅在最近的下个时钟周期 内将信号w r l 置为l ,令处理器刚发送的数据只能被写入f m o 一次。当写入操作完 毕后,模块向处理器发送写操作完成信号f i n i s h ( 高电平有效) 。处理器接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022年中级经济师考试《财政税收专业知识与实务》真题及解析
- 小学足球基础知识
- 艺术涂料施工流程
- 胎盘处理制度及流程
- 苏宁易购仓储管理现状分析
- 2025年小学英语毕业模拟试卷:英语短剧表演脚本编写与台词修改技巧试题
- 2025年护士执业资格考试题库-基础护理学案例分析试题集
- 2025年消防执业资格考试题库:消防燃烧学基础知识与应用习题解析与答案
- 2025年小学英语毕业考试模拟卷:英语翻译技巧与语法突破试题
- 2025年滑雪教练职业技能测试卷:模拟教学情景题解析
- 人教版五年级数学下册全册教案含教学反思
- 2025年园林绿化工(高级)考试题库及答案
- 2024春四年级上下册音乐测试专项测试题及答案
- 多发伤骨折护理查房
- 沙特阿拉伯2030年愿景
- 2023年软件评测师《基础知识》考试题库(浓缩500题)
- 中建预制构件吊装安全专项施工方案
- 《马化腾创业经历》课件
- 2023年湖北省生态环保有限公司招聘笔试真题
- 2023年新疆事业单位开展招聘考试真题
- 学校班主任谈心制度实施方案
评论
0/150
提交评论