100MHz等精度频率计设计(基于Verilog HDL)

合集下载

计算机毕业论文_基于FPGA的等精度频率计的设计与实现

计算机毕业论文_基于FPGA的等精度频率计的设计与实现

目录前言...............................................................1 第一章 FPGA及Verilog HDL..........................................2 1.1 FPGA简介.....................................................2 1.2 Verilog HDL 概述.............................................2 第二章数字频率计的设计原理........................................3 2.1 设计要求.....................................................3 2.2 频率测量.....................................................3 2.3.系统的硬件框架设计..............................................4 2.4系统设计与方案论证............................................5 第三章数字频率计的设计............................................8 3.1系统设计顶层电路原理图........................................8 3.2频率计的VHDL设计.............................................9 第四章软件的测试...............................................15 4.1测试的环境——MAX+plusII.....................................15 4.2调试和器件编程...............................................15 4.3频率测试.....................................................16基于FPGA的等精度频率计的设计与实现摘要:本文详细介绍了一种基于FPGA的高精度频率计。

基于Verilog语言的等精度测频计设计

基于Verilog语言的等精度测频计设计

基于Ver ilog语言的等精度频率计设计赵 亮,吴振宇(大连理工大学创新院,辽宁省大连市116023)摘 要:介绍了等精度测量频率的原理,利用Veril og硬件描述语言设计实现了频率计内部功能模块,对传统的等精度测量方法进行了改进,增加了测量脉冲宽度的功能;采用AT89S51单片机进行数据运算处理,利用液晶显示器对测量的频率、周期、占空比进行实时显示,可读性好。

充分发挥FPG A(现场可编程门阵列)的高速数据采集能力和单片机的高效计算与控制能力,使两者有机地结合起来。

在QuartusⅡ6.0EDA(电子设计自动化)开发平台上进行仿真、测试,并最终下载到FPG A芯片内部。

系统测量精度高,实时性好,具有很好的应用前景。

关键词:等精度;频率计;Veril og硬件描述语言;单片机中图分类号:T M935.1收稿日期:2007201222;修回日期:2007203221。

0 引 言传统测量频率的方法主要有直接测量法、分频测量法、测周法等,这些方法往往只适用于测量一段频率,当被测信号的频率发生变化时,测量的精度就会下降。

本文提出一种基于等精度原理的测量频率的方法,在整个频率测量过程中都能达到相同的测量精度,而与被测信号的频率变化无关。

本文利用FPG A(现场可编程门阵列)的高速数据处理能力,实现对被测信号的测量计数;利用单片机的运算和控制能力,实现对频率、周期、脉冲宽度的计算及显示。

1 等精度测量原理等精度测量的一个最大特点是测量的实际门控时间不是一个固定值,而是一个与被测信号有关的值,刚好是被测信号的整数倍。

在计数允许时间内,同时对标准信号和被测信号进行计数,再通过数学公式推导得到被测信号的频率。

由于门控信号是被测信号的整数倍,就消除了对被测信号产生的±1误差,但是会产生对标准信号±1的误差。

如图1所示。

图1 等精度测量原理系统中,如果采用的标准信号源的精度很高,就可以达到一个很高的测量精度,一般情况下都是采用晶体作为标准信号源,因此可以达到很高的精度,满足一般系统的要求。

基于Verilog的数字频率计的设计(包含代码及仿真)

基于Verilog的数字频率计的设计(包含代码及仿真)

一、实验名称数字频率计的设计二、实验地点211楼303三、实验目的和任务(1) 了解数字电路设计的基本特点(2) 了解数字频率计电路的基本原理(3) 基本掌握ISE 软件的使用(设计输入、仿真、实现)(4) 了解可编程逻辑器件(FPGA )的一般情况(5) 基本掌握HDL 的使用四、实验内容(1) 设计出符合设计要求的解决方案(2) 设计出单元电路(3) 利用EDA 软件对各单元电路及整体电路进行仿真(4)利用EDA 软件在ELB 电子课程设计实验板实现设计(5) 观察实验结果五、项目需用仪器设备名称以及所需主要元器件PC 机、EDA教学实验系统一台,带有(SPARTAN -3A XC3S200A芯片,LED 管, 七段数码管等)的实验板一块, 跳线、下载电缆一根,函数发生器。

六、实验任务与要求频率测量范围为10Hz~10MHz,用6只数码管以kHz为单位显示测量结果;有三个带锁按键开关(任何时候都只会有一个被按下)用来选择1S、0.1S和0.01S三个闸门时间中的一个;有一个按钮开关用来使频率计复位;有两只LED,一只用来显示闸门的开与闭,另一只当计数器溢出时做溢出指示。

数字频率计的相关技术指标如下:1、位数:测量频率通过LED数码管为六位十进制数显示。

2、测试频率范围为:10HZ-10MHZ。

3、计数器溢出时要有溢出标志over。

4、需要有闸门标志gate。

5、显示工作方式:a、用BCD七段共阳极数码管显示读数,只有在读数不发生跳变时才是正确的结果。

b、采用记忆显示方法,即在一次测试结束时,显示测试结果,此显示值一直保留到下次测量显示数到来,才将上次显示更新。

用第二次测试结果,更新显示值。

