基于FPGA的高精度数字频率计设计(共55页)_第1页
基于FPGA的高精度数字频率计设计(共55页)_第2页
基于FPGA的高精度数字频率计设计(共55页)_第3页
基于FPGA的高精度数字频率计设计(共55页)_第4页
基于FPGA的高精度数字频率计设计(共55页)_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上大连海事大学装订线毕 业 论 文二一四年六月专心-专注-专业基于FPGA的高精度数字频率计设计专业班级:通信工程3班姓 名: 程胜胜 指导教师: 谭克俊 信息科学技术学院摘 要频率计是一种应用非常广泛的电子仪器,也是电子测量领域中的一项重要内容,而高精度的频率计的应用尤为广泛。本论文首先简单介绍了EDA技术原理和Quartus开发软件的操作方法,接着论述了三种常见的测频方法,选用其中的等精度测频法实现了高精度测频的目的。本设计分为硬件设计和软件设计,其中软件设计部分采用VerilogHDL编写,分为波形计数模块,数据处理模块和频率值结果显示模块,各个模块程序均通过了时

2、序仿真验证和功能仿真验证,再利用顶层文件将所有模块连接起来,拼接成一个整体。模块划分的设计具有相对独立性,可以对模块单独进行设计、调试和修改,缩短了设计周期。此次设计的硬件实现环境是SmartEDA实验箱。本论文对测频系统的设计流程、模型的建立和仿真做出了具体详细的研究,验证了该系统的正确性。本系统采用了 FPGA来实现高精度数字频率计设计。除复位键输入部分和LED显示部分以外,其余全部在一片 FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。关键词:VerilogHDL;数字频率计;EDA;FPGAAbstractFrequency meter is a kind of el

3、ectronic instrument applied widely. A kind of high-accuracy digital frequency meter is designed based on FPGA in this paper. This paper first introduces the method of operation principle of EDA technologyand Quartus II software, then introduces three kinds of common frequency measurement method, the

4、 selection of the precision frequency measuring methodachieves high precision frequency measurement purpose.The design is divided into hardware design and software, the software design part uses the VerilogHDL compilation, divided into waveform counting module, data processing module and the frequen

5、cy value result display module, each module program through the timing simulation and functional simulation, the top-level documents connect all modules, spliced into a whole.Design module is relatively independent, can carry on the design, debug and modify the module separately, shorten the design

6、cycle. The design of thehardware environment is the SmartEDA experiment box. Establishment and Simulation of the design process, the frequency measurement system model isstudied in detail in the paper, the system has been proved right.The system uses FPGA to realize the high precision digital freque

7、ncy meter design. In addition to the reset key input and LED display part outside, the rest allin the realization of a FPGA chip, the whole system is very compact, and flexible change of scene.Key Words: VerilogHDL; Digital Frequency Meter; EDA ; FPGA 目录 第1章 绪论1.1 研究背景及意义在电子测量技术领域内,频率是一个最基本的参数。它不仅是各

8、种强弱电信号的物质本质参数之一,还因为频率信号的抗干扰性强、易于传输、可以获得较高的测量精度等特点使各种非电信号,诸如速度、力、图像、音讯等物理量都可以转换为电频率信号。因此工程中很多测量,如用振弦式方法进行力的测量、时间测量、速度测量、速度控制等都涉及到频率测量1。因此,研究频率计具有一定的实用价值2。数字频率计是一种用十进制数字显示被测信号频率的测量仪器。在测控系统中,测频方法的研究越来越受到大家的重视,多种非频率量的传感信号都要转化为频率量来进行测量,而频率计作为测量频率的仪器被广泛应用于工业生产、实验室、国防等领域。随着电子技术的飞速发展,各类分立电子元件及其所构成的相关功能单元,已逐

