基于FPGA的脉冲发生器的设计
- 格式:pdf
- 大小:138.13 KB
- 文档页数:6
单位代码:10359学号:2015110906 密级:公开分类号:TN78Hefei University of Technology 硕士学位论文MASTER’S DISSERTATION(学术硕士)论文题目:基于FPGA的高速可编程的脉冲信号发生器的设计学科专业:微电子学与固体电子学作者姓名:田宇导师姓名:徐南阳教授完成时间:2018年3月合肥工业大学学历硕士学位论文基于FPGA的高速可编程的脉冲信号发生器的设计作者姓名:田宇指导教师:徐南阳教授学科专业:微电子学与固体电子学研究方向:量子信息与量子计算2018年03月A Dissertation Submitted for the Degree of MasterDesign of High Speed Programmable Pulse GeneratorBased on FPGAByTian YuHefei University of TechnologyHefei, Anhui, P.R.ChinaMarch,2018本论文是在导师徐南阳教授的指导下完成的。
时光飞逝,短暂的三年硕士研究生生活即将迎来尾声,内心十分感慨。
在这三年的光阴里,我得到了无数来自老师和实验室师弟妹的关心与帮助,在论文完成之际,我对实验室所有的师生表示感谢。
首先我要感谢我的导师徐南阳老师。
三年研究所学习生涯里,徐南阳老师幽默风趣的生活作风和严谨刻苦的科研态度,深深地影响了我。
徐老师对不同领域知识涉猎广泛,眼界开阔,使我深刻感觉到了学无止境、志存高远的精神。
徐老师平日里学术上的教导和生活中的教诲,教会了我待人处世的道理,使我受益终身。
其次,我要感谢实验室的陈老师与耿老师。
陈老师在科研教学繁忙之余,经常关心督促我的学业,并不厌其烦地为我解答学业上的疑惑;耿老师年龄与我相近,他刻苦钻研的科研精神和灵敏开阔的思维,使我不断充满旺盛的学习热情,感谢两位老师。
我还要感谢实验室的师弟妹们,宋雨萌,邢腾腾,郑子贤,施赛烽,周飞飞。
可编程单脉冲发生器设计可编程单脉冲发生器是一种脉冲宽度可编程的信号发生器,其输出为TTL 电平。
在输入按键的控制下,产生单次的脉冲,脉冲的宽度由8位的输入数据控制(以下称之为脉宽参数)。
由于是8位的脉宽参数,故可以产生255种宽度的单次脉冲。
在目标板上,I0~I7用作脉宽参数输入,PULSE_OUT用做可编程单脉冲输出,而KEY和/RB作为启动键和复位键。
图3示出了可编程单脉冲发生器的电路图。
图3 可编程单脉冲发生器的电路图8.3.1 由系统功能描述时序关系可编程单脉冲发生器的操作过程是:(1) 预置脉宽参数。
(2) 按下复位键,初始化系统。
(3) 按下启动键,发出单脉冲。
以上三步可用三个按键来完成。
但是,由于目标板已确定,故考虑在复位键按下后,经过延时自动产生预置脉宽参数的动作。
这一过程可用图4的时序来描述。
图4 可编程单脉冲发生器的时序图图中的/RB为系统复位脉冲,在其之后自动产生LOAD脉冲,装载脉宽参数N。
之后,等待按下/KEY键。
/KEY键按下后,单脉冲P_PULSE便输出。
在此,应注意到:/KEY的按下是与系统时钟CLK不同步的,不加处理将会影响单脉冲P_PULSE的精度。
为此,在/KEY按下期间,产生脉冲P1,它的上跳沿与时钟取得同步。
之后,在脉宽参数的控制下,使计数单元开始计数。
当达到预定时间后,再产生一个与时钟同步的脉冲P2。
由P1和P2就可以算出单脉冲的宽度Tw。
8.3.2 流程图的设计根据时序关系,可以做出图5所示的流程图。
在系统复位后,经一定的延时产生一个预置脉冲LOAD,用来预置脉宽参数。
应该注意:复位脉冲不能用来同时预置,要在其之后再次产生一个脉冲来预置脉宽参数。
为了产生单次的脉冲,必须考虑到在按键KEY有效后,可能会保持较长的时间,也可能会产生多个尖脉冲。
因此,需要设计一种功能,使得当检测到KE Y有效后就封锁KEY的再次输入,直到系统复位。
这是本设计的一个关键所在。
敬请登录网站在线投稿(t o u g a o.m e s n e t.c o m.c n)2021年第2期79F PG A的数字脉冲延时发生器设计陈泽洋(天津大学理学院,天津300072)摘要:本文主要介绍了一种数字式脉冲延时发生器的设计方法,该方案是基于A l t e r a(被I n t e l收购)的C y c l o n e I V系列F P G A实现的,为了同时满足高延时分辨率与大的可调范围,采用了粗细结合的延时方法,粗延时通过计数器法实现,细延时通过A D9501专用延时芯片实现;为了让用户与系统进行通信,在F P G A内部构建了N i o s I I软核处理器,并且编写软件程序实现人机交互㊂对系统的关键模块进行了仿真,仿真结果显示模块设计符合需求,最终延时系统可以实现精度为16.5p s㊁可调范围约为1.1s的延时㊂关键词:F P G A;A D9501;延脉冲发生时器;N i o s I I中图分类号:T N7文献标识码:AD e s i g n o f D i g i t a l P u l s e D e l a y G e n e r a t o r B a s e d o n F P G AC h e n Z e y a n g(S c h o o l o f S c i e n c e,T i a n j i n U n i v e r s i t y,T i a n j i n300072,C h i n a)A b s t r a c t:I n t h e p a p e r,a d e s i g n m e t h o d o f d i g i t a l p u l s e d e l a y g e n e r a t o r i s d e s i g n e d,w h i c h i s b a s e d o n A l t e r a's c y c l o n e I V s e r i e s F P G A.I n o r d e r t o m e e t t h e r e q u i r e m e n t s o f h i g h d e l a y r e s o l u t i o n a n d l a r g e a d j u s t a b l e r a n g e,c o m b i n e t h e c o a r s e d e l a y a n d f i n e d e l a y,t h e c o a r s e d e-l a y i s r e a l i z e d b y c o u n t e r m e t h o d,a n d t h e f i n e d e l a y i s r e a l i z e d b y A D9501s p e c i a l d e l a y c h i p.I n o r d e r t o e n a b l e u s e r s t o c o mm u n i c a t e w i t h t h e s y s t e m,N i o s I I s o f t c o r e p r o c e s s o r i s b u i l t i n F P G A,a n d s o f t w a r e p r o g r a m i s w r i t t e n t o r e a l i z e h u m a n-c o m p u t e r i n t e r a c t i o n.T h e k e y m o d u l e s o f t h e s y s t e m a r e s i m u l a t e d,a n d t h e s i m u l a t i o n r e s u l t s s h o w t h a t t h e m o d u l e d e s i g n m e e t s t h e r e q u i r e m e n t s.T h e f i n a l d e l a y s y s t e m c a n a c h i e v e a d e l a y a c c u r a c y o f16.5p s a n d a d y n a m i c r a n g e o f1.1s.K e y w o r d s:F P G A;A D9501;p u l s e d e l a y g e n e r a t o r;N i o s I I0引言脉冲延时发生器作为一种时序同步装置在激光系统[1-2]㊁雷达系统[3]㊁飞行时间质谱仪[4-5]等领域应用广泛,它可以对触发信号进行延时后输出脉冲信号,用户可以设定延时的大小㊂延时的分辨率与延时的可调范围是衡量其性能的两个重要参数,可以实现脉冲延时的方法有计数器法㊁存储器法[6]㊁专用延时芯片[7]等方法㊂计数器法与存储器法可以实现可调范围比较大的延时,不过延时精度由于受到时钟频率的限制只能做到纳秒量级,专用延时芯片法的延时精度可以做到皮秒量级,不过可调范围在微秒量级㊂F P G A是一种可编程逻辑器件,用户可以通过V e r i l o g H D L等设计文件在F P G A内部设计所需要的逻辑电路,与A S I C相比具有设计周期短㊁设计灵活等优点㊂本文介绍的延时脉冲发生器以A l t e r a(被I n t e l收购)的C y c l o n e I V系列F P G A为核心,采用粗细结合的延时方案,并且利用N i o s I I软核处理器用于系统控制,实现了脉冲延时发生器的设计㊂1基于F P G A的脉冲延时发生器整体设计延时系统的工作模式分为内触发模式与外触发模式㊂系统的设计框图如图1所示㊂工作在内触发模式时,触发信号由系统内部产生,用户可以设定触发信号的频率大小㊂工作在外触发模式时,触发信号由外部提供㊂整个延时系统的延时由粗延时部分和细延时部分组成,粗延时利用计数器法实现㊂计数器法的延时分辨率由采样时钟决定,本系统的采样时钟通过将外部50MH z晶振倍频得到,最终倍频数由系统能运行的最大时钟频率决定㊂细延时是利用A D9501实现的,A D9501通过8位控制字对单位粗延时进一步细分,得到16.5p s延时分辨率㊂P C机通过C P2102串口桥接芯片将设定的延时信息发送给N i o s I I软核处理器,延时信息包含用户设定的粗延时以及细延时,N i o s I I将粗延时信息经由P I O I P核传递到粗延时模块,细延时信息被转换成8位控制字,输出80M i c r o c o n t r o l l e r s &E m b e d d e d S ys t e m s 2021年第2期w w w .m e s n e t .c o m .c n图1 脉冲延时发生器的整体设计框图到A D 9501对其细延时进行控制㊂触发信号依次经过粗延时模块与A D 9501模块最终实现脉冲延时㊂其中内触发源模块㊁粗延时模块㊁N i o s I I 模块是在一块F P G A 内部㊂2 内触发源模块设计内触发源模块的作用是在内触发模式下提供触发信号㊂该模块的时序图如图2所示㊂图2 内触发源模块时序图c l k 为输入模块的时钟信号,d i v 为用户设定的分频数,c o u n t e r 为对时钟信号进行计数的计数器,o u t p u t 为最终输出的触发信号㊂当时钟信号到来时,启动计数器对时钟信号进行计数㊂当计数器计数的值等于d i v 时,将输出信号取反,同时计数器置零;当计数器的值不等于分频数时,输出保持不变,计数器持续对时钟信号进行计数㊂用户通过设置d i v 的值改变计数器的计数值,进而控制输出信号的跳变,从而达到对时钟信号进行分频的目的㊂3 粗延时模块设计粗延时模块负责对外部触发信号进行粗略延时,然后将延时后的脉冲输出到A D 9501进行细延时㊂该模块由输入时钟信号c l k ㊁触发信号t r i ㊁两个计数器p u l s e 1和pu l s e 2㊁两个计数器c o u n t e r 1和c o u n t e r 2组成㊂A D 9501的内部有一个斜波发生器,每次触发信号到来之后斜波发生器电压从0开始上升,当斜波发生器电压值与D A C 设定值相等时,拉高延时输出引脚电平,该斜波电压的置零是通过复位引脚实现的,拉复位引脚时,斜波发生器进行复位,如果不对其进行复位,则当下一个脉冲到来时,斜波发生器的电压是大于D A C 电压的,延时输出一直处于高电平状态,所以不能输出延时脉冲㊂由此可知,粗延时模块应该输出两个脉冲给A D 9501,分别为pu l s e 1和p u l s e 2,一个用于触发细延时,另一个用于将A D 9501斜波发生器置零㊂通过设定p u l s e 1与p u l s e 2之间的时间间隔就可以控制延时脉冲的脉宽大小㊂c o u n t -e r 1和c o u n t e r 2分别是延时计数器和脉宽计数器,通过延时控制字d e l a y 和脉宽控制字w i d t h 控制计数器计数到多少时输出脉冲信号,该模块的时序如图3所示㊂经过实验得知粗延时模块能够运行的最大时钟为240MH z,则粗延时分辨率为1/240MH z =4.2n s ,c o u n t e r 的位数设为28位,则最大延时为4.2n s ˑ228ʈ1.1s㊂图3 粗延时模块时序图4 细延时模块设计细延时模块是以A D 9501为核心实现的,它是在粗延时的分辨率基础上进一步细分实现更高分辨率的延时,A D 9501通过8位控制字对4.2n s 进行细分,则细分后的延时分辨率为4.2n s /28-1=16.5n s ㊂A D 9501的最小延迟(t P D )是触发电路延迟㊁斜坡发生器延迟和比较器延迟的总和㊂触发电路延迟和比较器延迟是固定的,斜坡发生器延迟是受线性斜坡变化率和偏移电压值影响的㊂最大延迟是t P D 和满量程(t D F S )的总和㊂斜坡发生器延迟是斜坡从其重置电压转换到D A C 电压所需的时间,D A C 电压由用户通过数字输入进行编程㊂满量程延迟(t D F S )由电容C e x t 和电阻R s e t 决定,范围为2.5n s ~10μs ,它们的关系如下:t D F S =R s e t ˑ(C e x t +8.5p F )ˑ3.84当满量程延时小于等于326n s 时,接C e x t 的引脚应当悬空;当满量程延时超过326n s 时,C e x t 引脚与电源之间可以最大加500p F 的电容㊂R s e t 的取值范围为50Ω~10k Ω㊂本设计想要实现满量程4.2n s 的延时,R s e t 大小应设置为128Ω,接C e x t 的引脚悬空㊂5 N i o s I I 控制模块设计从经济与系统复杂程度方面考虑,选用N i o s I I 软核处理器来实现P C 机对于系统的控制㊂N i o s I I 需要实现的功能为从P C 接收用户设定的延时值,然后将延时值发送给延时模块㊂利用Q s ys 自带I P 核可以实现加速设计,敬请登录网站在线投稿(t o u ga o .m e s n e t .c o m.c n )2021年第2期81图4 控制模块程序流程图实现数据接收与传输所需添加的主要I P 核有U A R T 与P I O ㊂P C 通过C P 2102将数据发送到U A R T I P 核的读寄存器,U A R T I P 核的r x d a t a寄存器接收到数据,使能读取中断,并将读取的数据在中断服务子程序中赋值给P I O ,就实现了P C 对延时系统的控制,图4为控制模块的程序流程图㊂6 关键模块仿真结果本设计的两个关键模块为内触发源模块与粗延时模块,编写测试文件对两个模块分别进行仿真,内触发源模块的仿真结果如图5所示㊂图5中信号从上到下依次是时钟信号c l k㊁复位信号r s t ㊁分频数d i v ㊁计数器c o u n t e r ㊁输出信号o u t ㊂可以看出,当分频数依次为0㊁1㊁2㊁3时,输出信号o u t 分别经过1个时钟周期㊁2个时钟周期㊁3个时钟周期㊁4个时钟周期发生电平的跳变,因此仿真结果表明,可以通过分频控制字d i v 来控制输出信号的分频数㊂粗延时模块的仿真结果如图6所示㊂图中信号从上到下依次是时钟信号c l k ㊁复位信号r s t ㊁触发信号t r㊁延时计数器c o u n t ㊁脉宽计数器c o u n t 1㊁延时控制字d e l a y㊁脉宽控制字w i d t h ㊁延时脉冲信号p u l s e 1㊁脉宽控制信号pu l s e 2㊂从仿真结果可以看出,当延时控制字为13㊁脉宽控制字为4时,触发信号到来之后的13个时钟信号输出p u l s e 1,pu l s e 1之后4个时钟信号输出p u l s e 2,该模块的设计符合需求㊂图5内触发源模块仿真结果图6 粗延时模块仿真结果7 性能比较将计数器法㊁专用延时芯片法㊁本设计的方法从可调范围㊁延时分辨率㊁功能扩展三个方面进行比较,结果如表1所列㊂表1 三种延时方法比较延时方法可调范围延时分辨率功能扩展计数器法m s ,s 量级n s 量级无法功能扩展专用延时芯片μs 量级ps 量级无法功能扩展本设计s 量级ps 量级便于功能扩展由表1中可知,本设计方法在保持计数器法与专用延时芯片方法优点的同时弥补了两种方法各自的不足,并且基于F P G A 灵活的特点,可以通过设计逻辑电路与编写N i o s I I 软核模块程序进行再次开发,以满足其他系统集成或者功能升级的需求㊂8 结 语目前国内的商用脉冲延时发生器主要依赖国外进口,价格一般在几万元到十几万元不等,价格昂贵并且性价比不高,本设计的脉冲延时发生器在满足高精度与大的可调范围的同时,成本方面也有很大的优势,整个系统制作成本仅为400元左右㊂在当今环境下,自主设计的脉冲延时发生器在商业与科技领域均具有重要意义㊂参考文献[1]蒋军敏,刘进元,刘百玉,等.用于激光打靶装置中的85敬请登录网站在线投稿(t o u ga o .m e s n e t .c o m.c n )2021年第2期85节的非线性特性耗费时间,无论系统的非线性多严重,均能按特定的关系进行转换㊂经数值分析将优化后的数据代入式(1)及联立式(1)和式(7),线性补偿前后物体位移y 和像点位移x 的关系如图6所示㊂y =270192x14216.256-398.32x+e d(8)图6 线性补偿前后物体位移y 和像点位移x 的关系5 结 语本文从反射式激光三角法测量原理公式㊁测量范围㊁分辨率及结构参数优化出发,用工程软件MA T L A B 对系统的各个参数之间的约束关系进行了分析与优化,使得参数优化过程得以简化,同时在实际中可根据器件因素和测量范围的要求不同随时改变,提高了设计的灵活性,降低了设计初期的费用,最后通过数值分析了造成物体位移与像点位移呈非线性的原因,并用线性补偿的方法使物体位移与像点位移线性输出,从而提高了测距传感器线性度与精度,降低了系统误差,实现了高精度大位移的测量㊂参考文献[1]王晓嘉,高隽,王磊.激光三角法综述[J ].仪器仪表学报,2004(S 2):601604,608.[2]L a r s L i n d n e r ,O l e g S e r g i y e n k o ,J u l i o C R o d r ígu e z Q u i ño n e z ,e t a l .M o b i l e r o b o t v i s i o n s y s t e m u s i n g c o n t i n u o u s l a s e r s c a n n i n gf o r i n d u s t r i a l a p pl i c a t i o n [J ].T h e I n d u s t r i a l R o b o t ,2016,43(4):360369.[3]S u Z h i q i ,H e Q i n g,X i e Z h i .I n d i r e c t m e a s u r e m e n t o f m o l t e n s t e e l l e v e l i n t u n d i s h b a s e d o n l a s e r t r i a n g u l a t i o n [J ].T h e R e -v i e w o f s c i e n t i f i c i n s t r u m e n t s ,2016,87(3):035117.[4]宋腾,张凤生,任锦霞.直射式激光位移传感器光束入射角对测量精度的影响[J ].机械,2017,44(2):3741.[5]Z h u a n g B H.N o n c o n t a c t m e a s u r e m e n t o f s c r a t c h o n a i r c r a f t s k i n s [J ].A p p l i e d l a s e r ,1997(2):4936.[6]任伟明,孙培懋,王亚雷,等.一种标定三角测量法激光位移计的方法[J ].光学技术,1997(3):1113,16.[7]赵景海,孙飞显.基于残差补偿的激光位移传感器测距方法[J ].计算机工程,2018,44(10):298302.[8]曹红超,陈磊,王波,等.一种改进型高精度激光三角位移传感器的结构设计研究[J ].激光杂志,2007(6):1415.[9]X u e l i H a o ,A i m i n S h a ,Z h a o yu n S u n ,e t a l .L a s e r b a s e d m e a s u r i n g m e t h o d f o r m e a n j o i n t f a u l t i n g va l u e o f c o n c r e t e p a v e m e n t [J ].O p t i k I n t e r n a t i o n a l J o u r n a l f o r L i gh t a n d E -l e c t r o n O pt i c s ,2016,127(1):274278.[10]胡纪五,史雪飞.仪表线性化优化设计[J ].电测与仪表,2000(2):58.[11]卢治功,贺鹏,职连杰,等.基于最小二乘法多项式拟合三角测量模型研究[J ].应用光学,2019,40(5):853858.[12]姜庆胜,计时鸣,张利.基于计算机视觉的机械零件平面曲线检测和识别研究[J ].机电工程,2005(7):47.樊鹏辉(硕士研究生),主要研究方向为传感器技术;杨光永(副教授),主要研究方向为传感器技术㊁机器人技术;程满(硕士研究生),主要研究方向为A G V 路径规划;刘叶(硕士研究生),主要研究方向为电机控制;徐天奇(教授),主要研究方向为传感器技术㊁自动化㊂(责任编辑:薛士然 收稿日期:2020-09-11) 新型同步系统的研究[J ].光子学报,2002(3):381383.[2]D T i a n ,G Y a n g .D e s i g n a n d d e v e l o p m e n t o f a m i n i a t u r e d i gi t a l d e l a y g e n e r a t o r f o r l a s e r i n d u c e d b r e a k d o w n s p e c t r o s c o p y[J ].I n s t r u m e n t a t i o n s c i e n c e &t e c h n o l o g y,2015(43):115124.[3]S Z h a o l i n ,L N a n ,W Y i n a n .H i g h r e s o l u t i o n p r o gr a mm a b l e d i g i t a l d e l a y g e n e r a t o r d e s i gn a n d r e a l i z a t i o n [C ]//2010I n -t e r n a t i o n a l C o n f e r e n c e o n I n t e l l i g e n t S y s t e m D e s i gn a n d E n -g i n e e r i n g A p p l i c a t i o n I E E E C o m p u t e r S o c i e t y,2010.[4]C L F e n g ,L G a o ,J H L i u .L a s e r m a s s s p e c t r o m e t r yf o r o n -l i n e d i ag n o s i s o f r e a c t i v e p l a s m a s w i th m a n y s p e ci e s [J ].R e -v i e w o f S c i e n t i f i c I n s t r u m e n t s ,2011(6):261434.[5]S V K o v t o u n ,R D E n gl i s h ,R J C o t t e r .M a s s c o r r e l a t e d a c c e l -e r a t i o n i n a r e f l e c t r o n MA L D I T O F m a s s s pe c t r o m e t e r :A n a p p r o a c hf o r e n h a n c e d r e s o l u t i o n o v e r a b r o a d m a s s r a ng e [J ].J o u r n a l o f th e A m e ri c a n S o c i e t y f o r M a s s S p e c t r o m e t r y,2002(13):135143.[6]邱有刚,黄建国,李力.基于F P G A 数字延迟单元的实现和比较[J ].电子测量技术,2011,34(9):6568.[7]马艳喜.数字延时器A D 9501的性能及其应用[J ].电子元器件应用,2002,4(11):2728.陈泽洋,主要研究方向为快点子学与离子光学㊂(责任编辑:薛士然 收稿日期:2020-08-19)。
一种基于FPGA随机脉冲信号发生器的研制的开题报告题目:一种基于FPGA随机脉冲信号发生器的研制研究背景:随着现代电子技术的快速发展,各种电子设备的应用越来越普及。
在电子设备的测试和故障诊断过程中,经常需要使用到各种类型的信号发生器。
随机脉冲信号发生器作为一种新兴的信号发生器,可以在测试和故障诊断过程中发挥重要作用。
然而,目前市面上的随机脉冲信号发生器价格昂贵,且功能单一。
因此,基于FPGA的随机脉冲信号发生器具有很大的应用前景。
研究内容和目的:本研究旨在开发一种基于FPGA的随机脉冲信号发生器,具有高性能和较低的成本。
通过利用FPGA的硬件资源,实现多通道、高频率和高精度的随机脉冲发生,并且能够实现用户自定义的随机脉冲信号。
研究方法和技术路线:1.系统设计和功能分析:根据需求和功能要求,设计FPGA的硬件平台,并分析随机脉冲信号发生器的基本功能。
2.信号生成算法及存储器设计:利用ASIC语言实现随机脉冲信号生成算法,并实现高速和大容量的存储器,储存信号生成算法生成的随机脉冲信号。
3.FPGA控制器设计:基于FPGA控制器实现信号生成算法和存储器的搭配。
将储存在存储器中的随机脉冲信号提取,并将其转换为模拟电压信号,然后输出到外部电路中。
4.系统测试和结果分析:对所设计的随机脉冲信号发生器进行性能测试,并对测试结果进行分析和评估。
预期成果及意义:随机脉冲信号发生器是电子测试与故障诊断中的重要设备。
本研究成功开发的基于FPGA随机脉冲信号发生器具有多通道、高频率、高精度、用户定义等特点,可广泛应用于电子测试与故障诊断中,并为电子设备的研究和应用提供了更为便捷和经济的解决方案。
一、设计报告:1.技术规:在clr的控制下置入脉宽data,在输入按键key的控制下,产生单次的脉冲pulse,脉冲的宽度由data 8位的输入数据控制(以下称之为脉宽参数)。
clk_50M为系统的时钟。
2.总体设计方案:①系统功能描述:(1)分频模块:输入为总的时钟50M,经过分频以后变为100HZ。
(2)延时模块:当clk为高电平且在复位脉冲clr有效时置入延时脉宽,延时5个始终周期后输出一个高电平load 。
(3)计数模块:脉宽参数端data接受8位的数据,经数据预置端clr装载脉宽参数,在计数允许端有效后便开始计数。
该计数器设计成为减法计数的模式,当其计数到0时,输出端pulse由高电平变为低电平。
便可得到单脉冲的输出。
②系统功能描述时序关系:可编程单脉冲发生器的操作过程是:(1) 预置脉宽参数。
(2) 按下复位键,初始化系统。
(3) 按下启动键,发出单脉冲。
以上三步可用三个按键来完成。
但是,由于目标板已确定,故考虑在复位键按下后,经过延时自动产生预置脉宽参数的动作。
输出的信号加到灯上,输如的脉宽有开发版上的拨码开关决定,当输入脉宽后,按下复位键置入脉宽,然后按下启动键,发出单脉冲,延时一段时间后灯开始亮,亮一段时间后灯熄灭。
延时模块的时序图如下:clkclrload3.流程图的设计:根据时序关系,可以做出图所示的流程图。
在系统复位后,经一定的延时产生一个预置脉冲load,用来预置脉宽参数。
当按键key有效后产生脉冲pulse。
二、验证方案:1.验证方案的设计:①分频模块的设计:分频模块的代码:module div(clk_50M,clk);//模块名及端口的定义,到endmodule。
input clk_50M;//输入端口的定义。
output clk;//输出端口的定义。
reg [31:0] a=32‘d0;//定义部寄存器并赋初值。
reg clk=0;//给输出赋初值。
always(posedge clk_50M)beginif(a==32'd500000)//判断计数器是不是记到了500000begina<=32'd0;// 计数器记到了500000清零。
1 引言要求改变脉冲周期和输出脉冲个数的脉冲输出电路模块在许多工业领域都有运用。
采用数字器件设计周期和输出个数可调节的脉冲发生模块是方便可行的。
为了使之具有高速、灵活的优点,本文采用Atelra公司的可编程芯片FPGA设计了一款周期和输出个数可变的脉冲发生器。
经过板级调试获得良好的运行效果。
2 总体设计思路脉冲的周期由高电平持续时间与低电平持续时间共同构成,为了改变周期,采用两个计数器来分别控制高电平持续时间和低电平持续时间。
计数器采用可并行加载初始值的N位减法计数器。
设定:当要求的高电平时间以初始值加载到第一个减法器中后,减法器开始减计数,计数到零时自动停止,同时启动第二个记录低电平持续时间的计数器计时。
当第二个减法计数器也减计到零时,计数器自动停止。
这样就完成一个脉冲的输出,而这个脉冲的周期控制完全可以在计数器的初始值中进行有效的设定.以达到脉冲周期可调的目的。
为了控制脉冲个数的输出,在脉冲输出通道上设计一个数量控制计数器,对脉冲个数进行计数,当计到要求输出的个数时.完成输出并给出一个done信号作为该模块工作完成的标志信号。
封装好的脉冲发生器设计框图如图l所示。
引脚信号说明:start信号:启动信号。
reset,信号:系统复位信号。
clock信号:系统时钟信号。
high信号:高电平持续时间初值。
low信号:低电平持续时间初值。
num信号:个数控制寄存器初始值。
output信号:脉冲输出信号。
初始化时为低。
done信号:脉冲输出完的标志信号。
3 高低电平计时器设计3.1 设计方法为了产生所需要时间的高电平,可以利用一个可预置数的减法计数器来达到目的,计数器设计分为两个部分,一部分是可预置数的自控制减法计数器:另一部分是减法计数器工作完成后的检测计数器工作完成后输出一个时钟周期宽的脉冲作为该计数器工作完成信号,并可作为下一个计数器工作的启动信号。
原理框图如图2所示。
3.2 工作原理首先.外部的复位信号reset给出一个时钟周期宽的脉冲,复位内部各个信号及触发器。
基于FPGA的时序脉冲发生器设计颜丽;王伟【摘要】In the design of realization to the timing pulse generator, field programmable gate array was used to change the traditional methods of design, and made modifying and debugging hardware more facilitate. The working principle of a standard binary counter formed timing pulse generator was analyzed comprehensively, the improving method was take to eliminate the predominance of "competition - adventure" produce by the standard binary counter formed timing pulse generator, Johnson counter was used as the counter of a timing pulse generator counter, and used of the SR function method further simplify the circuit, thereby timing pulse interference presents a method to eliminate reasonable. The reasonable method to eliminate the "competition - adventure"interference of timing pulse was taken.%本文在实现时序脉冲发生器的设计中,利用现场可编程门阵列改变了传统设计方法,进一步方便了对硬件的修改与调试。
【基础・应用】基于FP GA 的脉冲发生器的设计①张 涛(北方交通大学电子信息工程学院,北京100044)【摘 要】 以脉冲发生器为研究对象,介绍了脉冲发生器的基本原理、硬件构成和实现方法,阐述了一种基于DSP -FP G A 数字系统的PWM 控制脉冲生成方法,并给出了仿真及实测实验结果。
【关键词】 脉宽调制;脉冲发生器;可编程门阵列1 FP G A 简介FP G A (Field Programmable G ate Array ,可编程门阵列)是美国Xinlinx 公司推出的一种采用单元型结构的新型PLD 器件。
它采用CMOS 、SRAM 工艺制作,在结构上与阵列型PLD 不同,它的内部由许多独立的可编程逻辑单元构成,各逻辑单元之间可以灵活地相互连接,具有密度高、速度快、编程灵活和可重新配置等诸多优点。
FP G A 已成为当前主流的PLD 器件之一。
1.1 PLD 的主要特点(1)缩短研制周期。
(2)降低设计成本。
用PLD 来设计和改造电子产品可以大幅度地减少印制板的面积和接插件,降低装配和调试费用。
(3)提高设计灵活性和可靠性。
大量分立式元器件在向印制板上装配时,往往会发生由于虚焊或接触率近似于线性增加,且线性斜率较小;肝脏中大小不同的散射源对不同频率的声波存在有不同的散射效应。
由于肝脏组织结构的非均匀性、复杂性及其各部分散射相关长度分布的不一致性,其散射谱随深度增加而衰减变化,并非完全呈线性关系,而呈现较复杂的关系变化。
⑵肝叶边缘部分及表层区域,其结构散射近似呈瑞利散射特征;肝叶表层以下与肝叶中心之间的中间区域,其结构散射呈随机散射特征;肝叶中心区域,其结构散射呈扩散漫射特征,也有较强的反射。
⑶利用区域结构散射特征谱,不仅可对各特征区域组织微结构作出粗略估计,而且可通过区域散射谱特征的变化,对生物软组织的生理病理变化的判断提供依据。
综上所述,利用超声散射谱分析,可为B 超的形态学图像信息诊断提供一个组织特征的信息,在临床上是有应用前景的。
参考文献[1]Luigi Landini et al.IEEE Trans on U FFC.1990,37(5):448-456[2]陈启敏等.声学学报.1995,Vol.21,No.4:692-699[3]E.J.Feleppa ,et al.IEEE Annual International Conference ,EMB ,1990;12(1):337(责任编辑:常 平)2003年4月第19卷第2期 武警工程学院学报JOURNAL OF EN GG COLL EGE OF ARMED POL ICE FORCE Apr.2003Vol.19No.2①收稿日期:2002-12-06作者简介:张涛(1968.07-),1994年毕业于西安交通大学工业电器自动化专业,现在北方交通大学电子信息工程学院电子与信息工程专业攻读硕士学位。
不良而造成的故障,并且这种故障常常难以发现,给调试和维修带来极大的困难。
因此,采用PLD 之后,系统的可靠性会大大提高。
(4)提高产品的保密程度和竞争能力。
(5)降低电子产品的功耗。
由于PLD 内部电路尺寸很小、互连线短、分布电容小,驱动电路所需的功耗就大大降低;另外,由于芯片内部受外界的干扰很小,所以可以采用较小的工作电压以降低功耗。
1.2 EPM7128芯片简介EPM7128S 是Altera 公司MAX7000S 系列较早支持在系统编程(In System Programmable ,ISP )的产品,MAX7000S 器件的特点主要有以下几点:◇采用第二代多阵列矩阵(MAX )结构;◇器件的规模在600到5000个可用门之间;◇引脚到引脚之间的延时为6ns ,工作频率可达15115MHz ;◇工作电压为5V ,支持在系统编程(ISP );◇可编程功率节省模式下工作,每个宏单元的功耗可降到原来的50%或更低;◇高性能的可编程连线阵列(PIA )提供一个高速的、延时可预测的互连线资源;◇每个宏单元中的可编程扩展乘积项(P -Terms )可达32个;◇具有可编程加密位,可对芯片内的设计加密。
EPM7128S 属于高密度、高性能的CMOS EPLD 器件,宏单元数为128,封装形式为PLCC ,I/O 引脚数为68、84、100。
2 由EPM7128S 构成PWM 触发器的设计2.1 基于FP G A 的脉冲发生器连接简图(如图1)图1 基于FPG A 的数字控制系统控制系统由DSP 和FPG A 构成,DSP 完成采样及控制计算,FPG A 负责完成PWM 波形的产生。
DSP 在完成控制计算后,定时刷新各相上IG BT 的触发脉冲宽度,并送到FPG A ;FPG A 存储DSP 最新的脉冲宽度,发出图2 FPG A 等效的模块PWM 波形,其工作不受DSP 的影响。
FPG A 等效的模块见图2。
D0~D7为8位数据输入端口,CS 、WR 分别为片选和写允许端口(低电平有效),AP 、BP 、CP 为A 、B 和C 相的同步信号输入端口,S1~S6分别是IG B T1~IB TB6的触发脉冲输出端。
如何根据给定的起始与终止时刻来形成实际脉冲,以控制其中IG 2B T 的正常开通与关断,这就是FP G A 所需要做的工作了。
当DSP 将脉冲时间计算出来后,由FP G A 芯片———EPM7128S 配合完成脉冲的最终产生。
2.2 FP G A 各单元的功能说明及实现方法(1)同步信号处理单元触发脉冲同步信号的选取,应采用系统电压的基波正序分量作为同步信号,并经过同步信号处理电路得到同步电压过零信号,在各相的过零信号出现时刻,以此为基准,开始发出相应的PWM 波形。
同步信号处理电路还应具有滤除干扰信号的功能。
与同步信号AP 相关的内部标志寄存器有R 和Q 。
寄存器Q 为区别正半周期和负半周期的标志位,Q 武警工程学院学报 2003年第2期图3 基于FPG A 的脉冲发生器的原理示意图=1表示为正半周,Q =0表示为负半周。
寄存器R 为新的周期开始的标志位,当开始一个新的周期时,R 发出一个时钟周期的高电平,基本波形发生单元据此上升沿重新开始从A0发出PWM 波,保证每一个周期都同步,不会发生误差的积累。
实现思想是:在系统同步时钟的作用下,保存当前同步信号S1的状态,并把它的当前值与前一时钟下同步信号G1相比较,若S1<G1,则同步信号有一个下降沿,此时计数器应置初值并开始计数,若S1=G1,则相邻时钟下同步信号没有变化,是无效的;若S1>G1,说明同步信号有个上升沿,也是无效的,不做处理。
AP 、Q 、R 的波形如图4所示。
图4 AP 、Q 、R 波形图(2)时钟分配单元提供内部时序电路运行的时间基准,进行对外部时钟信号的分频。
基本波形发生单元中的计数器需要的时钟频率可编程设置。
(3)总线接口单元接口单元接收DSP 写入的PWM 脉冲宽度数据,保存在相应的缓冲存储单元中,当完整的脉宽数据都送入后,再由控制存储单元读取,刷新内部波形发生单元读取的数据,产生期望的PWM 波形。
与DSP 的接口单元包括地址锁存、译码、8位数据的写入、写信号处理等功能。
因为PWM 脉冲在前半个周期和后半个周期是完全相同的,只是高低电平反相,又因为在半个周期中脉冲是左右对称的,所以如图5所示,一个完整的五脉冲PWM 波形可用A1、A2、…、A10来描述,实际只要DSP 送A1、A2、A3、A4和A5五个脉宽数据。
图5 PWM 的5脉冲波形(4)缓冲及控制存储单元控制存储单元检测到数据已全部送到缓冲器后(即标志位H 置1),刷新存储器单元,DSP 通过实时刷新A1、A2、…、A10来控制PWM 波形的生成。
数据缓冲区采用由总线接口单元和控制存储单元组成的二级结构,具有如下功能和优点:①保证PWM 波形的完整性,只有DSP 将整组数据A1、A2、…、A10都写入内存后,这一组数据才有效;②对于任意一相PWM 波形,当启动发生后,新的波形刷新数据只在下一个脉冲周期才起作用。
(5)基本波形发生单元张涛:基于FPG A 的脉冲发生器的设计利用8位减法计数器实现对PWM 的脉冲宽度A1、A2、…、A10的计数,产生基本的PWM 调制波形。
寄存器angler 的最高位作为需要超前或滞后的标志位。
angler[7]=1,表示超前的角度为angler [6:0],此时,需要在经过半个周期后(即在AP 的上升沿)进行计数延时,延时完成,发出超前的PWM 波形;angler[7]=0,表示滞后的角度为angler[6:0],此时,需要在新的周期开始时(即在AP 的下降沿)进行延时,延时完成后,发出滞后的PWM 波形。
(6)控制逻辑和死区形成单元从PWM 单元生成的六路脉冲是两两反相的,对于同一桥臂上的两个IG B T 全控器件,有可能出现一个管子已开通,而另一个管子还没有关断的情况,从而导致直流侧短路,使开关管永久损坏。
为避免这种情况的发生,最终用于控制IG B T 的PWM 脉冲必须加入死区时间。
原理上十分简单,只需要延时开通,保证同一桥上一管开通时,另一管已经完全管断即可,这就需要在脉冲由“0”跃变到“1”时,自动延时一段时间。
死区可编程设定,范围为1us ~127us 。
控制逻辑和死区形成单元作为一个非独立的模块,内嵌在基本波形发生单元中,实现思想是:生成PWM 脉冲的减法计数器在进行减1操作前,把死区时间从中减掉,计数完成后,让同一桥臂上的两个IG B T 都关断,进行死区的计数,死区延时完成后,再接着进行下一个PWM 脉冲的生成。
死区加入前后的PWM 脉冲波形如图6所示。
图6 死区加入后A 相上的两个IG B T 的PWM 波形图(7)脉冲输出逻辑单元可实现PWM 脉冲的分配、脉冲输出、故障情况下脉冲封锁(此功能实际仿真时并没有实现)、开机/停机控制等功能。
3 软件设计仿真图7是用Verilog HDL 编制的完整程序在MAX +PL US Ⅱ软件中的仿真结果。
其中AP为系统电压的图7 仿真波形图同步信号,A T 为地址译码输入端口,DA 为8位数据输入端口;U 为滞后角度的延时时间状态标志寄存器,武警工程学院学报 2003年第2期在延时过程中保持高电平,延时到重新回到低电平;Q 为同步信号到来的标志寄存器,同步信号到来的同时发出一个时钟周期的高电平;SA 为系统电压状态的锁存寄存器;S1、S4为同一相上PWM 波形的输出端口。
仿真参数设置说明:CL K =1MHz ,Tap =1.8ms 。
仿真结果分析:从仿真波形图中可以观测到PWM 脉冲的输出端S1、S2的输出波形符合要求,上下桥臂的触发脉冲反相,并且死区时间明显。