6、要求被测输入信号应是符合数字电路要求的脉冲波。

七、verilog设计环境介绍VerilogVerilog HDL是目前应用最为广泛的硬件描述语言.Verilog HDL可以用来进行各种层次的逻辑设计,也可以进数字系统的逻辑综合,仿真验证和时序分析等。

基于FPGA的等精度频率计的设计毕业设计论文

基于FPGA的等精度频率计的设计毕业设计论文

毕业论文声明本人郑重声明:1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。

除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。

对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。

本人完全意识到本声明的法律结果由本人承担。

2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。

本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。

3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。

4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。

论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。

论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。

对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。

学位论文作者(签名):年月关于毕业论文使用授权的声明本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。

本人完全了解大学有关保存,使用毕业论文的规定。

同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。

本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。

如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。

本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。

本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。

基于verilog的频率计

基于verilog的频率计

基于verilog的频率计——————————————————高风顶层模块module top(seg,dig,ena,ove_led,gate,dp,khz_led,clk,clk2,key1,key2,key3,reset);input clk,clk2,key1,key2,key3,reset;output ena,ove_led,gate,dp,khz_led;output [6:0] seg;output [2:0] dig;wireclk_10hz,clk_100hz,clk_1khz,clk_10khz,fre10,load,clr_count,ove;wire [3:0] cnt0,cnt1,cnt2,cnt3,cnt4,cnt5;divclk U1(.clk(clk),.clk_10hz(clk_10hz),.clk_100hz(clk_100hz),.clk_1khz(clk_1khz),.clk_10khz(clk_10khz));chang U2(.clk_10hz(clk_10hz),.clk_100hz(clk_100hz),.clk_1khz(clk_1khz),.clk_10khz(clk_10khz),.key1(key1),.key2(key2),.key3(key3),.fre10(fre10));gatetest U3(.fre10(fre10),.gate(gate),.load(load),.clr_count(clr_count) );counter U4(.clk_1khz(clk_1khz), .reset(reset),.clk2(clk2),.gate(gate),.clr_count(clr_count), .cnt0(cnt0),.cnt1(cnt1),.cnt2(cnt2),.cnt3(cnt3),.cnt4(cnt4),.cnt5(cnt5),.ove(ove));decode U5(.dig(dig),.load(load),.ena(ena),.seg(seg),.clk_1khz(clk_1khz), .key1(key1),.key2(key2),.key3(key3),.dp(dp),.khz_led(khz_led),.ove(ove),.ove_led(ove_led),.cnt0(cnt0),.cnt1(cnt1),.cnt2(cnt2),.cnt3(cnt3),.cnt4(cnt4),.cnt5(cnt5));Endmodule分频器module divclk(clk,clk_10hz,clk_100hz,clk_1khz,clk_10khz);input clk;output reg clk_10hz,clk_100hz,clk_1khz,clk_10khz;reg[29:0] counter1,counter2,counter3,counter4;initialbegincounter1<=0;counter2<=0;counter3<=0;counter4<=0;clk_10hz<=0;clk_100hz<=0;clk_1khz<=0;clk_10khz<=0;endalways @(posedge clk)beginif(counter1==2400000) begin counter1<=0;clk_10hz<=~clk_10hz; endelse begin counter1<=counter1+1;endif(counter2==240000) begin counter2<=0;clk_100hz<=~clk_100hz;endelse begin counter2<=counter2+1;endif(counter3==24000) begin counter3<=0;clk_1khz<=~clk_1khz;endelse begin counter3<=counter3+1;endif(counter4==2400) begin counter4<=0;clk_10khz<=~clk_10khz;endelse begin counter4<=counter4+1;endendendmodule按键换挡module chang(clk_10hz,clk_100hz,clk_1khz,clk_10khz,key1,key2,key3,fre10);input clk_10hz,clk_100hz,clk_1khz,clk_10khz;input key1,key2,key3;output reg fre10;always @(posedge clk_10khz)beginif((key1==0)&&(key2==1)&&(key3==1)) beginfre10<=clk_10hz;endelse if((key1==1)&&(key2==0)&&(key3==1)) beginfre10<=clk_100hz; endelse if((key1==1)&&(key2==1)&&(key3==0)) beginfre10<=clk_1khz; endelse begin fre10<=0;endendendmodule闸门信号产生模块module gatetest(fre10,gate,load,clr_count);input fre10;output reg gate,load,clr_count;reg [3:0] lat;initialbegingate<=1;load<=1;clr_count<=0;lat<=0;endalways @(posedge fre10)beginlat <=lat+1;gate <= (lat < 10);load <= (lat == 11);clr_count <= (lat == 13);endendmodule计数器模块modulecounter(clk_1khz,reset,clk2,gate,clr_count,cnt0,cnt1,cnt2,cnt3,cnt 4,cnt5,ove);input reset,clk2,gate,clr_count,clk_1khz;output reg [3:0] cnt0,cnt1,cnt2,cnt3,cnt4,cnt5;output reg ove;reg clr,dout1,dout2,dout3;initialbegincnt0<=0;cnt1<=0;cnt2<=0;cnt3<=0;cnt4<=0;cnt5<=0;ove<=1;endalways @(posedge clk_1khz)begindout1 <= reset;dout2 <= dout1;dout3 <= dout2;endalways @(negedge clk_1khz)begin clr <=(dout1 | dout2 | dout3);endalways @(posedge clk2 or negedge clr)beginif(!clr) begin cnt0<=0;cnt1<=0;cnt2<=0;cnt3<=0;cnt4<=0;cnt5<=0;end else beginif(clr_count) begincnt0<=0;cnt1<=0;cnt2<=0;cnt3<=0;cnt4<=0;cnt5<=0; ove<=1;endelse beginif(gate==1)if((cnt5==9)&&(cnt4==9)&&(cnt3==9)&&(cnt2==9)&&(cn t1==9)&&(cnt0==9))begin cnt0<=0;cnt1<=0;cnt2<=0;cnt3<=0; cnt4<=0;cnt5<=0;ove<=0;endelse beginif((cnt4==9)&&(cnt3==9)&&(cnt2==9)&&(cnt1==9)&&(cn t0==9))begin cnt0<=0; cnt1<=0; cnt2<=0; cnt3<=0;cnt4<=0; cnt5<=1+cnt5; endelse beginif((cnt3==9)&&(cnt2==9)&&(cnt1==9)&&(cnt0==9))begin cnt0<=0; cnt1<=0; cnt2<=0; cnt3<=0;cnt4<=1+cnt4; cnt5<=cnt5;endelse beginif((cnt2==9)&&(cnt1==9)&&(cnt0==9))begin cnt0<=0; cnt1<=0; cnt2<=0; cnt3<=1+cnt3;cnt4<=cnt4; cnt5<=cnt5;endelse beginif((cnt1==9)&&(cnt0==9))begin cnt0<=0; cnt1<=0; cnt2<=1+cnt2; cnt3<=cnt3;cnt4<=cnt4; cnt5<=cnt5; endelse beginif((cnt0==9))begin cnt0<=0; cnt1<=1+cnt1; cnt2<=cnt2; cnt3<=cnt3;cnt4<=cnt4; cnt5<=cnt5; endelse begin cnt0<=4'b0001+cnt0; cnt1<=cnt1; cnt2<=cnt2; cnt3<=cnt3;cnt4<=cnt4; cnt5<=cnt5; endendendendendendendendendendendmodule锁存——译码器模块moduledecode(dig,load,ena,seg,clk_1khz,key1,key2,key3,dp,khz_led,ove, ove_led,cnt0,cnt1,cnt2,cnt3,cnt4,cnt5);input [3:0] cnt0,cnt1,cnt2,cnt3,cnt4,cnt5;input clk_1khz,load,ove;input key1,key2,key3;output reg [2:0] dig;output reg [6:0] seg;output reg ena,dp,khz_led,ove_led;reg [3:0] data1,data2,data3,data4,data5,data6;reg [3:0] data_in;initialbegindig<=0;ena=0;seg<=0;dp<=0;khz_led<=0;data1<=0;data2<=0;data3<=0;data4<=0;data5<=0;data6< =0; data_in<=0;endalways @(posedge load)begindata1<=cnt0;data2<=cnt1;data3<=cnt2;data4<=cnt3;data5<=cnt4;data6<=cnt5;endalways @(posedge clk_1khz)begin dig=dig+1;endalways @(negedge clk_1khz)begincase(dig)3'b000: data_in<=data1;3'b001: data_in<=data2;3'b010: data_in<=data3;3'b011: data_in<=data4;3'b100: data_in<=data5;3'b101: data_in<=data6;default:data_in<=4'b1111;endcaseendalways @(posedge clk_1khz)begincase(data_in)4'b0000: seg <= 7'b1000000; // 0 404'b0001: seg <= 7'b1111001; // 1 794'b0010: seg <= 7'b0100100; // 2 244'b0011: seg <= 7'b0110000; // 3 304'b0100: seg <= 7'b0011001; // 4 194'b0101: seg <= 7'b0010010; // 5 124'b0110: seg <= 7'b0000010; // 6 024'b0111: seg <= 7'b1111000; // 7 784'b1000: seg <= 7'b0000000; // 8 004'b1001: seg <= 7'b0010000; // 9 10default: seg <= 7'b1111111; //no numeberendcaseendalways @(posedge clk_1khz)beginif((key1==0)&&(key2==1)&&(key3==1)) dp<=1;else if((key1==1)&&(key2==0)&&(key3==1)&&(dig==2)) dp<=0;else if ((key1==1)&&(key2==1)&&(key3==0)&&(dig==1)) dp<=0;else dp<=1;endalways @(posedge clk_1khz)beginif((key1==0)&&(key2==1)&&(key3==1)) khz_led<=1;else if((key1==1)&&(key2==0)&&(key3==1))khz_led<=0;else if ((key1==1)&&(key2==1)&&(key3==0)) khz_led<=0;else khz_led<=1;endalways @(posedge clk_1khz) begin if(dig==6 | dig==7) ena<=1; else ena<=0;endendmodule。