9、步被功能更强大、性能更稳定、使用更方便的集成芯片所取代。由集成芯片和一些外围电路构成的各种自动控制、自动测量、自动显示电路遍及各种电子产品和设备。本次设计就是采用EDA(Electronic Design Automation,电子设计自动化)技术,通过一片FPGA芯片和一些外围电路实现高精度测频的功能。1.2 EDA技术原理与概述所谓的EDA技术,是在20世纪90年代初,从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。目前,电子设计自动化己逐渐成为重要的设计手段,其广泛应用于模拟与数字电路系统等许多领域7。EDA技术就

10、是以计算机为工作平台,以EDA软件工具为开发环境、以硬件描述语言HDL为设计语言、以可编程逻辑器件为试验载体、以ASIC、SoC芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计过程。在EDA的设计过程中,用HDL编写的设计文件将自动的完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真、直至对特定目标芯片的适配编译、逻辑映射和编程下载等等工作。设计的工作仅限于利用软件的方式,即用硬件描述语言来完成对系统硬件功能的描述,在EDA工具的帮助下就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改如完成软件设计一样方便而高效。EDA技术中最为瞩目的功能,即最具

11、现代电子设计技术特征的功能就是日益强大的逻辑设计仿真测试技术。EDA仿真测试技术只需通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,在完成实际系统的安装后还能对系统上的目标器件进行所谓的边界扫描测试。另一方面,高速发展的FPGA/CPLD器件又为EDA技术的不断进步奠定了坚实的物质基础。FPGA/CPLD器件的更广泛的应用及厂商间的竞争,使得普通的设计人员获得廉价的器件和EDA软件成为了可能,大大的促进了EDA的发展。EDA技术是现代电子工程领域的一门较新的技术,它提供了基于计算机和信息技术的电路系统设计方法,极大的推动了电子产业的发展。目前,在通信

12、、国防、航天、工业自动化等领域的电子系统设计当中,EDA技术的含量正以惊人的速度发展着。未来的EDA将会超越电子设计的范畴进入其他的领域,随着基于EDA的SoC(System on a Chip)设计技术的发展,软硬功能核库的建立,以及基于HDL所谓自顶向下设计理念的确立,将会极大的推动电子工业的发展,将电子系统的设计和规划应用到其他的领域中去。1.2.1 FPGA基本原理FPGA是一种高密度的可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA的集成密度和性能提高很快,其集成密度最高达1000万门/片以上,系统性能可达300MHz。由于FPGA器件集成度高,方便易用

13、,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件。与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构,FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I

14、/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。 FPGA器件优点:高密度、高速率、系列化、标准化、小型化、多功能、低功耗、低成本,设计灵活方便,可无限次反复编程,并可现场模拟调试验证。图1.1 FPGA基本结构1.2.2 硬件描述语言目前最主要的硬件描述语言是VHDL和Verilog HDL,Verilog

15、HDL和HDL都是用于逻辑设计的硬件描述语言,并且都已成为IEEE标准。VHDL发展的较早,语法严格,而Verilog HDL是在C语言的基础上发展起来的一种硬件描述语言,语法较自由。 VHDL和Verilog HDL两者相比,VHDL的书写规则比Verilog烦琐一些,但verilog自由的语法也容易让少数初学者出错。Verilog HDL和VHDL作为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的行为和结构、支持逻辑设计中层次与范围的描述、可借用高级语言的精巧结构来简化电路行为的描述、具有电路仿真与验证机制以保证设计的正确性、支持电路描述由高层到低层的综合转换、硬件描述

16、与实现工艺无关。本设计是用的Verilog HDL语言来实现数字频率计的设计的,本设计将重点介绍Verilog HDL语言。Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。Verilog HDL语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模

17、拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog 仿真器进行验证。语言从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。下面列出的是Verilog 硬件描述语言的主要能力: * 基本逻辑门,例如and、or和n

18、and等都内置在语言中。 * 用户定义原语(UDP)创建的灵活性。用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。* 开关级基本结构模型,例如pmos 和nmos等也被内置在语言中。 * 提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。* 可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式使用过程化结构建模;数据流方式使用连续赋值语句方式建模;结构化方式使用门和模块实例语句描述建模。 * Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型

