基于FPGA的verilog频率计设计
- 格式:doc
- 大小:930.50 KB
- 文档页数:19
FPGA四位频率计设计Verilog语言实现设计任务:用混合设计的方法设计一个4位频率计,主要设计模块为测频控制器、计数器、锁存器、译码器,显示器为7段LED显示管。
并合理选择实验模式,进行下载测试。
//计数器模块modulejishu(clk,zamen,fuwei,jieguo1,jieguo2,jieguo3,jieguo4);inputclk;inputzamen;inputfuwei;output[3:0]jieguo1,jieguo2,jieguo3,jieguo4;reg[3:0]jieguo1,jieguo2,jieguo3,jieguo4;always @(posedgeclk)if(fuwei)beginjieguo1<=4'b0000;jieguo2<=4'b0000;jieguo3<=4'b0000;jieguo4<=4'b0000;endelse if(zamen) //4个if完成4位计数器的进位beginif(jieguo1==4'b1001)begin jieguo1<=4'b0000;jieguo2<=jieguo2+1;if(jieguo2==4'b1001)begin jieguo2<=4'b0000;jieguo3<=jieguo3+1;if(jieguo3==4'b1001)begin jieguo3<=4'b0000;jieguo4<=jieguo4+1;if(jieguo4==4'b1001)jieguo4<=4'b0000;endendendelsejieguo1<=jieguo1+1;endendmodulemodule DECL7S(A,LED7S);input[3:0]A;output[6:0]LED7S;reg[6:0]LED7S;always@(A)begincase(A)4'b0000: LED7S<=7'b0111111;4'b0001: LED7S<=7'b0000110;4'b0010: LED7S<=7'b1011011;4'b0011: LED7S<=7'b1001111;4'b0100: LED7S<=7'b1100110;4'b0101: LED7S<=7'b1101101;4'b0110: LED7S<=7'b1111101;4'b0111: LED7S<=7'b0000111;4'b1000: LED7S<=7'b1111111;4'b1001: LED7S<=7'b1101111;4'b1010: LED7S<=7'b1110111;4'b1011: LED7S<=7'b1111100;4'b1100: LED7S<=7'b0111001;4'b1101: LED7S<=7'b1011110;4'b1110: LED7S<=7'b1111001;4'b1111: LED7S<=7'b1110001; default:LED7S<=7'b0111111; endcaseendendmodulemodulecepin(CLKK,CNT_EN,RST_CNT,LOAD);input CLKK;output CNT_EN,RST_CNT,LOAD;wire CNT_EN,LOAD;reg RST_CNT,JICUN;always @(posedge CLKK)//两个always语句块实现测频功能JICUN<=~JICUN;always @(CLKK or JICUN)beginif(CLKK==1'b0 & JICUN==1'b0) RST_CNT<=1'b1;else RST_CNT<=1'b0;endassign LOAD=~JICUN;assign CNT_EN=JICUN;endmodule//锁存器module suocun(result1,result2,result3,result4,data1,data2,data3,data4,kaiguan);output[3:0]data1,data2,data3,data4;input[3:0]result1,result2,result3,result4;inputkaiguan;reg[3:0]data1,data2,data3,data4;always @(posedgekaiguan)if(kaiguan)begindata1<=result1;data2<=result2;data3<=result3;data4<=result4;endendmodule。
唐山学院毕业设计设计题目:基于FPGA的数字频率计设计与实现系别:信息工程系班级:10应用电子技术(1)班*名:******师:***2013年6月10 日基于FPGA的数字频率计设计与实现摘要在电子设计领域,随着计算机技术、大规模集成电路技术、EDA(Electronics Design Automation)技术的发展和可编程逻辑器件的广泛应用,传统的自下而上的数字电路设计方法、工具、器件已远远落后于当今技术的发展。
基于EDA技术和硬件描述语言的自上而下的设计技术正在承担起越来越多的数字系统设计任务。
本课题的数字频率计设计,采用自上向下的设计方法。
本文首先综述了EDA 技术的概况,接着介绍硬件描述语言VHDL,可编程器件FPGA及频率测量的一般原理;然后介绍数字频率计的系统设计,频率计各系统模块的VHDL语言实现,最后利用QUARTUS Ⅱ集成开发环境进行编辑、综合、波形仿真,并下载到CPLD器件中,经实际电路测试,仿真和实验结果表明,此频率计具有较高的实用性和可靠性。
关键字:EDA FPGA 数字频率计VHDL语言Design and Implementation ofDigital Frequency Meter Based on FPGAAbstractIn the field of electronic design, with the development of computer technology, LSI technology, EDA (Electronics Design Automation)technology and wide application of programmable logic devices, the traditional bottom-up digital circuit design methods, tools, devices have far behind today's technology. The top-down design techniques based on EDA technology and hardware description language are taking on more and more digital system design task.The topic digital frequency meter design uses top-down design approach. First, this paper summarizes the overview of EDA technology, then it describes the hardware description language which is called VHDL, FPGA programmable device and the general principles of frequency measurement; then it introduces the system design of digital frequency meter, and the realization of frequency meter each system module VHDL. Finally using QUARTUSⅡ integrated development environment edits, synthesizes, and simulates, and download to the CPLD devices, by using the actual circuit testing, simulation and experimental results show that this frequency meter is high availability and reliability.Keywords:EDA; FPGA;digital frequency meter;VHDL language目录1 引言 (1)2 硬件描述语言(HDL) (2)2.1VHDL语言简介 (2)2.2 利用VHDL语言开发的优缺点 (3)3 电子设计自动化(EDA)发展概述 (4)3.1 EDA的简介 (4)3.2 EDA的发展史 (4)3.3基于EDA的FPGA/CPLD开发 (5)3.3.1 FPGA/CPLD的简介 (6)3.3.2 用FPGA/CPLD进行开发的优缺点 (7)4 频率计的测量及方案选择 (9)4.1 数字频率计工作原理概述 (9)4.2 测频原理及误差分析 (10)4.2.1常用测频方案 (10)4.2.2 等精度测频原理 (10)4.2.3误差分析 (11)5 数字频率计的系统设计与功能仿真 (13)5.1 系统的总体设计 (13)5.2 频率计模块 (14)5.2.1 测频控制模块 (14)5.2.2 锁存器模块 (15)5.2.3 十进制计数器模块 (16)5.3 显示模块 (17)5.3.1显示模块设计 (17)5.3.2译码器模块 (18)5.3.3四位二进制数与十六位二进制数转换的源程序 (19)5.3.4十六位二进制数与四位二进制数转换的源程序 (19)5.3.5四位二进制数与段码转换的源程序 (21)6 整形电路设计 (22)6.1 555定时器的工作原理 (22)6.2 施密特触发器 (23)6.2.1 电路结构 (23)6.2.2 工作原理 (23)6.3波形的整形 (24)7 软件测试及硬件下载 (25)7.1 QuartusII软件简介 (25)7.2 QuartusII的设计流程 (25)7.3 QuartusII软件的使用方法 (26)7.3.1 创建底层模块 (26)7.3.2 构建顶层模块 (30)7.4 下载及硬件实现 (32)8 结论 (34)谢辞 (35)参考文献 (36)附录Ⅰ频率计顶层文件 (38)附录Ⅱ源程序 (39)1引言21世纪人类将全面进入信息化社会,对微电子信息技术和微电子VLSI基础技术将不断提出更高的发展要求,微电子技术仍将继续是21世纪若干年代中最为重要的和最有活力的高科技领域之一。
毕业论文声明本人郑重声明:1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。
除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。
对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。
本人完全意识到本声明的法律结果由本人承担。
2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。
本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。
3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。
4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。
论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。
论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。
学位论文作者(签名):年月关于毕业论文使用授权的声明本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。
本人完全了解大学有关保存,使用毕业论文的规定。
同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。
本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。
如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。
本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。
本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。
基于FPGA的频率计的设计和实现金鹏湖北理工学院湖北省黄石市 435000摘要频率计是一种重要的电子测量仪器,本文主要针对使用FPGA(Field Programmable Gate Array)制作一个简单的频率计。
以FPGA(Field Programmable Gate Array)为核心,基于Verilog HDL语言来设计与实现数字频率计。
该频率计具有体积小,性能稳定的特点。
使用FPGA可以顺利设计和实现数字频率计。
关键词:FPGA,频率计,Verilog HDLDesign and implementation of FPGA based on the frequency meterJin pengHubei institute of technology Huangshi city of hubei provinceAbstractFrequency meter is an important electronic measuring instruments, and this article is focused on using FPGA (Field Programmable Gate Array) produced a simple frequency meter. FPGA (Field Programmable Gate Array), design and realization of the digital frequency meter based on Verilog HDL language. The frequency meter has a small size, stable performance characteristics. FPGA can successfully design and implement digital frequency meter.Key words: FPGA, frequency meter, Verilog HDL1总体方案1.1引言频率计又称为频率计数器,频率计最基本的工作原理为:当被测信号在特定时间段T内的周期个数为N时,则被测信号的频率f=N/T。
姓名:郑中权班级:电子1班 数电课设报告江苏科技大学2017/10/12100MHz等精度频率计设计(基于Verilog HDL)一、设计要求:提供一个幅值为10mV ~ 1 V,频率为 1 ~ 100MHz的正弦信号,需测试以下指标:1.频率:测频范围 1Hz ~ 100MHz,测频精度为测频全域内相对误差恒为百万分之一。
2.占空比:测试精度 1% ~ 99%3.相位差:测试两个同频率的信号之间的相位差,测试范围 0 ~ 360二、设计分析使用FPGA数字信号处理方法,首先需要将正弦信号转换成可读取的数字方波信号,再经过FPGA设计计算得出所需测量值。
三、模电部分首先选择比较器,对于 100 MHz 信号,比较器灵敏度需要达到5ns内,TI公司的LTV3501灵敏度为4.5ns,符合要求由TLV3501数据手册得知:当频率低于 50MHz 的时候,正弦波的峰峰值需大于20mV,频率高于50MHz时,峰峰值需大于 1V。
然后需要选择放大器,当正弦波幅值为 10mV时,放大倍数需大于35。
方法通过二级放大,一级用OPA847放大20倍,二级用OPA675放大8倍,得到总放大倍数160的正弦波。
经转换后的输出电压符合TTL电平要求,可以被识别出0和1。
四、数电部分开发板:Cyclone IV E: EP4CE6E22C8板载时钟为 50MHz,带4个按键和一个复位键(按键按下为0,抬起为1),四个七段数码管(共阳),FPGA的引脚可由杜邦线引出。
设计思路:测量频率:输入一个100MHz的基准频率,由计数器CNT1来计算基准频率的上升沿个数,即周期数。
输入一个被测信号,它由计数器CNT2来测量周期数。
两个信号在同一个使能信号EN(使能信号时间为1~2s)下开始计数,计数完后,存储计数结果,由(CNT1 * 10)可以算出具体的计数时间(单位ns),再由((CNT1 * 10ns)/CNT2 )*10^9可算得被测信号频率,单位Hz。
基于 FPGA 的数字频率计的设计与实现随着现代科技的不断发展,我们对数字信号处理的需求也越来越高。
数字频率计作为一种用来测量信号频率的仪器,在许多领域有着广泛的应用,包括无线通信、雷达系统、声音处理等。
在这些应用中,精确、高速的频率测量常常是至关重要的。
而基于 FPGA 的数字频率计正是利用了 FPGA 高速并行处理的特点,能够实现高速、精确的频率计算,因此受到了广泛关注。
本文将从设计思路、硬件实现和软件调试三个方面,对基于 FPGA 的数字频率计的设计与实现进行详细讲解。
一、设计思路1.1 频率计原理数字频率计的基本原理是通过对信号进行数字化,然后用计数器来记录单位时间内信号的周期数,最后根据计数器的数值和单位时间来计算信号的频率。
在 FPGA 中,可以通过硬件逻辑来实现这一过程,从而实现高速的频率计算。
1.2 FPGA 的优势FPGA 作为一种可编程逻辑器件,具有并行处理能力强、时钟频率高、资源丰富等优点。
这些特点使得 FPGA 在数字频率计的实现中具有天然的优势,能够实现高速、精确的频率测量。
1.3 设计方案在设计数字频率计时,可以采用过采样的方法,即对输入信号进行过取样,得到更高精度的测量结果。
还可以结合 PLL 锁相环等技术,对输入信号进行同步、滤波处理,提高频率测量的准确性和稳定性。
二、硬件实现2.1 信号采集在 FPGA 中,通常采用外部 ADC 转换芯片来对输入信号进行模数转换。
通过合理的采样率和分辨率设置,可以保证对输入信号进行精确的数字化处理。
2.2 计数器设计频率计最关键的部分就是计数器的设计。
在 FPGA 中,可以利用计数器模块对输入信号进行计数,并将计数结果送入逻辑单元进行进一步的处理。
2.3 频率计算通过对计数结果进行适当的处理和归一化,可以得到最终的信号频率。
在这一过程中,需要注意处理溢出、误差校正等问题,以保证频率测量的准确性和稳定性。
三、软件调试3.1 FPGA 开发环境在进行基于 FPGA 的数字频率计设计时,可以选择常见的开发工具,例如 Xilinx Vivado 或 Quartus II 等。
基于verilog语言的数字频率计设计以下是一种基于Verilog语言的数字频率计设计:```verilogmodule frequency_counterinput clk, //输入时钟input reset, //复位信号input enable, //启用信号input signal_in, //输入信号output [31:0] frequency //输出频率reg [31:0] count; //计数器if (reset) begincount <= 0;end else if (enable) beginif (signal_in) begincount <= count + 1;endendendassign frequency = count; //将计数器值赋给输出端口endmodule```在此设计中,我们使用一个32位的计数器(count)来计算输入信号(signal_in)的高电平脉冲数。
输入时钟(clk)用于同步计数器的操作。
复位信号(reset)用于将计数器复位为0。
启用信号(enable)用于控制计数器的启用与禁用。
当reset为高电平时,计数器会被复位为0。
当enable为高电平时,计数器会逐渐增加,直到输入信号(signal_in)为低电平。
此时,计数器的值会保持不变。
最终,计数器的值会通过输出端口frequency输出。
在这个设计中,frequency是一个32位的输出端口,表示输入信号的高电平脉冲数。
这个设计可以通过Verilog仿真工具进行仿真,并且可以综合到FPGA芯片中进行硬件实现。
基于FPGA的高精度频率计设计实验一.实验目的1.熟悉数字存储示波器基本工作原理。
2.掌握硬件测频和测周的基本原理。
3.掌握在现有综合实践平台上开发DSO硬件频率U•模块的方案及流程。
二.实验内容1.结合数据采集、存储和触发模块的FPGA代码,理解DSO的基本工作原理。
2.编写FPGA代码完善DSO的频率计模块,实现高精度测频和测周功能。
三.预备知识1.了解综合实践平台硬件结构。
2.熟悉Xilinx ISE Design Suite 13.2开发环境使用方法。
3.熟悉Verilog HDL硬件描述语言的语法及运用。
四.实验设备与工具硬件:测试技术与嵌入式系统综合实践平台,PC机Pentium 100以上,XILINX USB调试下载器。
软件:PC机Win XP操作系统,Xilinx ISE Design Suite 13.2 开发环境五.实验步骤1.打开工程文件SYPT_FPGA.xise2.打开freq_measure.v和period_measure.v文件,先根据定义好的模块端口输入输山信号,结合测频和测周的原理,在提示添加代码处补充代码:a.测频模块(freq_measure.v)测频模块的基本功能是测量闸门吋间内被测信号的脉冲个数。
实现过程如下:(1)由标准时钟计数产生一个预设闸门信号,然后用被测信号同步预设闸门信号产生实际闸门信号;要求:预设闸门时间可根据用户选择信号(select_parameter)在50ms、100ms、Is、10s屮切换。
具体代码如下阁//select gate value: CNT_GATA_VALUEalways @(posedge clkin)begincase (select_parauceter [1:0])2*b00: CNT_GATA_VALUE = 500000; //gate 50ms2*b01: CNT:GATA:VALUE = 1000000; //gate 100ms2*bl0: CNT:GATA:VALUE = 10000000; //gate Is2^11: CNT:GATA:VALUE = 100000000; //gate 10sendcaseend(2)标准时钟和被测信号在实际闸门内计数。
基于FPGA的高精度频率计设计摘要频率计是一种应用非常广泛的电子仪器,也是电子测量领域中的一项重要内容,而高精度的频率计的应用尤为广泛。
目前宽范围、高精度数字式频率计的设计方法大都采用单片机加高速、专用计数器芯片来实现。
传统的频率测量利用分立器件比较麻烦,精度又比较低,输入信号要求过高,很不利于高性能场合应用。
本论文完成了高精度数字频率计硬件设计和软件设计。
该数字频率计主要包括FPGA和单片机两大部分。
其中FPGA部分又可分为数据测量模块、FPGA和单片机接口模块、FPGA和数码管动态扫描部分。
FPGA部分采用verilog语言编写了电路的各模块电路,选用了当前比较流行的EDA开发软件Quartus II作为开发平台,所有模块程序均通过了编译和功能仿真验证。
对测频系统的设计流程、模型的建立和仿真做出了具体详细的研究,验证了该系统的正确性。
单片机部分采用C51编写了控制软件。
本设计中以FPGA器件作为系统控制的核心,其灵活的现场可更改性,可再配置能力,对系统的各种改进非常方便,在不更改硬件电路的基础上还可以进一步提高系统的性能。
关键词:频率计,单片机,FPGA,电子设计自动化Design of High-accuracy Digital Frequency MeterBased on FPGAABSTRACTFrequency meter is a kind of electronic instrument applied widely. A kind of high-accuracy digital frequency meter is designed based on FPGA in this paper.At present extends the scope,the high accuracy digital frequency meter's design method to use the monolithic integrated circuit to add, the special-purpose counter chip mostly to realize high speed.The design of system hardware and system software is accomplished in the paper. System consists of FGPA and MCU. The circuit based on FPGA includes following some parts: data acquisition module, interface between FPGA and MCU, module scanning number tube. Every circuit module is realized by verilog.The platform of development is Quartus II and all modules procedure is demonstrated by compiling and simulation. Detailed research of design flow, model establishment and system simulation is done. The correctness of the system is demonstrated. The software based on MCU is programmed by C51.In this design takes the systems control by the FPGA component the core, its nimble scene alterability, may dispose ability again, is convenient to system's each kind of improvement, in does not change in hardware circuit's foundation also to be possible to further enhance system's performance.The system has the advantage of high-accuracy and convenience. It’s practicability of frequency meter is well.KEY WORDS: Frequency meter, MCU, FPGA, electronic design automation目录摘要........................................................................................................................................ I ABSTRACT .............................................................................................................................. I I 第1章绪论 (1)1.1研究背景及意义 (1)1.2国内外研究现状 (1)1.2.1 频率计的测量方法 (1)1.3EDA技术简介 (3)1.4本论文内容及安排 (4)第2章频率测量方法与原理 (6)2.1直接测频法 (6)2.2利用电路的频率特性进行测量 (7)2.2.1 电桥法测频 (8)2.2.2 谐振法测频 (8)2.2.3 频率—电压转换法测频 (8)2.3等精度测量法 (8)2.4本章小结 (10)第3章系统总体设计方案 (11)3.1频率计系统设计任务与分析 (11)3.1.1 频率计系统设计任务要求 (11)3.1.2 频率计系统设计任务分析 (11)3.2系统总体设计方案 (11)3.3FPGA内部功能模块设计 (12)3.4本章小结 (14)第4章系统的硬件电路设计 (15)4.1FPGA部分的硬件设计 (15)4.1.1 FPGA简介 (15)4.1.2 FPGA芯片的选型 (15)4.2单片机部分的硬件电路设计 (17)4.2.1 单片机的选型原则 (17)4.2.2 单片机控制电路的设计 (18)4.3外围电路设计 (19)4.3.1 键盘接口电路 (19)4.3.2 显示电路 (19)4.3.3 电源电路 (20)4.3.4 信号放大整形电路 (20)4.3.4 其它电路 (21)4.4本章小结 (22)第5章系统的软件设计 (23)5.1VERILOG HDL语言简介 (23)5.2QUARTUS II软件简介 (24)5.3基于EDA技术的设计方法 (25)5.3.1 自底向上的设计方法 (25)5.3.2 自顶向下的设计方法 (26)5.4FPGA内部功能模块设计 (26)5.4.1 D触发器模块 (27)5.4.2 32位高速计数器模块 (28)5.4.3 二选一选择器模块 (29)5.4.4 并—串转换接口模块 (31)5.4.5 串—并转换接口模块 (31)5.4.6 二进制数到8421BCD码转换模块 (32)5.4.7 LED动态扫描显示控制模块 (33)5.5单片机部分的软件设计 (35)5.6本章小结 (36)第6章结论 (37)致谢 (39)参考文献 (40)附录I 顶层原理图 (42)附录II VERILOG程序源代码 (43)基于FPGA的高精度频率计设计 1第1章绪论1.1 研究背景及意义在电子测量技术领域内,频率是一个最基本的参数。
电子科技大学(基于FPGA的频率计设计)题目:简易频率计的设计指导教师:********学号:**********专业:光电学院一专业摘要本文主要介绍了基于FPGA 的简易多量程频率计的设计,使用硬件描述语言verilog来实现对硬件的控制,在软件ISE上实现编程的编译综合,在系统时钟48Mhz下可正常工作。
该数字频率计采用测频的方法,能准确的测量频率在10Hz到100MHz之间的信号。
使用ModelSim仿真软件对Verilog程序做了仿真,并完成了综合布局布线,通过ISE下载到Spartan3A开发板上完成测试。
关键词:FPGA ,verilog,ISE,测频方法AbstractThis paper mainly introduces the simple more range based on FPGA design of frequency meter,Use hardware description language verilog to realize the control of hardware,In the software realize the compilation of the programming ISE on comprehensive,In the system clock can work normally under 48 Mhz。
The digital frequency meter frequency measurement method used, can accurate measurement frequency in 10 Hz to 100 MHz of signals between。
Use ModelSim simulation software Verilog program to do the simulation, and completed the overall layout wiring,Through the ISE downloaded to Spartan3A development board complete test。
Keywords: FPGA, Verilog, ISE, F requency M easurement目录第一章测量原理与方法1.1测频方法1.2测周方法1.3等精度测量法1.4放大整形电路1.5时基信号产生第二章任务要求第三章各模块功能及介绍3.1分频器3.2闸门选择器3.3频率计数器3.4锁存器3.5扫描显示控制译码系统第四章顶层电路及总体仿真4.1顶层电路4.2总体仿真结果4.3测试结果第一章:测量原理与方法所谓“频率”,就是周期性信号在单位时间(秒)内变化的次数。
若在一定的时间间隔T内计数,计得某周期性信号的重复变化次数为N,则该信号的频率可表达为:f = N / T所以测量频率就要分别知道N和T的值,由此,测量频率的方法一般有三种:测频方法、测周方法和等精度测量。
1.1测频方法这种方法即已知时基信号(频率或周期确定)做门控信号,T为已知量,然后在门控信号有效的时间段内进行输入脉冲的计数,原理图如下图所示:首先,被测信号①(以正弦波为例)经过放大整形后转变成方波脉冲②,其重复频率等于被测信号频率。
把方波脉冲②加到闸门的输入端。
由一个高稳定的石英振荡器和一系列数字分频器组成了时基信号发生器,它输出时间基准(或频率基准)信号③去控制门控电路形成门控信号④,门控信号的作用时间T是非常准确的(由石英振荡器决定)。
门控信号控制闸门的开与闭,只有在闸门开通的时间内,方波脉冲②才能通过闸门成为被计数的脉冲⑤由计数器计数。
闸门开通的时间称为闸门时间,其长度等于门控信号作用时间T。
比如,时间基准信号的重复周期为1S,加到闸门的门控信号作用时间T亦准确地等于1S,即闸门的开通时间——“闸门时间”为1S。
在这一段时间内,若计数器计得N=100000个数,根据公式f = N / T,那么被测频率就是100000Hz。
如果计数式频率计的显示器单位为“KHz”,则显示100.000KHz,即小数点定位在第三位。
不难设想,若将闸门时间设为T=0.1S,则计数值为10000,这时,显示器的小数点只要根据闸门时间T的改变也随之自动往右移动一位(自动定位),那么,显示的结果为100.00Khz。
在计数式数字频率计中,通过选择不同的闸门时间,可以改变频率计的测量范围和测量精度。
1.2测周方法测周方法即:被测信号(频率或周期待测)做门控信号,T为未知量,做门控信号T,然后在门控信号有效的时间段内对时基信号脉冲计数,原理图如下图所示:计数器测周的基本原理刚好与测频相反,即由被测信号控制主门开门,而用时标脉冲进行计数,所以实质上也是一种比较测量方法。
1.3等精度测量法等精度测量法的核心思想是通过闸门信号与被测信号同步,将闸门时间τ控制为被测信号周期长度的整数倍。
测量时,先打开预置闸门,当检测到被测信号脉冲沿到达时,标准信号时钟开始计数。
预置闸门关闭时,标准信号并不立即停止计数,而是等检测到被测信号脉冲沿到达时才停止,完成被测信号整数个周期的测量。
测量的实际闸门时间可能会与预置闸门时间不完全相同,但最大差值不会超过被测信号的一个周期。
在等精度测量法中,相对误差与被测信号本身的频率特性无关,即对整个测量域而言,测量精度相等,因而称之为“等精度测量”。
标准信号的计数值越大则测量相对误差越小,即提高门限时间τ和标准信号频率可以提高测量精度。
在精度不变的情况下,提高标准信号频率可以缩短门限时间,提高测量速度。
原理图如下:1.4放大整形电路当输入信号为0.5V时,仿真放大整形后的输出结果如下图示图1-6 放大整形电路仿真结果(一)当输入信号为3V时,仿真放大整形后的输出结果如下图示:当输入信号为10V时,仿真放大整形后的输出结果如下图示:图1-6 放大整形电路仿真结果(三)1.5时基信号的产生图1-7 时基信号产生电路第二章:任务要求设计一个计数式频率计,其频率测量范围为10Hz~100MHz,测量结果用6只数码管显示。
有三个带锁按键开关(任何时候都只能有一个被按下)被用来选择1S、0.1S和0.01S三个闸门时间中的一个。
有一个按钮开关用来使频率计复位。
有两只LED,一只用来显示闸门的开与闭,另一只当计数器溢出时做溢出指示。
第三章:各功能模块的基本介绍3.1分频器由于晶体振荡器提供的为48M的时钟,而在整个频率计里将用到周期为2s、0.2s和0.02s的闸门信号,还有译码显示的扫描信号1KHz ,所以我们在此模块先分频产生1Hz、10Hz、100Hz、1KHz四个分频信号,以留作其它模块用。
分频分别采用4个计数器来实现,当计到一定的值时输出的分频信号翻转,最后分别获得4个分频输出,分频器模块如下图所示:此模块的复位为同步方式,当复位有效时,输出将清零。
源程序如下:module clk_div(reset, clk,clk_1hz, clk_10hz, clk_100hz,clk_1khz);input reset,clk;output reg clk_1hz,clk_10hz,clk_100hz,clk_1khz;reg [29:0] counter1,counter2,counter3,counter4; //分频计数值always @(posedge clk or negedge reset)beginif(!reset)begincounter1<=0;counter2<=0;counter3<=0;counter4<=0;clk_1hz<=0;clk_10hz<=0;clk_100hz<=0;clk_1khz<=0;end else beginif(counter1==2400000)begin counter1<=0;clk_1hz<=~clk_1hz; endelse begin counter1<=counter1+1; endif(counter2==240000) begin counter2<=0;clk_10hz<=~clk_10hz;end elsebegin counter2<=counter2+1; endif(counter3==24000)begin counter3<=0;clk_100hz<=~clk_100hz; endelsebegin counter3<=counter3+1; endif(counter4==2400)begin counter4<=0;clk_1khz<=~clk_1khz; endelsebegin counter4<=counter4+1; endendendendmodule仿真图如下所示:3.2闸门选择器:该模块主要实现对闸门的选择功能,通过输入的门选信号来确定输出的闸门,生成的模块如下图所示:具体实现方法如下:当三个门选信号中有且仅有门选信号gate_ch1有效时,reg变量gate为clk_1hz ,当三个门选信号中有且仅有门选信号gate_ch2有效时,reg变量gate为clk_10hz;当三个门选信号中有且仅有门选信号gate_ch3有效时,reg变量gate为clk_100hz。
reg变量gate再二分频则是输出的闸门信号gate_out(dot 为标记信号,标记了当前闸门的选择情况)。
如果同时有两个或以上的门另外输出的译码扫描信号为clk_1khz ,供后面的扫描译码模块使用程序如下:module gate_sel(reset,gate_ch1,gate_ch2,gate_ch3,clk_1hz,clk_10hz,clk_100hz,clk_1khz,gate_outdot);input reset,gate_ch1,gate_ch2,gate_ch3,clk_1hz,clk_10hz,clk_100hz,clk_1khz;output reg gate_out;output reg [2:0]dot;always @(posedge clk_1khz or negedge reset)beginif(!reset)begin gate_out<=0;dot<=3'b111;endelsebeginif((gate_ch1==0)&&(gate_ch2==1)&&(gate_ch3==1))begin gate_out<=clk_1hz; dot<=3'b011;endelse if((gate_ch1==1)&&(gate_ch2==0)&&(gate_ch3==1))begin gate_out<=clk_10hz;dot<=3'b010;endelse if((gate_ch1==1)&&(gate_ch2==1)&&(gate_ch3==0))begin gate_out<=clk_100hz;dot<=3'b001;endelsebegin gate_out<=0;dot<=3'b111;endendendendmodule3.3频率计计数频率计数器的功能为在输入的闸门信号的控制下对输入脉冲时行计数,它是一个7拉的模十计数器。