毕业设计 基于fpga的等精度数字频率计的设计

毕业设计 基于fpga的等精度数字频率计的设计

本科生毕业论文题目:基于fpga的等精度数字频率计的设计摘要在电子工程,资源勘探,仪器仪表等相关应用中,频率计是工程技术人员必不可少的测量工具。

频率测量也是电子测量技术中最基本最常见的测量之一。

不少物理量的测量,如转速、振动频率等的测量都涉及到或可以转化为频率的测量。

基于传统测频原理的频率计的测量精度会随被测信号频率的下降而降低。

本文介绍了一种基于FPGA的等精度数字频率计,它不但具有较高的测量精度,而且在整个测量区域能保持恒定的测量精度。

文章首先介绍了硬件描述语言(HDL)的发展,以VHDL为核心,说明了利用VHDL语言进行设计的步骤。

然后介绍FPGA器件的基本结构和开发流程,接着阐述等精度数字频率计的工作原理以及利用VHDL语言实现数字频率计的具体做法,重点是利用BCD码减法实现的BCD码除法器的设计,最后还利用modelsim软件对其进行了仿真,具体分析验证了此设计的正确性。

关键词:FPGA VHDL 等精度BCD码除法AbstractCymometer is a necessary measure tool for technical engineers in electronic engineering , resource exploration and apparatus using . frequency mesure is one of the most essential and the most common mesure of electronic mesure technology . many physical quantities’ mesure , such as rotate speed , vibration frequency’s mesure , is related with or can be transformed into frequency mesure.The precision of cymometer based on traditional frequency-testing theory will decrese when the measured frequency becomes lower. this article introduces a cymometer of same-precision based on FPGA. The cymometer not only has high precision, but also its precision doesn’t decrese when the measured frequency becomes lower.This article first introduces the development of HDL , focusing on VHDL , present the step of design of VHDL . then it introduces the basic structure and the develop flow of FPGA device . in the end , it introduces the theory of cymometer and the specific implement of cymometer based on VHDL , emphasizing the theory of implementing BCD division. the function simulation and logic synthesis also come out, showing the correction of the design .Keywords: FPGA VHDL same-precision BCD division目录第一章前言............................................................................................................... 错误!未定义书签。