19、。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。* 能够描述层次设计,可使用模块实例结构描述任何层次。 * 设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。* Verilog HDL不再是某些公司的专有语言而是IEEE标准。 * 人和机器都可阅读Verilog 语言,因此它可作为EDA的工具和设计者之间的交互语言。 * Verilog HDL语言的描述能力能够通过使用编程语言接口(PLI)机制进一步扩展。PLI是允许外部函数访问Verilog 模块内信息、允许设计者与模拟器交互的

20、例程集合。* 设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级(RTL)到算法级,包括进程和队列级。 * 能够使用内置开关级原语在开关级对设计完整建模。 * 同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。* Verilog HDL能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。 * 在行为级描述中,Verilog HDL不仅能够在RTL级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设

21、计描述。 * 能够使用门和模块实例化语句在结构级进行结构描述。* Verilog HDL的混合方式建模能力,即在一个设计中每个模块均可以在不同设计层次上建模。  * Verilog HDL还具有内置逻辑函数,例如&(按位与)和|(按位或)。 * 对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用。* 可以显式地对并发和定时进行建模。 * 提供强有力的文件读写能力。 * 语言在特定情况下是非确定性的,即在不同的模拟器上模型可以产生不同的结果

22、;例如,事件队列上的事件顺序在标准中没有定义。 1.2.3 Quartus开发软件QuartusII是Altera公司推出的新一代开发软件,适合于大规模逻辑电路设计,其设计流概括为设计输入、设计编译、设计仿真和设计下载过程。QuartusII支持多种编辑输入法,包括图形编辑输入法,VHDL,VerilogHDL和AHDL的文本编辑输入法,符号编辑输入法,以及内存编辑输入法。QuartusII与MATLAB和DSP Builder结合可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA工具,与SOPC Builder结合,可实现SOPC系统开发。Quartus(R)

23、II 软件中的工程由所有设计文件和与设计有关的设置组成。可以使用 Quartus II Block Editor、Text Editor、MegaWizard(R) Plug-In Manager(Tools 菜单)和 EDA 设计输入工具建立包括 Altera(R) 宏功能模块、参数化模块库 (LPM) 函数和知识产权 (IP) 函数在内的设计。可以使用Settings 对话框(Assignments 菜单)和 Assignment Editor 设定初始设计约束条件。下面简单介绍一下 Quartus基本操作流程: 1.2.3.1 打开Quartus软件并建立工程 (1)在Windows桌面

24、上选择“开始”“程序”AlteraQuartus9.0,打开Quartus9.0软件,软件界面如图1.2所示。 图1.2 Quartus9.0软件界面(2) 选择FileNew Project Wizard 新建一项工程。新建工程向导说明对话框如图1.3所示。 图1.3 新建工程向导(3) 单击Next进入下图所示对话框。 任何一项设计都是一项工程Project,必须首先为此工程建立一个放置与此工程相关的所有文件的文件夹,此文件夹将被Quartus默认为工作库(Work Library)。注意文件夹不能用汉字,不要将文件夹设在安装目录中。 图1.4 新建工程向导图中第一栏用于指定工程所在工作库

25、文件夹;第二栏用于指定工程名;第三栏用于指定顶层文件的实体名。本例工程的路径为E:eda,工程名和顶层文件的实体名均为cntm12。 (4) 单击Next进入图示对话框。由于是新建工程,暂无输入文件。图1.5 新建工程向导(5)单击Next进入图示对话框。在该对话框中指定目标器件,这里我们选择的是QuickEDA核心板上用的Cyclone系列的EP1C6240C8。 图1.6 新建工程向导(6)单击Next进入图示对话框。本实验利用Quartus的集成环境进行开发,不使用任何EDA工具,因此这里不做任何改动。图1.7新建工程向导(7)单击Next进入图示对话框。从该对话框中,可以看到工程文件配

