Verilog 频率计 电子实验报告.docx
- 文档编号:8168620
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:30
- 大小:1.31MB
Verilog 频率计 电子实验报告.docx
《Verilog 频率计 电子实验报告.docx》由会员分享,可在线阅读,更多相关《Verilog 频率计 电子实验报告.docx(30页珍藏版)》请在冰豆网上搜索。
Verilog频率计电子实验报告
电子科技大学
设计论文
论文题目:
基于VerilogHDL频率计设计与实现
指导老师:
学生姓名:
学号:
专业:
摘要
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。
测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
电子计数器测频有两种方式:
一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。
直接测频法适用于高频信号的频率测量,间接测频法适用于低频信号的频率测量。
本文阐述了用VerilogHDL语言设计了一个简单的数字频率计的过程
关键词:
周期;EDA;VerilogHDL;数字频率计;波形仿真
Summary
Inelectronics, the frequencyis one of the most basic parameters, and measurementprogram with a lotofelectricparameters,themeasurementresult-s haveaverycloserelationship, and frequency measurement becomes moreimportant. Thereareseveralways of measuringfrequency, the electronic countertomeasure frequency with highprecision, easytouse, rapid measurement,and easy to automate themeasurementprocess,etc., is one of the important means of frequencymeasurement. Electroniccounter frequencymeasurement intwoways:
First,thedirect frequencymeasurementmethod to measure the number of pulses of the measured signal,thatis, in acertain gatetime; indirect frequencymeasurementmethod, suchas the cycle frequencymeasurementmethod. Direct frequencymeasurementmethod for high-frequency signal frequencymeasurement, frequency measurements indirectly measured the frequency methodissuitablefor low-frequencysignals. Thispaperdescribesthe design of asimple digitalfrequencymeter usingVerilogHDLlanguage
Keywords:
period; theEDA; theVerilogHDL; digitalfrequencymeter; waveform simulation
1引言
在电子测量领域中,频率测量的精确度是最高的,可达10—10E-13数量级。
因此,在生产过程中许多物理量,例如温度、压力、流量、液位、PH值、振动、位移、速度、加速度,乃至各种气体的百分比成分等均用传感器转换成信号频率,然后用数字频率计来测量,以提高精确度。
国际上数字频率计的分类很多。
按功能分类,测量某种单一功能的计数器。
如频率计数器,只能专门用来测量高频和微波频率;时间计数器,是以测量时间为基础的计数器,其测时分辨力和准确度很高,可达ns数量级;特种计数器,它具有特种功能,如可逆计数器、予置计数器、差值计数器、倒数计数器等,用于工业和白控技术等方面。
数字频率计按频段分类
(1)低速计数器:
最高计数频率<10MHz;
(2)中速计数器:
最高计数频率10—100MHz;(3)高速计数器:
最高计数频率>100MHz;(4)微波频率计数器:
测频范围1—80GHz或更高。
单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统。
单片机的潜力越来越被人们所重视。
特别是当前用CMOS工艺制成的各种单片机,由于功耗低,使用的温度范围大,抗干扰能力强、能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片机性能的发展。
1.1频率计概述
频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。
通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。
闸门时间也可以大于或小于一秒。
闸门时间越长,得到的频率值就越准确,但闸门时间越长则没测一次频率的间隔就越长。
闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。
本文数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。
如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。
因此,数字频率计是一种应用很广泛的仪器电子系统非常广泛的应用领域内,到处可见到处理离散信息的数字电路。
数字电路制造工业的进步,使得系统设计人员能在更小的空间内实现更多的功能,从而提高系统可靠性和速度。
集成电路的类型很多,从大的方面可以分为模拟电路和数字集成电路2大类。
数字集成电路广泛用于计算机、控制与测量系统,以及其它电子设备中。
一般说来,数字系统中运行的电信号,其大小往往并不改变,但在实践分布上却有着严格的要求,这是数字电路的一个特点。
数字集成电路作为电子技术最重要的基础产品之一,已广泛地深入到各个应用领域
1.2设计目的
1.学会使用Veilog硬件描述语言;
2.学会利用Xilinx进行层次化计;
3.学会电路模块化设计。
1.3设计内容
设计一个计数式频率计,其频率测量范围为10Hz~10MHz,测量结果用6只数码管显示。
有三个带锁按键开关(任何时候都只能有一个被按下)被用来选择1S、0.1S和0.01S三个闸门时间中的一个。
有两只LED,一只用来显示闸门的开与闭,另一只当计数器溢出时做溢出指示。
1.4频率测量的思想和方法
众所周知,频率信号易于传输,抗干扰性强,可以获得较好的测量精度。
因此,频率检测是电子测量领域最基本的测量之一。
频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。
通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为1s。
闸门时间可以根据需要取值,大于或小于1s都可以。
闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。
闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。
一般取1s作为闸门时间。
测量的思想和方法
1、频率测量的基本思想
测量被测信号在单位时间内的脉冲个数,其数字表达式
f=N/t
其中:
F为被测信号的频率
N为脉冲的个数
T为被测信号产生N个脉冲所需的时间
2、频率测量方法
直接测量法:
直接测量被测信号的频率,通过计数法来对被测信号在一定时间内的脉冲个数进行计数。
直接厕灵法的结构框图如下所示。
直接测量法的结构框图
3、功能及技术指标
●频率测量范围:
10Hz~10MHz
●测量结果显示:
6位数码管显示
●溢出灯指示是否溢出
●1s,0.1s,0.01s三个门控选项
该数字频率计的操作面板如下所示
简易数字频率计的操作面板
其中,门控选择可选1s,0.1s,0.01s三种,测量结果显示采用六个数码管来显示。
2VerilogHDL简介
VerilogHDL是一种硬件描述语言(hardwaredescriptionlanguage),为了制作数位电路(数字电路)而用来描述ASICs和FPGAs的设计之用。
Verilog的设计者想要以C程序语言(en:
Cprogramminglanguage)为基础设计一种语言,可以使工程师比较熟悉跟容易接受。
事实上,它产生与C程序语言类似的不严谨性质,并且大概与Pascal很相像。
这种语言跟传统的程序设计语言不同,在于它的程序叙述并非严格地线性(循序)执行。
Verilog模式包含不同模组(modules)的阶层关系。
模组(modules)是输出(inputs)和输入(outputs)所定义出来的一个集合。
在每个模组中,有一串的电线(wires)、暂存器(registers)和子模组(submodules)的定义。
并且在每个模组里面,语言叙述大部分都被群组成为各种的执行区块(blocks),用来定义该模组所产生的行为描述。
在每个区块(blocks)内,使用begin和end的关键字来区隔开来,其中的叙述是循序被执行。
但是同一个设计,不同的区块间的执行是平行的。
这个语言的叙述之子集合是可合成(synthesizable)。
如果在一个电路设计的模组中仅包含可合成的叙述,那麽这个电路设计就可以被适当的软件,转换合成为电脑芯片的电路layout。
3数字频率计系统框图
设计如下所示的数字频率计系统电路框图
数字频率计系统电路框图
3.1数字频率计系统部件介绍
1.放大整形
数字频率计允许测量信号的类型有三种:
方波、三角波和正弦波,并且信号的测量通道灵敏度为50mVpp,为此,需要将被测信号放大整形成标准的TTL电平的方波型号,便于CPLD/FPGA对信号脉冲的计数。
2.SW1、SW2、SW3按键
SW1、SW2、SW3这三个拨动开关用来在测量的时候,用户可选择不同的门控时间。
3.标准时钟
标准时钟为频率计测量提供精度相对比较高的时基信号,其时间的稳定性与精度将会直接影响到频率计测量的准确性。
本实验采用FPGA板上的48MHZ时钟
4.LED显示模块
频率计将测量的结果通过6位数码管(LED)来显示。
并通过LED灯来显示工作状态和溢出状态。
3.2数字频率计系统模块划分结构
数字频率计中的CPLD/FPGA是频率计的核心,主要实现在一定时间内,对被测信号的脉冲个数进行计算,并且转化为相应的频率值显示在六个数码管上。
整体芯片图如下:
将系统分成七个模块来分别设计仿真。
分别有以下七个模块:
●顶层模块frequent:
将下面各模块链接起来,形成整体的工作模块。
●分频模块clk_div:
将标准时钟分频,得到计数以及动态显示所需的时钟。
●基准频率选择模块sw_sel:
将分频模块所分得的三个频率通过三个拨动开关选择不同的基准频率。
●门控模块gate_control:
根据所选响应的基准频率,控制计数模块计数。
●计数模块counter:
对包含被测信号频率信息的脉冲进行计数
●锁存器模块latch:
对计数模块的计数值进行锁存。
●显示模块display:
将BCD码译成数码管的显示数据,生成位选信号,根据位选,选择相应的需要显示的计数值,输出动态显示中的数字。
4数字频率计程序设计及实现
4.1分频模块div_clk
在系统全局时钟的驱动下,经过分频得到系统中所需要的多种频率成分的时钟信号。
分频模块的结构图如下所示
该模块定义输入端口如下:
●clk:
系统时钟信号。
该模块定义输出端口如下:
●clk_1kHz:
输出1Hz的时钟信号;
●clk_100Hz:
输出100Hz的时钟信号;
●clk_10Hz:
输出10Hz的时钟信号。
编译和波形仿真得到波形如图
4.2基准频率选择模块sw_sel
该模块实现检测外界量程的选择,并且根据量程输出需要选择的基准频率。
基准频率选择模块的结构框图如下所示
该模块定义输入端口如下:
●clk10hz,clk100hz,clk_1khz:
分频模块送出的分频信号;
●sw:
开关的输入状态。
该模块定义输出端口如下:
●clk_sel:
开关状态控制下输出的基准信号。
编译和波形仿真得到波形
4.3门控模块gate_ctrl
本模块通过16进制计数器用来产生三种控制信号,控制计数模块计数、清零和寄存器模块的锁存。
门控模块模块的结构框图如下所示
该模块定义输入端口如下:
●clkin:
门控模块选择的基准信号。
该模块定义输出端口如下:
●gate_rs:
计数使能信号;
●latch:
计数所得数据寄存信号;
●clr_cnt:
计数器清零信号。
编译和波形仿真得到波形
4.4计数模块counter
该模块主要完成对经过放大整形后的被测信号的计数,这个计数由门控模块产生的信号来控制。
计数模块的结构框图如下所示
该模块定义输入端口如下:
●frequent:
外部的输入信号;
●clr_cnt:
门控模块产生的清零信号;
●gate_rs:
门控模块产生的计数使能信号。
该模块定义输出端口如下:
●Q1,Q2,Q3,Q4,Q5,Q6:
计数器的0位、1位、2位、3位、4位、5位;
●over:
溢出指示位。
编译和波形仿真得到波形
整体:
精细部分:
4.5锁存器模块latch
本模块在门控制模块产生的锁存信号的控制下,对计数模块的计数值进行锁存。
锁存器模块的结构框图如下所示
该模块定义输入端口如下:
●latch_in:
寄存信号;
●Q1,Q2,Q3,Q4,Q5,Q6,QO:
计数器的不同位的数据和溢出标志;
该模块定义输出端口如下:
D1,D2,D3,D4,D5,D6,DO:
锁存器的锁存结果。
编译和波形仿真得到波形
4.6显示模块display
本模块用于对速测频率的显示,寄存器模块的结构框图如下所示
该模块定义输入端口如下:
●clkin:
扫描时钟信号1khz;
●sw:
量程档位选择;
●Q1,Q2,Q3,Q4,Q5,Q6,QO:
当前锁存器数据。
该模块定义输出端口如下:
●dig:
位选信号;
●seg:
段选信号;
●dp:
小数点位。
编译和波形仿真得到波形
4.7顶层模块topfile
在设计完各个模块后,需要将各个模块有机地组合成一个整体,最后来实现系统的功能。
在数字频率计中,同时采用了电路原理图示的设计以及VerilogHDL语言来编写的顶层电路。
顶层如下所示。
该模块定义输入端如下:
●clk:
频率为48M时钟;
●sw:
量程档位选择;
●frequent:
信号发生器输入频率;
该模块定义输出端如下:
●dig:
位选信号;
●seg:
段选信号;
●dp:
小数点位;
●ena:
数码管使能;
●gate:
计数器使能;
●over:
溢出标志。
编译和波形仿真得到波形
整体:
精细部分:
5设计实现
5.1实验设备
计算机
Xilinxise软件modelsim6.0
EDA实验箱
5.2管脚分布
NET"clk"LOC=T8;
NET"dig<0>"LOC=F8;
NET"dig<1>"LOC=D8;
NET"dig<2>"LOC=E7;
NET"dp"LOC=C11;
NET"ena"LOC=D7;
NET"frequent"LOC=A14;
NET"gate"LOC=C10;
NET"over"LOC=A10;
NET"seg<0>"LOC=B14;
NET"seg<1>"LOC=A13;
NET"seg<2>"LOC=C13;
NET"seg<3>"LOC=C12;
NET"seg<4>"LOC=A12;
NET"seg<5>"LOC=B12;
NET"seg<6>"LOC=A11;
NET"sw<0>"LOC=L6;
NET"sw<1>"LOC=N5;
NET"sw<2>"LOC=L7;
5.3下载过程
Synthesize
->ImplementDesign
->GenerateProgramingFile
->ConfigureDevice
->读取top.bit文件
->右键芯片program
->下载成功
6系统测试与结果分析
6.1系统测试
设备准确测量范围在10HZ—10MHZ,超过量程将会有溢出。
在数据统计中我们采用三个档位分层抽样,每层中采用随机抽样以提高数据的准确性。
下页为所测数据:
信号源频率
12hz
50hz
78hz
120hz
180hz
300hz
550hz
790hz
1.24khz
1S
0.012
0.05
0.78
0.12
0.18
0.3
0.55
0.79
1.24
频率计显示(KHZ)
0.1S
0.012
0.05
0.78
0.12
0.18
0.3
0.55
0.79
1.24
0.01S
0
0
0
0.12
0.18
0.3
0.55
0.79
1.24
1S
0
0
0
0
0
0
0
0
0
相对误差
0.1S
0
0
0
0
0
0
0
0
0
0.01S
0.012
0.05
0.78
0
0
0
0
0
0
信号源频率
2.4khz
5khz
20khz
50khz
100khz
200khz
450khz
999.999khz
1.24mhz
1S
2.4
5
20
50
99.996
199.998
449.996
999.995khz
溢出
频率计显示(KHZ)
0.1S
2.4
5
20
50
100
200
499.99
999.99
1239.98
0.01S
2.4
5
20
50
100
200
450khz
999.9khz
1240
1S
0
0
0
0
0.004
0.002
0.004
0.004
相对误差
0.1S
0
0
0
0
0
0
0.01
0
0.02
0.01S
0
0
0
0
0
0
0
0
0.02
信号源频率
2.5mhz
10mhz
20mhz
25mhz
30mhz
40mhz
45mhz
50mhz
55mhz
1S
溢出
溢出
溢出
溢出
溢出
溢出
溢出
溢出
溢出
频率计显示(KHZ)
0.1S
2499.98
9999.96
溢出
溢出
溢出
溢出
溢出
溢出
溢出
0.01S
2500
9999.9
19999.9
溢出
溢出
溢出
溢出
溢出
溢出
1S
相对误差
0.1S
0.02
0.04
0.01S
0.02
0.04
0.1
误差趋势图
6.2结果分析:
1、从误差表和趋势图中可以看出,测量误差基本保持在百万分之1到百万分之8
之间,相对误差非常小,在对精度要求不大或在具备误差调节机制条件下可以忽略该误差。
2、产生上述误差的因素可能是信号源的方波产生,或是由于晶振振荡不够稳定产生。
3、本设计中有三种基准频率,最小可以测得1Hz,最大可以测得100MHZ,实际设计的测量范围是1HZ—100MHZ,完全满足设计要求的10HZ-10MHZ。
7总结
本程序设计主要介绍了数字频率计的VerilogHDL的设计与实现,其可以用Xilinx公司XC3s200A型号的FPGA实现。
通过学习与设计,掌握了VerilogHDL设计与实现:
●分频模块div_clk的VerilogHDL设计与实现。
●基准频率选择模块fbase_sel的VerilogHDL设计与实现。
●门控模块gate_ctrl的VerilogHDL设计与实现。
●寄存器模块flip_latch的VerilogHDL设计与实现。
●计数模块counter的VerilogHDL设计与实现。
●寄存器模块latch的VerilogHDL设计与实现。
●显示模块display的VerilogHDL设计与实现。
7.1结束语
通过本次课设,我不仅学到了关于EDA的许多专业知识,同时也让我感觉到团队合作的重要性。
其实如何有效和快速的找到资料也是课设给我的启发,利用好图书馆和网络,是资源的到最好的利用。
另外,与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系也可以扩展自己的思维。
通过思考、发问、自己解惑并动手、改进的过程,才能真正的完成课题。
经过这次课程设计的过程,我相信在以后的课程设计中我们会吸取经验教训,做出更好的设计来。
7.2谢辞
感谢学校和老师能给我这个自己动手的机会。
在将近一周的时间内,我在xxx老师和xx老师的帮助下顺利完成了频率计设计。
这不仅是对自己动手实践能力的锻炼与提升,也是对自己认真的学习态度的考验。
指导老师们严谨的科研态度和优良的教学研究精神,都是我们在日后的学习、工作中的宝贵的精神财富。
参考文献
1.VHDL语言及其应用付永庆高等教育出版社
2.VHDL应用开发技术求是科技人民邮电出版社
3.VHDL数字电路设计教程佩德罗尼电子工业出版社
4.夏宇闻.Verilog数字系统设计教程(第二版).北京航空航天大学;2008,06.
5.StephenBrown,ZvonkoVranesic,夏宇闻译.数字逻辑基础与Verilog设计(原书第二版).机械工业出版社;2007,10.
6.皇晓辉,刘壅.频率计设计(ppt).电子科技大学;2012.3.
附录
分频模块:
modulediv_clk(clk,clk1khz,clk100hz,clk10hz);
inputclk;
outputclk1khz;
outputclk100hz;
outputclk10hz;
wireclk_1khz;
wireclk_100hz;
wireclk_10hz;
assignclk1khz=clk_1khz;
ass
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Verilog 频率计 电子实验报告 电子 实验 报告