基于Verilog HDL的频率计的设计

基于Verilog HDL的频率计的设计

基于Verilog HDL的频率计的设计
张兴娇;肖永江;廖建波;肖丽丽
【期刊名称】《萍乡学院学报》
【年(卷),期】2015(032)006
【摘要】以Altera公司Cyclone IV系列EP4CE15F17C8N器件为核心,制作了一个宽带高频小信号频率计。

该系统将正弦信号通过硬件电路整形、放大、滤波后,用Verilog HDL实现分频、门控、计数、锁存、译码显示等设计,进行数据读取、运算和显示,正弦信号频率范围为1Hz-10MHz,有效值电压范围为50m V-1V,测量相对误差的绝对值不大于10-4。

【总页数】3页(P25-27)
【作者】张兴娇;肖永江;廖建波;肖丽丽
【作者单位】萍乡学院,江西萍乡337000
【正文语种】中文
【中图分类】TN98
【相关文献】
1.基于Verilog HDL的频率计的设计 [J], 张兴娇;肖永江;廖建波;肖丽丽
2.基于Verilog语言的自适应数字频率计设计 [J], 李秋生;邱勇
3.基于Verilog HDL的简易数字频率计设计 [J], 杨晓岚
4.基于Verilog HDL的自动售货机设计与仿真 [J], 李红科;王庆春;贾晓菲
5.基于Verilog语言的等精度频率计设计 [J], 赵亮;吴振宇
因版权原因,仅展示原文概要,查看原文内容请购买。

(完整版)基于FPGA的等精度频率计的设计与实现毕业论文

(完整版)基于FPGA的等精度频率计的设计与实现毕业论文

第一章课题研究概述1.1课题研究的目的和意义在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。

测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。

目前常用的测频方案有三种:方案一:完全按定义式F=N/T进行测量。

被测信号Fx经放大整形形成时标ГX,晶振经分频形成时基TR。

用时基TR开闸门,累计时标ГX的个数,则有公式可得Fx=1/ГX=N/TR。

此方案为传统的测频方案,其测量精度将随被测信号频率的下降而降低。

方案二:对被信号的周期进行测量,再利用F=1/T(频率=1/周期)可得频率。

测周期时,晶振FR经分频形成时标ГX,被测信号经放在整形形成时基TX控制闸门。

闸门输出的计数脉冲N=ГX/TR,则TX=NГX。

但当被测信号的周期较短时,会使精度大大下降。

方案三:等精度测频,按定义式F=N/T进行测量,但闸门时间随被测信号的频率变化而变化。

如图1所示,被测信号Fx经放大整形形成时标ГX,将时标ГX经编程处理后形成时基TR。

用时基TR开闸门,累计时标ГX的个数,则有公式可得Fx=1/ГX=N/TR。

此方案闸门时间随被测信号的频率变化而变化,其测量精度将不会随着被测信号频率的下降而降。

本次实验设计中采用的是第三种测频方案。

等精度频率计是数字电路中的一个典型应用,其总体设计方案有两种:方案一:采用数字逻辑电路制作,用IC拼凑焊接实现。

其特点是直接用现成的IC组合而成,简单方便,但由于使用的器件较多,连线复杂,体积大,功耗大,焊点和线路较多将使成品稳定度与精确度大打折扣,而且会产生比较大的延时,造成测量误差、可靠性差。

方案二:采用可编程逻辑器件(CPLD)制作。