26、置信息报告。单击Finish,完成新建工程的建立。图1.8 新建工程向导1.2.3.2 设置编译选项并编译设计文件 在Quartus主界面下选择ProcessingStart Compilation进行全程编译,若在编译过程中发现错误,则造出并更正错误,直至编译成功为止。在编译硬件系统时,状态窗口显示整个编译进程及每个编译阶段所用时间。编译结果显示在Compilaation Report窗口中,如图1.9所示。 图1.9 编译结果1.3 SmartEDA实验箱与芯片EP1C6Q240C81.3.1 SmartEDA教学实验开发平台图3.3A图3.3 SmartEDA教学实验开发平台。Smart

27、EDA主板硬件资源如表1.1所示表1.1 SmartEDA主板硬件资源输入接口8个独立按键PS/2鼠标、键盘接口输出接口8个LED发光管8位高亮度7段数码管16*16 LED点阵128*64图形点阵液晶屏256色VGA接口通讯接口红外UARTI2CSPIRS48510M以太网接口USB常用外设交流蜂鸣器直流电机(含测速模块)步进电机数据采集电压基准串行D/A串行A/D数字温度传感器实时时钟PCF8563T存储设备SD卡扩展接口主板上总线PACK接口核心板上IO接口 可扩任意外设(与主板PACK兼容)电源-12V、12V、5V、3.3V电源接口1.3.2 SmartEDA核心板EP1C6Q240

28、图3.3 SmartEDA核心板EP1C6Q240QuickEDA核心板硬件资源:FPGA :Cyclone EP1C6Q240(约12万门)SRAM :512k字节,最大可扩充为1M字节配置器件:EPCS1 AS接口,可直接对EPCS器件快速编程,并实现硬件的在线升级JTAG接口,可下载配置到FPGA、使用嵌入逻辑分析议分析FPGA内部节点信号、EPCS器件编程带I2C接口、E2PROM(256字节)的复位芯片CAT1025SI8个用户LED灯,4个用户按键配置成功指示灯,用于指示配置的成功重新配置按键复位按键有51个独立I/O口的用户PACK,用于扩展高速AD_DA PACK,也可用于用户

29、自己的扩展48MHz的有源晶振 1.3.3 EDA实验箱资源与FPGA引脚的对应关系表3.1EDA实验箱资源与FPGA引脚的对应关系信号名引脚号信号名引脚号信号名引脚号信号名引脚号信号名引脚号LED1 50 KEY1 121 SEG0 169 DIG0 160 BEEP 175 LED2 53 KEY2 122 SEG1 170 DIG1 159 CLOCK3 11 LED3 54 KEY3 123 SEG2 167 DIG2 162 CLOCK2 8 LED4 55 KEY4 124 SEG3 168 DIG3 161 CLOCK1 12 LED5 176 KEY5 143 SEG4 165

30、 DIG4 215 LED6 47 KEY6 141 SEG5 166 DIG5 216 LED7 48 KEY7 158 SEG6 163 DIG6 213 LED8 49 KEY8 156 SEG7 164 DIG7 214 表3.1EDA实验箱资源与FPGA引脚的对应关系1.3.4 EP1C6Q240C8芯片继Altera公司成功推出第一代Cyclone FPGA后,Cyclone一词便深深的烙在广大硬件工程师心中,一时间它便成为低功耗、低价位以及高性能的象征。本设计采用的FPGA是EP1C6Q240C8,其核心板主芯片采用240引脚的FPGA,表3.2列出了EP1C6Q240C8的有关

31、资源特性。表2-1 EP1C6Q2404C8资源列表芯片型号EP1C6Q240C8逻辑单元LEs6030M4K Memory Blocks26所有RAM BitsPLLs2用户可用I/O185基本串行主动配置器件EPCS1该芯片采用240引脚,它拥有6030个LE,26个M4K片上RAM(共计bits),2个高性能PLL以及多达185个用户自定义IO。第2章 频率测量方法与原理在电测技术领域内,频率是一个最基本的参数。它不仅是各种强弱电信号的物质本质参数之一,还因为各种非电信号,诸如速度、力、图像、音讯等物理量都可以转换为电频率信号,因此关于频率信号的测量和研究显得非常重要。因为频率信号的抗干

