《基于FPGA的高精度脉冲宽度测量.doc》由会员分享,可在线阅读,更多相关《基于FPGA的高精度脉冲宽度测量.doc(21页珍藏版)》请在三一办公上搜索。
1、精选优质文档-倾情为你奉上中南民族大学毕业论文(设计)学院: 电子信息工程学院 专业: 通信工程 年级: 2011 题目: 基于FPGA的高精度脉冲宽度测量 学生姓名: 学号: 指导教师姓名: 职称: 副教授 2015年5月26日专心-专注-专业中南民族大学本科毕业论文(设计)原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 年 月 日 注:本页放在学位论文封面后,目录前面目录基于FPGA的高精度脉冲宽度测量摘要 本
2、次设计采用了基于数字移相技术结合FPGA的脉冲宽度测量方法。即通过FPGA内部锁连环模块的延时功能对时钟信号CLK0进行处理,依次移相900,形成另外三路时钟信号CLK90,CLK180和CLK270,分别使用以上四路时钟信号驱动思路计数器对待测脉冲进行测量。然后在Altera公司的Quartus II 7.2环境下选用Stratix III 系列的EP3SE50F484C2芯片进行设计仿真。首先,利用Quartus II 提供的锁相环模块(PLL)生成四路一次相差900相位的250MHz的时钟信号,然后利用Quartus II 提供的计数模块(COUNTER)产生四个计数模块,分别由计数时钟
3、信号CLK0,CLK90,CLK180和CLK270驱动,在脉冲宽度内进行计数。利用Quartus II 提供的加法器模块(ADD)对四个计数值进行相加,加法器最后输出的数值就是测量得到的脉冲宽度。仿真出的三路信号中,测量误差均在1ns以内,故而测量误差为ns量级,达到设计要求。关键词:脉冲宽度、脉冲计数法、EDA技术、FPGA、Quartus II。Measurement of pulse width based on FPGAAbstractThe design uses a digital phase shift technology combined with the pulse wi
4、dth measurement method of FPGA. The FPGA through internal lock serial module delay function of CLK0 clock signal processing, followed by phase shifting 900, forming three other clock signal CLK90, clk180, and CLK270, respectively, using the above four clock signal driving ideas counter treat the mea
5、sured pulse were measured. Then, the III Quartus series EP3SE50F484C2 Stratix is designed and simulated in the II Altera 7.2 environment. First, using the Quartus II phase-locked loop module (PLL) generation Quad a difference of 900 phase 250MHz clock signal, and then use the Quartus II provides the
6、 counting module (counter) produced four counting module, respectively by the count of the clock signal CLK0, CLK90, clk180, and CLK270 drive, in pulse width were counted. The sum of the last output of the adder is measured by the sum of the II Quartus provided by the adder module (ADD) of the four
7、meter. The error of the three signals is within the 1ns, and the error is of the order of NS, and the design requirements are met.Keywords: pulse width, pulse counting method, EDA technology, FPGA, Quartus II.1、引言随着数字信号处理、计算机、无线电等技术的飞速发展,脉冲技术也随之有着越来越广的应用。无论在军事、航天等高科技领域,还是无线电通信、电视、医疗等民用领域,脉冲技术都在为其提供着
8、强力的支持。而在脉冲技术及其应用领域中,测量是一个不可或缺的环节。测量的数据直接影响到科研以及应用,有效的测量结果应该为相应的研发提供最有力而直接的证据。在脉冲的幅度、周期、上升时间、下降时间、宽度等众多参数中,脉冲宽度这个参数显得尤为重要。如何高效准确的测量脉冲宽度已经日益被科研人员们提上日程。在本文中,作者将介绍利用FPGA以及EDA技术精确测量脉冲宽度的方法。2、 脉冲及脉冲参数测量的理论与定义2.1 脉冲的简单定义脉冲即一种电压或者电流的短暂冲击。它与一般常见的正弦波的区别在于不是连续波形而是断续波形。即在时间轴上两个信号波形之间存在有零或常量电压或者电流的间隔。2.2 脉冲参数的简单
9、定义当给脉冲下了定义后,并未说明脉冲的形状和它的特征,为了表达脉冲波形和特征,下面针对矩形脉冲给出一些参数。 图2-1 理想的矩形脉冲 图2-2 现实的矩形脉冲图2-1为理想的矩形脉冲。图2-2是现实的矩形脉冲波形,它与理想脉冲之间存在一定的差异,可以认为是梯形脉冲。下面分别对图2-3中的非理想矩形脉冲各参数加以叙述。脉冲幅度:指脉冲底值和顶值这两个量值之间的差值。如图2-4中的A。脉冲上升时间(前沿过度时间):指脉冲幅度从10%上升到90%的这段时间。脉冲下降时间(后沿过度时间):指脉冲幅度从90%下降到10%的这段时间。脉冲宽度:指脉冲宽度为50%的两点对应的时间间隔,如图2-4中所示的。
10、2.3 脉冲宽度测量的背景及实际意义在上一节里介绍的众多脉冲参数中,脉冲宽度显得尤为重要,也是本论文讨论与研究的主要内容,下面将来给脉宽测量的背景及实际意义做个简单介绍。在当今数字信息时代,脉冲宽度测量是计算机、通讯设备、音频视频等科研生产领域不可或缺的一项技术手段。脉宽的计算依赖于周期,周期是频率的倒数,而频率又是电子技术领域永恒的话题,为了得到性能更好的电子系统,科研人员在不断地研究着频率,CPU就是用频率的高低来评价其性能的好坏,可见频率在电子系统的重要性。因而对脉冲宽度的测量方法、效率等要求也日益提高。特别是在当前,半导体工艺水平已经达到亚微米量级,芯片集成高达千兆位,时钟频率也在向着
11、千兆赫兹以上发展,数据传输位数达到每秒几十亿次,对时间和脉宽的测量精度也提出了更高的要求,需要更高准确度的时频基准和更精密的测量技术。在21世纪,脉宽测量仪的发展非常快,主要研究方向是改进、创造新的测量原理、方法和仪器,以便以更高的精度和速度自动进行测量和数据处理,并想多功能、小型化、高性价比的方向发展。不论从我们用的彩色电视机、电冰箱、DVD等都包含时间与脉宽的测量。现在时间与脉宽的测量已是向数字智能方向发展,即可以很精确的读数也精巧易于控制。而且脉冲宽度测量仪已经使用在很多方面,数字卫星、数字通讯等高科技领域也都有应用,今天数字脉冲宽度测量仪的发展已经不是一个小电子产品的发展也是整个民族乃
12、至整个国家的发展,所以脉冲宽度测量仪的发展是一个整体的趋势。我国的脉冲宽度测量技术其实不是落后于发达国家太多的,我国在这个领域的发展是极其迅速的,现在的技术实际已是经过了多年来的考验。我国现阶段电子产品的市场特点是电子数字发展很快。在我国和发达国家的发展情况是趋于一致的,数字脉冲宽度测量技术已经应用于高科技等产品上面,可以不无夸张的说没有不包含脉冲宽度与频率测量的电子产品。我国的CD、VCD、DVD和数字音响广播等新技术已开始大量进入市场。到今天脉冲宽度测量已开始并正向智能、精细的方向发展。3、常用的脉冲宽度测量方法介绍很多工业仪表系统都需要测量脉冲的宽度与周期,如转速传感器、外部系统的门控制
13、与选通脉冲,以及PWM(脉冲宽度调制)输入的频率等。因此可以说脉冲宽度和周期是脉冲的重要指标。无论是模拟电路还是数字电路,往往都需要对脉冲宽度进行测量。关于脉冲信号参数的测量,过去常用的有以下几种方法:3.1 用示波器直接测量脉冲宽度 首先调节示波器延迟控制,使得轨迹的上升沿通过中心水平标尺和某一垂直标尺线的交点。这时如果波形的下降沿跑出屏幕的范围也没有关系。为了获得更高的测量分辨率,可以提高延迟时基扫描速度。记下屏幕上显示的延迟时间。再调节延迟控制,使得波形的下一个下降沿通过同一个标尺点。再记下屏幕上显示的延迟时间。用第二个延迟时间减去第一个延迟时间,就得到了波形上升沿、下降沿两点之间的时间
14、差-。这就是脉冲的宽度。3.2 基于定时/计数器测量脉冲宽度的一般原理及采用的方法上一节介绍了用示波器测量脉冲参数的方法,然而,示波器有时候并不能测出脉冲的宽度及周期,如:当测量低频信号(例如1Hz一下低频信号)时,示波器往往无法读出。此时可采用计数器法来进行测量脉冲宽度,即脉宽形成主门,让标准时标信号通过这一主门,计数时标就可测得脉冲宽度,基本原理如图3-1所示。脉冲信号时标信号输出信号 图3-1 计数器法测量脉宽的基本原理 计数器法测量脉冲周期的原理框图如图3-2所示,被测信号为方波脉冲,以此方波脉冲控制门电路,使主门开放时间等于被测信号周期,由晶体振荡器输出周期为的时标脉冲在主门开放时间
15、进入计数器,这种测量方法将被测信号周期与时标进行比较,若在期间内,计数器的计数值为N,则 式(3-1)为被测信号的周期。晶振译码显示分频器主控计数器主控门脉冲信号 图3-2 计数法测量脉冲宽度原理框图 设为上述被测脉冲宽度的实测值,则 式(3-2) 式(3-3) 式(3-4)就是计数器法的实际误差,其中是被测脉冲宽度的实际值;是计数脉冲周期;N是计数脉冲的有效个数;和是反映测量误差的两个零头时间。针对减小或者消除针对和的误差影响提出了内插拓展法,其基本原理是:用上述计数器法测得的,并在和时间段内,用恒流源给电容充电,然后以比充电速度慢得多的速度使电容放电至充电前状态。充、放电速度相差的数量级可
16、由需要而定。由于放电时间长,可用计数器法测得放电时间。根据充、放电速度的比例关系可折算出充电时间即和。进而算出。虽然和的测量仍有误差,但是充、放电速度相差越大,误差越小。在微型计算机,特别是单片机引入电子测量后,内插拓展法得以方便地运用。测量时,被测脉冲宽度主体部分的计数测量,和时间段的电容充放电控制、数值计算处理及测量结果显示输出都可由单片机完成,从而大大提高测量的精准度和自动化过程。3.3 基于单片机的脉冲宽度测量基于单片机的脉冲宽度测量原理框图如图3-3所示。输入信号通过脉冲形成电路进入进行放大与整形(可由放大器与们电路组成),然后送到单片机入口,单片机计数脉冲的输入个数,计数结果经由L
17、ED数码管显示,从而得到被测信号的参数。被测信号单片机计数、控制LED显示 图3-3 基于单片机的脉冲宽度测量原理框图其中单片机可选择AT89C2051为核心的脉宽测量装置,充分利用AT89C2051单片机内部资源,精确测量连续N个脉冲的平均宽度,减小误差,并利用液晶显示其结果。AT89C2051内有两个可编程定时/计数器。我们使用完成定时功能;使用完成计数功能,当AT89C2051的输入待测的脉冲序列时,在脉冲低电平时,引起中断,进行定时,计数测脉宽。因此,测得脉冲序列高电平宽度将待测信号反向一次后输入给AT89C2051的引起中断。当脉冲低电平时,每定时0.05,AT89C2051的引脚求
18、反一次,并将求反信号输入到计数器,作为计数脉冲信号,启动计数器计数,知道输入到的信号变为搞电平为止,外部中断结束。假设在这段时间内计数器总的计数值为,则所测该脉冲宽度为 式(3-4)将一次测量结果存入相应RAM单元中。若连续测量N个脉冲的宽度,则重复上述过程。将采样结果存入RAM区中。为了避免测量时刻的随机性而造成第一个信号脉冲不定带来的测量误差及防止测量时干扰问题,则连续次测量,将次测量结果进行比较,去除一个最大值,一个最小值,剩余N个进行平均,并送到液晶显示器进行结果显示。3.4 基于FPGA的脉冲宽度测量 随着EDA技术的迅速发展,在EDA软件平台上,根据硬件描述语言VHDL完成的设计文
19、件, 自动地完成逻辑编译、化简、分割、综合、优化、布局线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作成了脉冲测量的发展方向。采用此种发法,设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下和应用相应的FPGA/CPLD器件,就可以得到最后的设计结果。通常采用脉冲计数法,即在待测信号的高电平或低电平用一高频时钟脉冲进行计数,然后根据脉冲的个数计算待测信号宽度,如图3-4所示。待测信号相对于计数时钟通常是独立的,其上升、下降沿不可能正好落在时钟的边沿上,因此该法的最大测量误差为一个时钟周期。例如采用50MHz的高频时钟,最大误差为20ns。待测信号
20、计数时钟图3-4 基于FPGA的脉宽测量原理图3.5 脉宽测量方案比较及确定根据上面介绍的用示波器测量脉冲参数的方法我们可以知道,有时候示波器并不能测出脉冲宽度和及周期,如,当测量低频信号(例如1Hz以下低频信号)时,示波器往往无法读出。而基于定时/计数器的内插拓展法的主要缺憾在于和的测量过程太缓慢,使整个脉冲宽度测量的速度被限制在很低的水平。显然,该方法不能实现单脉冲的实时测量,更不能实现脉冲序列的实时、连续测量。在基于单片机的测量方案中,采用的是传统的数字电路,利用计数器、触发器、锁存器、数码管组成的方案原理简单,功能单一,电路结构复杂,且闸门时间是固定值,系统稳定性差,量程小。又由于此设
21、计的时基电路部分采用555作为频率源,其本身的精度就不是很高,致使系统精度降低。通过以上方案对比可得基于FPGA的脉冲宽度测量技术的灵活性强,可拓展性好,采用软硬件相结合,基于FPGA芯片内部时钟频率可达上百兆,延时小,系统稳定,外围电路简单。该方案可完全达到设计要求,并且根据实际情况再次基础上海可以加以拓展,如增大量程、提高低频段的精确度等。4、基于FPGA脉宽测量的相关技术与开发工具4.1 EDA的简单介绍及主要特征4.1.1 EDA的简单介绍EDA(Electronic Design Automation):电子设计自动化,顾名思义,是一种以计算机为工具代替人工的数字电子系统。该技术以计
22、算机为工具来完成数字系统的逻辑综合、布局布线和设计仿真的工作,设计人员只需要完成对系统功能的描述就可以由计算机软件进行进行处理,得到设计结果。而且修改设计如同修改软件一样方便,可以极大的提高设计效率。从狭义上来说,EDA技术是一门多学科融合的新技术。它的设计载体是大规模可编程逻辑器件、设计工具是大规模可编程器件的开发软件及实验开发系统;其系统逻辑描述的主要表达方式是硬件描述语言;它的主要工作是用软件方式描述的到硬件的逻辑编译、逻辑简化、逻辑仿真、逻辑分割、逻辑综合、逻辑优化、布局布线、直到完成对于特定目标芯片的适配编译、逻辑映射、编程下载等。4.1.2 EDA的主要特征1、高层综合的理论与方法
23、取得较大进展,将EDA设计层次由RT级提高到了系统级(又称行为级),并划分为逻辑综合和测试综合。逻辑综合就是对不同层次和不同形式的设计描述进行转换,通过综合算法,以具体的工艺背景实现高层目标所规定的优化设计,通过设计综合工具,可将电子系统的高层行为描述转换到底层硬件描述和确定的物理实现,使设计人员无须直接面对底层电路,不必了解具体的逻辑器件,从而把精力集中到系统行为建模和算法设计上。测试综合是以设计结果的性能为目标的综合方法,以电路的时序、功耗、电磁辐射和负载能力等性能指标为综合对象。测试综合是保证电子系统设计结果稳定可靠工作的必要条件,也是对设计进行验证的有效方法。2、采取硬件描述语言HDL
24、来描述10万门以上的设计,并形成了VHDL和VerilogHDL两种标准硬件描述语言。它们均支持不同层次的描述,使得复杂IC的描述规范化,便于传递、交流、保存与修改,也便于重复使用、它们多应用于子FPGA/CPLD/EPLD的设计中。大多数EDA软件都兼容这两种标准。3、采用平面规划技术逻辑综合物理版图设计进行联合管理,做到在逻辑综合早期设计阶段就考虑到物理设计信息的影响。通过这些信息,设计者能更进一步进行综合与优化,并保证所有的修改只会提高性能而不会对版图设计带来负面影响。这在深亚微米级不限延时已成为主要延时的情况下,加速这几过程的收敛成功是有所帮助的。4、可测性能综合设计。随着ASIC的规
25、模与复杂性的增加,测试难度与费用急剧上升,由此产生了将可测性电路结构制作在ASIC芯片上的想法,于是集成到EDA系统中。5、为带有嵌入IP模块(IP模)的ASIC设计提供软硬件协同系统设计工具。协同验证弥补了硬件设计和软件设计流程之间的空隙,保证了软硬件之间的同步协调工作。协同验证时当今系统集成的核心,它以高层系统设计为主导,以性能优化为目标,融合逻辑综合、性能仿真、形式验证和可测性设计。6、建立并行设计工程框架结构的集成化设计环境,以适应当今ASIC的如下一些特点:数字与模拟电路并存,硬件与软件设计并存,产品上市速度要快。在这种集成化设计环境中,使用统一的数据管理系统与完善的通讯管理系统,由
26、若干相关的设计小组共享数据库和知识库,并行地进行设计,而且在各种平台之间可以平滑过渡。4.2 FPGA的基本结构FPGA一般由三种可编程电路和一个存放编程数据的SRAM组成。这三种可编程电路是:可编程逻辑块CLB、输入输出逻辑块IOB和互联资源IR。 4.2.1 可编程逻辑块CLBCLB是FPGA的主要组成部分,是实现逻辑功能的基本单元。XC4000系列的CLB主要由逻辑函数发生器、触发器、数据选择器等电路组成。CLB有三个逻辑函数发生器G、F和H,相应输出是G、F和H。逻辑函数发生器G和F的输入变量分别是G4、G3、G2、G1和F4、F3、F2、F1和F均为查表结构,其工作原理类似于ROM,
27、通过查找ROM中的存储器,就可以得到任意组合逻辑输出,逻辑函数发生器G和F还可以作为器件内高速RAM减小的可读/存储器使用,它由信号变换电路设置存储功能有效时,G和F作为组合逻辑发生器使用;当信号变换电路设置存储功能无效时,G和F作内部存储器使用,此时F1F4和G1G4相当于地址输入信号A0A3,以选择存储器中的特定存储单元。逻辑函数发生器H有三个输入,分别来自G、F和信号变换电路的输出H1,这个函数发生器能实现三输入变量的各种组合逻辑函数。G、F和H组合起来,可实现多达9变量的组合逻辑函数。CLB中有两个边沿出发的D触发器,它们有公共的时钟和时钟使能输入端。S/R控制电路可分别对两个触发器异
28、步置位和复位,每个D触发器可以配置成上升沿触发或下降沿触发。D触发器输入可为G、F、H和DIN四个中的一个,从XQ和YQ输出。CLB中有许多不同规格的数据选择器(4选1,2选1等),分别用来选择触发器激励输入信号、时钟有效边沿、时钟使能信号以及输出信号。这些数据选择器的地址控制信号均由编程信息提供,从而实现所需电路结构。4.2.2 输入/输出模块IOBIOB提供了器件引脚和内部逻辑阵列之间的连接,通常排列在芯片的四周。其结构主要由输入触发器、输入缓冲器、输出触发锁存器和输出缓冲器组成。每个IOB控制一个引脚,可被配置为输入、输出或双向I/O功能。当IOB控制的引脚被定义为输入时,通过该引脚的输
29、入信号先送入缓冲器,缓冲器的输出分为两路,一路直接送到MUX;林一路经演示几纳秒后(或者不延时)送到输入通路D触发器,再送到数据选择器。通过编程给数据选择器不同的控制信息,可确定送至CLB阵列的I1、I2是来自输入缓冲器还是来自触发器。D触发器可通过编程来确定是边沿触发还是电平触发,且由于配置有独立的时钟,也可选择上升沿或者下降沿有效。当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可以由两条传输途径:一条是直接经MUX送至输出缓冲器,另一条是先存入输入通路D触发器,再送至输出缓存器。输出通路D触发器也有独立的时钟,且可任选触发边沿。输出缓冲器既受CLB阵列送来的信号OE控制,使
30、输出引脚有高阻状态,还收转换速率(摆率)控制电路的控制,使可高速或低速运行。转换速率控制电路有抑制噪声的作用。IOB输出端配有两只MOS管,它们的栅极均可编程,是MOS管导通或截止,分别经上拉电阻和下拉电阻接通VCC、地线或者不接通,用以改善输出波形和负载能力。4.2.3 可编程互连资源IR可编程互连资源包括各种长度的金属连线线段和一些可编程连接开关,它们将各个CLB之间与IOB之间互相连接起来,构成各种复杂功能的系统。XC4000系列采用分段互连资源,片内连线按相对长度分长度线、双长度线和长线三种。 单长度线是贯穿CLB之间的八条垂直和水平金属线段,在这些金属线段的交叉点处是可编程开关矩阵P
31、SM。CLB的输入输出分别接至相邻的单长度线与开关矩阵相连,通过编程可将某个CLB与其他CLB或IOB连在一起。双长度线是4条垂直和水平金属线,其长度为单长度金属线的两倍,要穿过两个CLB之后,这些金属线段才与PSM相连。因此,利用双长度线可使两个相间(非相邻)的CLB连接在一起。由长线网构成的金属网络,布满了阵列的全部长和宽,这些长线不经过可编程开关矩阵,信号延时小,长线用于高扇出以及关键信号的传输。每条长线中间有可编程分离开关,使长线分成两条独立的连线通路,每条连线只有阵列的宽度或高度的一半。CLB输入可以由临近的任一长线驱动,输出可以通过三态缓冲器驱动长线。单长度线和长线之间的连接由位于
32、线交叉处的可编程互连点所控制,双长度线不与其它线相连。4.3 开发工具Quartus II简介 Quartus II是Altera提供的FPGA/CPLD开发集成环境,Altera是世界上最大的可编程逻辑器件供应商之一。Quartus II在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plus II的更新换代铲平,其界面更友好,使用便捷。Quartus II提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。Altera的Quartus II提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综
33、合环境和SOPC开发的基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成综合环境。Quartus II设计工具完全支持Verilog、VHDL的设计流程,其内部嵌有Verilog、VHDL逻辑综合器。Quartus II也可利用第三方综合工具,并能直接调用第三方综合工具。Quartus II包括模块化的编译器。编译器包括的功能模块有分析/综合器、适配器、装配器、时序分析器、设计辅助模块、EDA网表文件生成器、编辑数据接口等。可以通过Start Compilation来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。还可以通过选择Compiler Tools(
34、tools菜单),在Compiler Tools窗口中,可以打开相应的功能模块所包含的设置文件或报告文件,或打开其他相关窗口。此外,Quartus II还包含许多十分有用的LPM模块,它们是复杂或高级系统构建的重要组成部分,也可以在Quartus II中与普通设计文件一起使用。Altera提供的LPM函数均基于ALtera器件的机构做了优化设计。在许多使用情况中,必须使用宏观模块才可以使用一些Altera特定器件的硬件功能。例如各类片上存储器、DSP模块、LVDS驱动器、PLL以及SERDES和DDIO电路模块等。Quartus II编译器支持的硬件描述语言有VHDL、Verilog、Syst
35、em Verilog及AHDL,AHDL是Altera公司自己设计、制定的硬件描述语言,是一种以结构描述方式为主的硬件描述语言,只有企业标准。Quartus II允许来自第三方的EDIF、VQM文件输入,并提供了很多EDA软件的接口。Quartus II支持层次化设计,可以在一个新的便捷输入环境中对使用不同输入设计方式完成的模块(元件)进行调用,从而解决了原理图与HDL混合输入设计的问题。在设计输入之后,Quartus II的编译器将给出设计输入的错误报告。Quartus II拥有性能良好的设计错误定位器,用于确定文本或图形设计中的错误。对于使用HDL说的设计,可以使用Quartus II带有
36、的RTLViewer观察综合后的RTL图。在进行编译后,可对设计进行时序仿真。在仿真前,需要利用波形编辑器编辑一个波形激励文件。编译和仿真经检测无误后,便可以将下载信息通过Quartus II提供的编程器下载至目标器件中了。5、基于FPGA的脉冲宽度测量的总体设计5.1 基本原理 根据设计要求,系统的输入信号有:系统时钟信号CLK,系统复位信号CLR,脉冲输入信号P_IN,计数输出端。当检测到P_IN端有脉冲输入时检测模块就会输出1,否则为0,输给计数模块的EN端,当各位累计到9时,会向十位进位,以此类推到万位。最后由数码管显示脉冲的宽度。 图5-1 简易原理图5.2 系统总框图系统组成总框图
37、如图5-2所示,它由外部输入模块、检测模块和显示模块三部分组成。检测模块是整个系统的核心,它由计数模块、控制模块、计量模块和译码显示模块构成。图5-2 总框图5.3 Quartus II设计流程图5-3上排所示的是Quartus II编译设计主控界面,它显示了Quartus II自动设计的各主要环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件汇编、时序参数提取以及编程下载几个步骤。图5-3下排的流程框图,是与上面的Quartus II设计流程相对照的标准的EDA开发流程。下载仿真Timing Analyzer(时序分析器)编程器Assembler(编程文件汇编)Analysis
38、&Synthesis(分析与综合)图形或HDL编辑器Filter(适配器)适配器件综合或编译设计输入图5-3 Quartus II设计流程6、测量方案详细设计及仿真结果在前面的3.4节简单的介绍过基于FPGA的脉宽测量原理,在本章里将详细的给出测量方案的原理,设计流程以及仿真结果。6.1 数字移相技术 测量脉冲宽度最常用的方法是脉冲计数法。脉冲计数法就是在待测脉冲宽度内对时钟脉冲进行计数(一般是对时钟的上升沿计数,下面的介绍以对上升沿进行计数为例),计数值N与时钟周期T相乘就可以得到脉冲宽度的数值。这是比较简单和常用的测量脉冲宽度的方法,这一方法的误差来源于待测脉冲的前沿和后沿与相邻时钟上升沿
39、的时间差,最大误差为一个时钟周期的值,如时钟频率为100MHz,最大误差为10ns。如果要提高计时精度,就需要提高时钟频率,而时钟频率的提高又受制于器件性能,并给印制面板及加工带来一定困难,如果要得到ns量级的测量精度,时钟频率则需达到1GHz,这在实际工程应用中应用起来比较困难。因而在脉冲计数法的基础上,提出运用数字移相技术结合FPGA设计出新型的脉冲宽度测量方案,可将测量精度提高到ns量级,移相即通过FPGA内部锁连环模块(PLL)的延时功能,使时钟信号产生一定时间的滞后,新产生的信号与原始信号形成两路同频却有一定相位差的时钟信号,所以称为移相。测量原理如图6-1所示。图6-1 数字移相法
40、测量原理通过移相技术对时钟信号CLK0进行处理,依次移相900,形成另外三路时钟信号CLK90,CLK180和CLK270,分别使用以上四路时钟信号驱动斯路计数器对待测脉冲进行测量。假设时钟信号CLK0的频率为,其周期则为,四路时钟对待测信号测量的计数值分别为,则最后待测信号的测量值为: 式(6-1)通过式(6-1)和图6-1可以看出,时钟信号CLK0,CLK90,CLK180和CLK270的每一个上升沿分别对应于等效时钟的一个上升沿,从而可以这样表述:使用四路时钟来测量待测脉冲信号并将测量结果相加,等效于使用4倍频的时钟频率的时钟信号测量待测脉冲。根据前面介绍的脉冲计数法可知,测量结果的最大
41、误差为等效时钟的时钟周期,也即是时钟信号CLK0的时钟周期的1/4,通过这样的方式可以在不提高计数时钟频率的前提下,达到减小测量误差、提高计时精度的目的。使用这一测量方法,在计数时钟频率为250MHz时,可得到时钟频率为1GHz的等效时钟,从而使测量精度达到ns量级。6.2 测量方案详细设计 根据上文介绍的测量技术原理,下面将在Altera公司的Quartus II 7.2环境下选用Stratix III 系列的EP3SE50F484C2芯片进行设计。首先,利用Quartus II 提供的锁相环模块(PLL)生成四路一次相差900相位的时钟信号。为了降低高频时钟信号对印制面板设计带来的影响,设
42、计选用的输入时钟信号频率为50MHz,通过PLL进行5倍频率产生频率为250MHz的时钟,并通过PLL的移相功能生成四路依次相差900相位的计数时钟信号CLK0,CLK90,CLK180和CLK270,PLL模块如图6-2所示。图6-2 PLL模块然后利用Quartus II 提供的计数模块(COUNT-ER)产生四个计数模块,分别由计数时钟信号CLK0,CLK90,CLK180和CLK270驱动,在脉冲宽度内进行计数。利用Quartus II 提供的加法器模块(ADD)对四个计数值进行相加。综合计数模块原理图如图6-3所示。其中,输入引脚pulse为待测脉冲信号,输入引脚clr为计数模块清零
43、信号,输出引脚width为测量到的脉冲宽度输出端。图6-3 综合计数模块原理图由于计数时钟信号的频率为250MHz,其周期T为4ns,根据上面介绍的技术原理公式(6-1)可知,脉冲宽度为,即加法器最后输出的数值就是测量得到的脉冲宽度,单位为ns.6.3 测量方案仿真结果为验证设计,在Quartus II 7.2环境下选用Stratix III系列的EP3SE50F484C2芯片进行设计仿真。仿真结果如图6-4、图6-5、图6-6所示。图6-4 仿真示例一图6-5 仿真示例二图6-6 仿真示例三仿真示例的脉冲宽度设定值与仿真测量值在表6-1中详细列出。比较脉冲宽度设定值与测量值可知,仿真结果符合
44、设计目标,测量精度达到ns量级。表6-1 脉冲宽度设定值与测量值序号脉冲宽度设定值(ns)脉冲宽度测量值(ns)135362163164312751274 7、总结 本文介绍的脉冲宽度精确测量方法,在直接脉冲计数法的基础上采用数字移相技术来提高测量精度,并通过仿真验证了设计思路,将脉冲宽度的测量精度提高到ns量级。该测量方案可用于需要对脉冲宽度进行测量的各种实验项目或者工程应用中,且该系统可测量的脉冲宽度范围宽,对大于10ns的脉冲都可进行测量。当待测脉冲宽度变化时,只需根据脉冲宽度的可能上限更改计数器的位数,方便应用于各种场合。致 谢 在毕业论文即将完成之际,四年的大学生活也已落下帷幕,在这
45、四年期间学到很多专业课知识,同时也学到很多做人做事的道理,在这四年期间学到的一切也将成为我今后学习和生活源源不竭的动力。 在此,首先要衷心感谢我的指导老师副教授。在整个毕业设计期间,从基础的学习、文献资料的搜索,到研究工作的开展、深入至论文的撰写,都得到了老师的悉心指导。老师对我专业知识和技能的培养,特别是硬件知识的掌握提供了巨大的帮助。陈老师严谨的治学态度、渊博的学识、兢兢业业的工作作风使我终身受益。 感谢同宿舍的同学,在毕业设计期间,他不断的通知我他的进度、与我分享心得、为我收集相关资料。感谢他为我提供了一个良好的求知和科研氛围以及在我的毕业设计过程提供的各种帮助。参考文献1 刘英.脉宽的测量和参数分析J.电子信息对抗技术,2007,22(5):23-27.2 梁勇.EDA技术教程M.北京:人民邮电出版社,2010.3 吴大正.信号与线性系统分析M.北京:高等教育出版社,2005.4 阎石. 数字电子技术基础(第四版)M.北京:高等教育出版社,1998 .5 韩焱,张艳花,王康谊.数字电子技术基础M.北京:电子工业出版社,2009.6 樊昌信,曹丽娜.通信原理M. 北京:国防工业出版,2007.7 李玮.示波器的
链接地址:https://www.31ppt.com/p-2767899.html