随着现场可编程门阵列FPGA的广泛应用,以EDA工具作为开发手段,运用VHDL等硬件描述语言语言,将使整个系统大大简化,提高了系统的整体性能和可靠性。

MHz等精度频率计设计基于VerilogHDL

MHz等精度频率计设计基于VerilogHDL

姓名:郑中权班级:电子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。

100MHz等精度频率计设计(基于Verilog HDL)

100MHz等精度频率计设计(基于Verilog HDL)

数电课设报告姓名:郑中权学号:152210303127班级:电子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的数字频率计
方案二:
2.3 方案选择
3单元模块电路设计
3.1电路设计总体框图
本设计主要由8个部分组成,以CPLD芯片部分为核心展开,待测信号输入,由外部电源,复位电路,单片机电路,液晶显示,标准时钟以及JTAG下载各个单元配合起来实现测试频率并在液晶显示屏上实时显示出数字频率信号。
图3.1 电路设计总体框图
3.2标准时钟(100MHz)产生部分
3.7电源部分
CPLD芯片工作电压在3.3V,单片机工作电压为5V。所以,在要求进行电压转换时,用到芯片LM1117进行5V电压到3.3V电压。
3.8单片机部分
3.8.1STC12_LQFP芯片介绍
如图3.8.1所示,STC12系列单片机为增强型8051芯片,1T,单时钟/机器周期,指令代码完全兼容传统8051单片机。通用I/O口(27/23/15个),复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不得超过55mA。ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片,EEPROM功能,看门狗定时器内部集成MAX810 专用复位电路(外部晶体20M 以下时,可省外部复位电路)。时钟源:外部高精度晶体/ 时钟,内部R/C 振荡器
表2-1显示了每个设备的行和列数,以及行和列毗邻地区的快闪记忆体数量的EPM570,EPM1270和EPM2210器件。长排满行延长从一排I/ O块到其他。简短的行毗邻超滤膜块,其长度是在列的宽度显示。
每一个LAB包括驱动控制信号LES的专用逻辑。控制信号包括两个时钟,两个时钟使能,两个异步清除,1同步清除,异步预置/负载,同步载荷,加/减控制信号,提供了一次10个控制信号最大。虽然同步负载和清除的信号通常用于执行时计数,也可以用于其他功能。

基于verilog语言的数字频率计设计

基于verilog语言的数字频率计设计

基于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芯片中进行硬件实现。

基于Verilog HDL的数字频率计设计及仿真实现

基于Verilog HDL的数字频率计设计及仿真实现

基于Verilog HDL的数字频率计设计及仿真实现基于veriloghdl的数字频率计设计及仿真实现摘要:在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都存有十分紧密的关系,因此频率的测量就变得更为重要。

测量频率的方法存有多种,其中电子计数器测量频率具备精度高、使用方便、测量快速,以及易于同时实现测量过程自动化等优点,就是频率测量的关键手段之一。

电子计数器测频存有两种方式:一就是轻易测频法,即为在一定闸门时间内测量被测信号的脉冲个数;二就是间接测频法,例如周期测频法。

轻易测频法适用于于高频信号的频率测量,间接测频法适用于于低频信号的频率测量。

本文阐释了为veriloghdl语言设计了一个直观的数字频率计的过程关键词:周期;eda;veriloghdl;数字频率计;波形仿真郭祥斌基于veriloghdl数字频率计设计与同时实现第-2-页共37页1引言在电子测量领域中,频率测量的精确度就是最低的,仅约10―10e-13数量级。

因此,在生产过程中许多物理量,比如温度、压力、流量、液位、ph值、振动、加速度、速度、加速度,乃至各种气体的百分比成分等均用传感器转换成信号频率,然后用数字频率计去测量,以提升精确度。

国际上数字频率计的分类很多。

按功能分类,测量某种单一功能的计数器。

如频率计数器,只能专门用来测量高频和微波频率;时间计数器,是以测量时间为基础的计数器,其测时分辨力和准确度很高,可达ns数量级;特种计数器,它具有特种功能,如可逆计数器、予置计数器、差值计数器、倒数计数器等,用于工业和白控技术等方面。

数字频率计按频段分类(1)低速计数器:最高计数频率<10mhz;(2)中速计数器:最高计数频率10―100mhz;(3)高速计数器:最高计数频率>100mhz;(4)微波频率计数器:测频范围1―80ghz或更高。

单片机自问世以来,性能不断提升和健全,其资源又能够满足用户很多应用领域场合的须要,加之单片机具备集成度低、功能弱、速度快、体积小、功耗高、使用方便、价格低廉等特点,因此,在工业掌控、智能仪器仪表、数据采集和处置、通信系统、高级计算器、家用电器等领域的应用领域日益广为,并且正在逐步替代现有的多片微机应用领域系统。

基于Verilog语言的等精度频率计设计

基于Verilog语言的等精度频率计设计

可以满足系统的要求。
3. 2 硬件电路
系统硬件电路比较简单, 就是单片机的最小系统 加上液晶显示模块, 设计时需要注意, 51单片机端口