32、扰性强、易于传输,可以获得较高的测量精度,所以在测控系统中,测频方法的研究越来越受到大家的重视,多种非频率量的传感信号都要转化为频率量来进行测量。用于频率测量的方法有很多,在进行频率测量时,我们主要关心的是频率所测量的范围、精度要求以及被测对象的特点8。而测量所能达到的精度,不仅取决于所测的频率源的精度,而且取决于所使用的测量设备和测量方法。本章主要介绍一些常用的频率测量方法。2.1 直接测频法直接测频法是最简单的、也是最基本的测量频率的方法。其原理就是在给定的闸门信号中填入脉冲,并通过一定的计数线路,得到所填充的脉冲的个数,从而算出待测信号的频率或者周期。其测量原理如图2.1所示:在测量的过

33、程中,按照信号频率高低的不同,其测量方法分为两种:(1)被测信号频率较高时此时,通常选用频率较低的一个标准频率信号作为闸门信号,而将被测信号作为填充脉冲,在固定的闸门时间内对其计数。设闸门宽度为T,计数值为N则这种测量方法的频率测量值为: (2-1)测量误差主要决定于闸门时间T和计数器计数的数的准确度,因此,总的误差可以采用分项误差绝对值线性相加来表示,即 (2-2)其中是最大量化误差的相对值,的产生是由于在测频时,闸门的开启时刻与计数脉冲之间的时间关系不相关造成的,即在相同的主门开启时间内,计数器所得的数不一定相同,当主门开启时间T接近甚至等于被测信号周期Tx的整数倍时,量化的误差最大,在数

34、值上等于石英晶体振荡器所提供的标准频率的准确度,也是闸门时间的相对误差闸门时间的准确度,即: (2-3)闸门被测信号图2.1 直接测频法原理图(2)被测信号频率较低时此时,通常选用被测信号作为闸门信号,而将频率较高的标准频率信号作为填充脉冲,进行计数。设计数值为N,标准频率信号的频率为fs,周期为Ts。则这种测量方法的频率测量值为: (2-4)误差主要为对标准频率信号计数产生的士1个字误差,在忽略闸门信号自身误差的情况下,测量精度为: (2-5)直接测频方法的优点是:测量比较方便、读数直接,在比较宽的频率范围内能够获得较高的测量精度。这种测频方法的主要缺点是:测量误差主要来自于被测信号和标准频

35、率信号,由于标准频率信号的计数器总存在±1个计数误差,难以同时兼顾低频和高频以实现等精度测量,所以测量的精度较低。但是,通过提高测量频率可以提高测量的精度,如果测量的频率一定时,尽可能的在比较长的闸门时间下测频,可以提高测量精度8。但对于较低的被测频率来说,测频的精度是不高的。拍频法、示波器法和差频法等测量频率的方法都属于此方法的范畴。前两种方法主要低频频率的测量。差频发则常用于高频频段的频率测量,其突出的优点是测试灵敏度高。2.2 利用电路的频率特性进行测量设某电路的频率特性为: (2-6)式中a,b,c是电路己知参数,可以根据a,b,c等值求出频率。用此方法测量频率的有电桥法和谐

36、振法等。下面分别简单的做一介绍。2.2.1 电桥法测频电桥法测频是利用交流电桥的平衡条件和电桥电源频率有关这一特性来测量频率的,在电桥面板上将调节电桥平衡的可变电阻(或电容)的调节旋钮(度盘)按频率刻度,则在电桥指示平衡时,测试者便可以从刻度上直接读得被测信号的频率fx。这种电桥测频法的精度约为±(0.51)%。在高频时,由于寄生参数影响严重,会使测量精度大大下降,所以这种电桥测频方法仅适用于l0KHz以下的音频范围9。2.2.2 谐振法测频谐振法测频是利用电感、电容串联谐振回路或并联谐振回路的谐振特性来实现测频的。当被测的频率信号加到变压器式的谐振电路中时,调节电容来使谐振电路达到

37、谐振。如果电容的调节度盘按谐振频率刻度,则可以直接从该刻度读出被测频率值。谐振法测量频率的精度大约在±(0.251)%的范围内,通常作为频率粗测或者某些仪器的附属测频部件。2.2.3 频率电压转换法测频这种测频方法的原理是利用相关电路把正弦频率转换为周期相等、宽度 、幅度均为定值的矩形脉冲列,用低通滤波器滤除其全部交流分量,则平均值即直流分量为: (2-7)输出的电流电压依次用上式按频率刻度的电压表指示,则从电压表指针所指的刻度便可直接读出被测频率fx , f U转换式频率计最高测量频率可达几兆赫兹。可以连续监视频率的变化是这种测量频率方法的突出优点。2.3 等精度测量法等精度测量方

38、法是在直接测频方法的基础上发展起来的。它的闸门时间不是固定的值,而是被测信号周期的整数倍,即与被测信号同步。因此,排除了对被测信号计数所产生的个字误差,并且达到了在整个测量频段的等精度测量10,其测频原理如图2.2所示。被测信号 预置闸门 实际闸门 标准时钟 图2.2 等精度测频原理图在测量过程中,有两个计数器分别对标准和被测信号同时计数。首先给出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。然后预置闸门关闭信号(下降沿)到时,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才结束计数,完成一次测量过程。可以看出,实际闸门时

39、间t与预置闸门时间T并不严格相等,但差值不会超过被测信号的一个周期11。设在一次实际闸门时间t中计数器对被测信号的计数值为Nx,对标准信号的计数值为Ns,标准信号的频率为fs则被测信号的频率为: (2-8)若忽略标准频率信号的误差,则等精度测频可能产生的相对误差为: (2-9)式中fo为被测信号的准确值。在测量中由于fx计数的起停时间都是由该信号的上升沿触发的,对fx的计数Nx无误差。而对fs的计数Ns最多相差一个数的误差,即|Ns| 1。则测量频率为: (2-10)由以上分析我们可得出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和标准信号频率有关,从而实现了整个测试频段的等精度

40、测量。而闸门时间选的越长,标准频率选的越高,测频的相对误差就越小。标准频率可由稳定度好、精度高的高频率晶体振荡器产生,在保证测量精度满足的前提下,提高标准信号频率,可使闸门时间缩短,即提高测试速度10。2.4 本章小结本章详细的介绍了频率测量的常用方法,主要包括直接测频法、利用电路的频率特性进行测量的方法、等精度测频率,并对几种测量方法进行了具体的分析。通过研究,指出了各种测量方法的适用测量范围及其优缺点,并对其可能产生的误差进行了分析,提出了提高测量精度的方法。第3章系统总体设计方案3.1 频率计系统设计任务要求和任务分析3.1.1 频率计系统设计任务要求设计一种基于FPGA的数字频率计。要

41、求:(1)能测量矩形波的频率;(2)频率测量范围为:1Hz50MHz;(3)LED显示测量值。3.1.2 频率计系统设计任务分析在第二章绪论中介绍了频率计的几种设计方案,其中采用PLD(包括大规模可编程逻辑器件FPGA/CPLD等)系统设计的等精度数字频率计,具有集成度高、高速和高可靠性的特点,频率的测频范围可达到0.1Hz50MHz,测频全域相对误差恒为百万分之一,完全可以达到任务要求。因此,本系统采用了FPGA实现频率测量系统中的数字频率计设计。全部设计模块均在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。本设计采用verilog语言对FPGA进行软件开发与设计,选