电压是 5 V 输出, 而 FPGA 是 3. 3 V 输出, 所以在数据
传输时要串 联一个 电阻, 一般 100 ~ 300 即 可。 电路原理图如图 5所示。
图 5 单片机部分电路
1 等精度测量原理
等精度测量的一个最大特点是测量的实际门控时 间不是一个固定值, 而是一个与被测信号有关的值, 刚 好是被测信号的整数倍。在计数允许时间内, 同时对 标准信号和被测信号进行计数, 再通过数学公式推导 得到被测信号的频率。由于门控信号是被测信号的整 数倍, 就消除了对被测信号产生的 1误差, 但是会产 生对标准信号 1的误差。如图 1所示。
< < 8) + ( tem p0 < < 0); F _x = F _b / Cnt_F_b* Cnt_F_x; / / 计算频率 T _x= 1/F _x; / / 计算周期 H _du ty = Cnt_F _h / Cnt_F _b; / / 计算占空比 }
第 33卷第 9期
赵 亮, 等: 基于 V er ilog语言的等精度频率计设计
Fx
=
Fb CNT _b
∀ CNT _x
( 5)
系统实现的被测频率为:
F _x =
F _b CNT _F_b

CNT _F _x
( 6)
被测周期为:
T _x =
1 F _x
( 7)
占空比 r 为:
H _duty = CNT _F _h /CNT _F_b
( 8)
系统中采用式 ( 6) ~ 式 ( 8)进行计算, 得到最终的 测量数据, 单片机中采用浮点数进行运算, 计算的精度

基于FPGA的等精度频率计的设计

基于FPGA的等精度频率计的设计

基于FPGA的等精度频率计的设计一、引言频率计是一种广泛应用于电子领域的仪器设备,用于测量信号的频率。

常见的频率计有软件频率计和硬件频率计两种。

软件频率计主要基于计算机软件,通过采集到的信号数据来计算频率。

硬件频率计则是基于专用的硬件电路,直接对信号进行采样和处理,具有实时性强、准确度高的优点。

本文将基于FPGA设计一种等精度频率计,旨在实现高精度、高稳定性的频率测量。

二、设计原理本设计采用基于FPGA的硬件频率计方案,其主要原理是通过对输入信号的时间计数,并结合固定参考值,计算出信号的频率。

具体流程如下:1.信号输入:将待测量的信号输入至FPGA芯片,输入信号的幅度应符合输入电平范围。

2.信号计数:利用FPGA芯片内部的计数器,对输入信号进行计数,并记录计数器的数值。

计数器的值与输入信号的频率成反比,即计数器值越大,信号频率越低。

3.定时器触发:通过定时器产生一个固定的参考信号,用于触发计数器的复位操作。

定时器的频率应足够高,以保证计数器能够实时精确计数。

4.数据处理:计数器值与定时器触发的时间周期共同决定了输入信号的频率。

通过计算参考值与计数器值的比例,可以得到准确的频率值。

5.结果输出:将计算得到的频率值输出至显示屏或其他外部设备,以便用户进行查看。

三、设计方案1.FPGA选型:选择一款适合频率计设计的FPGA芯片,要求其具有较高的计数能力、较大的存储空间和丰富的外设接口。

2.输入电路设计:设计一个合适的输入电路,将待测信号进行电平调整和滤波处理,以确保输入信号的稳定性和合适的幅度范围。

3.计数器设计:利用FPGA内部的计数器模块,进行计数操作。

根据需要选择适当的计数器位宽,以满足待测频率范围的要求。

4.定时器设计:通过FPGA内部的时钟源和计时器模块,设计一个精确的定时器,用于触发计数器的复位操作。

定时器的频率要足够高,以保证计数的准确性。

5.数据处理设计:利用FPGA内部的算数逻辑单元(ALU)对计数器值进行处理,计算得到准确的频率值。

基于FPGA的verilog频率计设计

基于FPGA的verilog频率计设计