42、用的开发环境为Quartus II 9.0,测频系统的生成、编译、仿真和验证都是在该系统中进行的。3.2 等精度数字频率计原理框图 对于等精度数字频率计也可用传统的中规模集成电路来实现,但由于设计比较复杂,这样势必会使PCB板的面积过于庞大,因此不宜采用此种设计方法。其实本设计也可以用单片机来实现,灵活性则大大提高,但单片机的处理速度不够快,并且能够处理的频率也不够高,因此本设计也不采用此种方法。FPGA具有集成度高,一片FPGA等效于几十到几百万枚门电路,并且高频特性特别好,又由于其可编程,设计起来事半功倍,因此本设计采用FPGA来实现等精度数字频率计。其系统原理框图如图3.1所示。 图 3

43、.1 系统总体框架图设计原理如图3.1所示,主要由以下几部分组成:分频器电路、D触发器、2个计数器、3个锁存器、倒相器、乘法器、除法器、译码电路、LED显示电路等组成。工作原理如下:被测频率同时送到D触发器和计数器,由48M系统时钟分频得出的1K标准频率送到另外一个计数器,当D触发器电路检测到闸门信号上升沿时,等待被测频率上升沿来后同时打开两个计数器计数,当闸门信号下降沿来到后被测频率下降沿也来到,又发出计数停止信号,计数器停止计数。同时计数器的计数值锁存到锁存器,时序乘法器从锁存器中取得被测频率的计数值与标准时钟频率进行乘法运算,然后再将乘法器运算所得的值与标准时钟的计数值送给除法器,乘法器

44、的结果为被除数,标准时钟的计数值为除数,运算所得结果就是被测信号的频率,然后再经过二十进制转换变成BCD码,送给数码管显示。本设计采用lKHz的标准时钟,由于乘法器输入是32位二进制数,除法器输入的是40位二进制数。以下介绍各种模块电路的功能及实现过程。计数器锁存器乘法器D触发器锁存器分频器计数器倒相器除法器二进制转BCD码锁存器动态数码管显示48MHZ 被测频率信号图3.2 内部模块原理设计图3.3 本章小结 本章主要是对频率计系统的设计任务指标进行分析,并提出基于FPGA的等精度频率计系统设计方案,详细给出了系统总体框架图和内部模块设计图。第4章基于FPGA的功能模块电路设计4.1 分频器

45、模块设计分频模块主要是对FGPA产生的48MHz的时钟晶振频率进行分频,获得所需的控制信号频率和标准信号频率,其模块设计如图4.1A所示。 图4.1分频模块rst:复位控制信号,负脉冲有效;clk:时钟信号,实验箱提供的48MHz的时钟控制信号;clk_1hz:分得频率的输出端口,输出1Hz频率信号,作为闸门电压。clk_1khz:分得频率的输出端口,输出1KHz频率信号,作为标准信号频率。clk_2khz:分得频率的输出端口,输出1KHz频率信号,作为数码管显示的扫描显示频率。分频器部分源程序:always (posedge clk or negedge rst)if(! rst) begi

46、ncount1 <= 1'b0;clk_1hz <= 1'b0;endelseif ( count1 < N1/2-1)begin count1 <= count1 + 1'b1;endelsebegincount1 <= 1'b0;clk_1hz <= clk_1hz;endalways (posedge clk or negedge rst)if(! rst) begincount2 <= 1'b0;clk_1khz <= 1'b0;endelseif ( count2 < N2/2-1)

47、begin count2 <= count2 + 1'b1;endelsebegincount2 <= 1'b0;clk_1khz <= clk_1khz;endalways (posedge clk or negedge rst)if(! rst) begincount3 <= 1'b0;clk_2khz<= 1'b0;endelseif ( count3 < N3/2-1)begin count3 <= count3 + 1'b1;endelsebegincount3 <= 1'b0;clk_2

48、khz<= clk_2khz;end分频器模块运行仿真结果如图4.2所示:、图4.2分频模块仿真结果4.2 D触发器模块设计在第3章FPGA内部功能模块设计中使用了一个异步清零上升沿触发的D触发器实现多周期的同步,其模块如图4.3所示。图4.3 D触发器模块 D:为预制闸门信号, 是输入端。当该信号发生变化时,触发器作好准备等待被测时钟信号上升沿的到来,从而控制输出结果。CLK:为被测时钟信号。它和预置闸门信号一同控制D触发器的输出。CLR:为清零信号,低电平有效。 Q:D触发器的输出。它连接着计数器的使能信号EN从而实现对计数器的控制。分频器模块运行仿真结果如图4.4所示:图4.4 D

49、触发器模块仿真结果4.3 计数器模块设计32位高速计数器模块和40位高速计数器模块是本系统的核心模块,本系统的主要工作都是由它们来完成的。在一定的预置时间内有两个计数器分别对被测信号和时基信号进行计数,从而取得计数值,然后进行一定的运算来得到被测信号的频率。其模块如图4.5和4.6所示: 图4.5 32位高速计数器 图4.6 40位高速计数器EN:计数使能信号,高电平有效。只有当EN为高电平时才允许计数器计数,它由上一个模块(D触发器)的输出端控制,即由实际闸门控制计数器计数。CLR:计数器清零信号,低电平有效。CLK:被测频率信号或标准脉冲信号,为输入端。其中被测信号是方波信号。标准的时基信

50、号是来自于分频模块的输出。在测量时,标准脉冲信号与被测频率信号同时被计数模块进行计数,然后,将两个测量结果进行比较、计算,得出被测信号的频率。OUT:32位计数结果输出端和40位计数结果输出端,负责输出计数结果。分频器模块运行仿真结果如图4.7所示:图4.7 分频器模块仿真结果4.4 锁存器模块设计锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个 I/O 口既能输出也能输入的问题,如图4.10所示

51、。 图4.8 32位锁存器 图4.9 40位锁存器load: 信号上升沿到来时将对输入到内部的计数信号进行锁存。din: 输入计数器的计数信号。dout: 输出锁存好的计数器的计数信号。 分频器模块运行仿真结果如图4.10所示:图4.10 锁存器模块仿真结果4.5 倒相器模块设计本设计所用的倒相器就是简单地将输入方波的高低电平颠倒,作为输出信号,输出出来,用来控制两个锁存器和乘法器,如图4.11所示。 图4.11 倒相器模块clk: 连接D触发器的Q端,作为倒相器的输入端。clk_o: 输出端,输出与clk端倒相的信号。倒相器模块运行仿真结果如图4.11所示:图4.11倒相器模块仿真结果4.6

52、 乘法器模块设计 本次设计使用的是时序逻辑设计方法设计一个32位乘法器,利用时钟信号控制乘法器运算,利用时序逻辑设计方法可以使整体设计具备流水线结构的特征,能使用在各种工程设计设计中,如图4.12所示。图4.12 乘法器模块clk: 时钟信号,48MHz。rst_n: 复位信号,低电平有效。start: 使能信号,为0表示信号无效,为1表示读入乘数,该信号由0变1后, 进行一次当前的乘法运算,进行下一次运算则需重新拉低该信号后拉高。in: 输入乘数,其数据位宽为40bit。yout:乘积输出,其数据位宽为64bit。done:输出有效标志位,为1表示乘法运算完成,为0表示乘积运算未完成。乘法器

53、部分源程序:module mux16(clk,rst_n,start,in,yout,done);input clk;/芯片的时钟信号。input rst_n;/低电平复位、清零信号。定义为0表示芯片复位;定义为1表示复位信号无效。input start; /芯片使能信号。定义为0表示信号无效;定义为1表示芯片读入输入管脚得乘数和被乘数,并将乘积复位清零。input31:0 in;/输入b(乘数),其数据位宽为16bit.output63:0 yout;/乘积输出,其数据位宽为32bit.output done;/芯片输出标志信号。定义为1表示乘法运算完成.reg31:0 areg;/乘数a寄存器reg31:0 breg;/乘数b寄存器reg63:0 yout_r;/乘积寄存器reg done_r;reg5:0 i;/移位次数寄存器/-/数据位控制always (posedge clk or negedge rst_n)if(!rst_n) i <= 6'd0;else if(start

温馨提示

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

评论

0/150

提交评论