电子科技大学(基于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。

基于等精度测频原理的频率计设计

基于等精度测频原理的频率计设计

基于等精度测频原理的频率计设计摘要利用等精度测量原理,通过FPGA运用VHDL编程,利用FPGA(现场可编程门阵列)芯片设计了一个数字式等精度频率计,该频率计的测量范围为0-100MHZ。

实现8位数字频率计,并利用Max-PlusⅡ集成开发环境进行编辑、综合、波形仿真,并下载到CPLD器件中,经实际电路测试,仿真和实验结果表明,该频率计有较高的实用性和可靠性。

数字频率计是一种基本的测量仪器。

它被广泛应用与航天、电子、测控等领域。

采用等精度频率测量方法具有测量精度保持恒定,不随所测信号的变化而变化;结合现场可编程门阵列FPGA,具有集成度高、高速和高可靠性的特点,使频率的测频范围可达到0.1 Hz一50MHz,测频全域相对误差恒为百万分之一。

它的基本测量原理是,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用LED数码显示管显示出来。

关键词:EDA VHDL 等精度数字频率计仿真及下载Precision Frequency Measurement Based On Principles Such As The Frequency OfGauge DesignABSTRACTFor precision measurement of principle, by use of programming, fpga vhdl fpga (the programmable the array) chip design, precision of a digital frequency, the frequency of measuring range of 0 - 100mhz. the implementation of eight digits frequency, and with max, plus ii of the integrated development environment, comprehensive and wave emulation, and download the cpld device, practical testing, simulations, and electrical experiment results show that the frequencies are more practical and reliability.Digital frequency as is a basic equipment. it is widely applicable to aerospace and electronic tracking control and field, etc. the precision measurement method of frequency components remain constant measuring, as measured of signal changes ;combination of the programmable and array fpga level of integration the door, high speed and reliability of the frequency range of frequency is measured at 1 0 .hz 50mhz, a frequency domain, the relative error to one millionth of a constant. its basic principle is that the first measure is.Keywords :eda vhdl and precision the simulation and digital frequency download目录绪论 (1)1总体设计 (2)1.1系统设计方案论证 (2)1.2概述 (2)1.2.1 FPGA及特点概述 (2)1.2.2 VHDL语言及优点概述 (3)1.2.3 MAX+PLUS II简介 (4)1.2.4 EP1K50芯片概述 (5)1.3数字频率计工作原理概述 (5)1.4测频原理及误差分析 (7)1.4.1测频原理 (7)1.4.2误差分析 (8)1.5本章小结 (9)2软件设计及功能仿真 (10)2.1系统的总体设计 (10)2.2信号源模块 (11)2.3测频控制信号产生器 (15)2.4锁存器 (18)2.5十进制计数器 (19)2.6显示模块 (21)2.6.1显示电路 (24)2.6.2 译码器 (24)2.7本章小结 (25)总结 (26)致谢 (27)参考文献 (28)附录频率计顶成文件 (29)绪论EDA是指以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑应射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门技术。

基于Verilog HDL数字频率计的设计

基于Verilog HDL数字频率计的设计

EDA设计课程论文题目基于Verilog HDL数字频率计的设计学院通信学院专业班级学生姓名大彬哥指导教师大陆会2013年5月17日EDA设计基础实验论文摘要频率是常用的物理量, 在实际测量过程中总是尽可能地把被测参量转换成频率参量进行测量。

例如工程中用振弦式方法测量力、时间测量、速度控制等, 都可转化为频率测量。

随着科学技术与计算机应用的不断发展, 以单片机作为核心的测量控制系统层出不穷。

在被测信号中, 较多的是模拟和数字开关信号, 此外还经常遇到以频率为参数的测量信号, 例如流量、转速、晶体压力传感器以及经过参变量一频率转换后的信号等等。

因此, 频率测量是电子测量技术中最基本的测量之一。

电子计数器测频有两种方式:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。

直接测频法适用于高频信号的频率测量,间接测频法适用于低频信号的频率测量。

本文运用现代电子设计工具, 采用V er ilogHDL语言在CPLD器件上实现了简易数字频率计的设计。

在10Hz ~ 100MHz 频率测量范围内, 该频率计能根据输入被测频率信号, 自动调整测试量程进行测试并给出测试结果的BCD 码及七段LED 译码显示。

具有体积小、可靠性高、功耗低的特点。

关键词:数字频率计 Verilog_HDL 分频计数IEDA设计基础实验论文AbstractFrequency is a common physical quantities, in actual measurement process is always possible, the measured parameters are converted into the frequency parameter measurement. For example, engineering with vibrating method for measuring force, measurement of time, velocity control, can all be converted into frequency measurement. With the development of science and technology and the continuous development of computer applications, to single-chip microcomputer as the core control system for measuring the emerge in an endless stream. In the measured signal, more is analog and digital switch signal, in addition also frequently encountered with a frequency parameter measurement signal, such as flow rate, rotational speed, crystal pressure sensor and the variable frequency converted signal and so on. Therefore, the frequency measurement is the electronic measurement technology in the most fundamental measurement of.Electronic counter frequency measurement in two ways : one is the direct frequency measurement Law, or within a certain time gates of measured signal pulse number; two is the indirect frequency measurement Law, such as cycle frequency measurement method. Direct frequency measurement Law is applicable to the high frequency signal frequency measurement, indirect frequency measurement Law is applicable to low-frequency signals in the frequency measurement. The use of modern electronic design tool, using V Er ilogHDL language in CPLD device achieves simple digital frequency meter design. In the10Hz100MHz frequency measurement range, the frequency meter according to input the measured frequency signal, automatic adjustment and test range tested and the test results are given in the BCD code and the seven LED decoding display. Has the advantages of small volume, high reliability, low power consumption.Keywords: digital frequency meter Verilog_HDL frequency countingIIEDA设计基础实验论文目录摘要 (I)ABSTRACT (II)第1章绪论 (1)1.1数字频率计概况 (1)1.2本文研究内容 (1)1.3目的与意义 (2)第2章系统设计方案 (3)2.1数字频率计总体设计方案 (3)2.1.1 放大整形 (3)2.1.2 SW1、SW2、SW3按键 (3)2.1.3 标准时钟 (3)2.1.4 LED显示模块 (3)2.2系统的参数 (4)2.2.1 频率测量 (4)2.2.2 频率测量方法 (4)2.2.3 功能及技术指标 (4)第3章数字频率计的基本原理 (6)3.1计数模块COUNTER (6)3.2门控模块GATE_CONTROL (6)3.3分频模块FDIV (7)3.4寄存器模块FLIP_LATCH (7)3.5多路选择模块DATA_MUX (8)3.6动态位选模块DISPSELECT (9)3.7BCD译码模块DISPDECODER (11)第4章数字频率计软件设计 (15)4.1软件实现功能综述 (15)4.2多路选择模块DATA_MUX的设计 (15)4.2.1 多路选择模块data_mux的接口电路 (15)4.2.2 多路选择模块data_mux程序设计 (16)4.3动态位选模块DISPSELECT的设计 (17)4.3.1 动态位选模块dispselec的接口电路 (17)4.3.2 动态位选模块dispselec的程序设计 (17)IIIEDA设计基础实验论文4.4BCD译码模块DISPDECODER的设计 (18)4.4.1 BCD译码模块dispdecoder的接口电路 (18)4.4.2 BCD译码模块dispdecoder的程序设计 (19)第5章数字频率计系统的仿真分析 (23)5.1系统原理图 (23)5.2多路选择模块DATA_MUX的仿真分析 (24)5.3动态位选模块DISPSELEC的仿真分析 (25)5.4BCD译码模块DISPDECODER的仿真分析 (25)5.5软硬件调试 (26)结论 (28)参考文献 (29)IVEDA设计基础实验论文第1章绪论1.1数字频率计概况频率是常用的物理量, 在实际测量过程中总是尽可能地把被测参量转换成频率参量进行测量。

100MHz等精度频率计设计(基于某VerilogHDL]

100MHz等精度频率计设计(基于某VerilogHDL]

数电课设报告姓名:郑中权学号:152210303127班级:电子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。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数电课设报告
姓名:郑中权
学号:152210303127
班级:电子1班
江苏科技大学
2017/10/12
100MHz等精度频率计设计(基于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。

测量占空比:
同样由CNT1测量基准信号100MHz的周期数,使能信号还是EN。

CNT3测量的也是100MHz,但是它的使能信号是在EN使能时,有被测信号时且被测信号为高电平时计数,测得的是被测信号高电平中100MHz周期数的个数,即在一段时间内,高电平的计数个数占总计数个数的比例。

所以占空比计算公式为 CNT3/CNT1 *100。

测量相位差:
CNT3同前。

CNT4测量的也是100MHz,但它的使能信号为当被测信号1为高电平,被测信号2为低电平。

即被测信号1超前被测信号2的部分计数。

用CNT4/CNT3 *180即被测信号1和被测信号2的相位差,但有一个限制,就是被测信号1和被测信号2的占空比都为50%。

原理图:
原理图仿真:频率:
占空比:
相位差:
mySZQLJ :下载用的顶层文件
test :仿真用的顶层文件
KEY :按键模块,用于按键消抖
DFF1 :D触发器,用于等待被测信号上升沿PL :用于产生测试信号
LPM_PLL :用LPM生成的锁相环,用于倍频couter32 :32位计数器
process :用于选择数据输出及数据计算MUX :4选1选择器,选择输出计数器的值SMG :驱动4个7段数码管
mySZPLJ 顶层文件
KEY模块
加入按键模块是为了防止按键抖动,同时实现TOGGLE,即按一下开始计数,再按一下计数结束。

DFF1模块
DFF1模块可以让使能信号和基准信号,被测信号等同上升沿,提高精准度。

PL模块
PL模块输入100MHz信号,通过程序转换,输出用于测试用的各个信号。

LPM_PLL模块
由于板载晶振50M,达不到100MHz要求,加入LPM_PLL模块为了倍频,得到所需要的100MHz基准信号。

couter32模块
计数器,采用32位,因为2^32>100M.
process模块
软件转换,由于计算结果会溢出,这里下载到板子的程序并不包含这个,process模块仅用于仿真使用。

MUX模块
4选1模块,选择要输出的结果
SMG模块
驱动4个7段数码管。

五、下载测试与误差分析
下载测试
绑定引脚:
被测1输入: PIN_30
被测2输入: PIM_28
生成的测试信号1Hz: PIN_105
生成的测试信号1KHz: PIN_103
生成的测试信号1MHz: PIN_100
生成的测试信号1KHz: PIN_98 下载与读数:
误差分析
可能出现的误差就是,当基准信号还在高电平和低电平时,EN使能,这会导致CNT1多计数或少计数一个周期,导致计算结果出现误差。

六、总结
为期两周的课设结束了,虽然我如愿完成了设计要求,但是由于身边没有可用MCU和自身知识的不足,我未能设计出一款由单片机控制,完全“傻瓜式”的频率计,这是个小小的遗憾。

我相信通过日后不断学习,我会设计出来的。

在这两周的设计过程中,我遇到了不少问题。

首先是对于Quartus的使用和Verilog知识的掌握,上一次使用它们已经是一年前,难免生疏了。

代价就是花费了我将近两三天的查阅书籍和翻看以前的程序才捡回来。

其次是对模电知识的理解不到位,可能课上学的都是理论知识,现实情况便手忙脚乱。

在设计过程中,遇到了大大小小的问题,有时候出现一个小小的错误,就需要半天才能发现和改正过来。

为了避免这种情况,我应该更严谨,把工程分为多个模块去完成,这样才可以快速定位问题。

通过这两周的学习,我知道知识不用会忘,学习不严谨会出错。

所以以后我要更加严谨,并且要多用自己学到的技能。

相关文档
最新文档