数字频率计的设计文档格式.docx
- 文档编号:22765443
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:18
- 大小:188.23KB
数字频率计的设计文档格式.docx
《数字频率计的设计文档格式.docx》由会员分享,可在线阅读,更多相关《数字频率计的设计文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
0.3
总成绩
教研室审核意见:
教研室主任签字:
教学系审核意见:
主任签字:
年月日
摘要
数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置,是计算机,通讯设备、音频设音频视频等科研生产领域不可缺少的测量仪器。
本次课程设计设计以EDA工具作为开发手段,运用VHDL语言,将使整个系统大大简化,提高整体的性能和可靠性。
EDA(ElectronicDesignAutomation)即电子设计自动化。
EDA技术指的是以计算机硬件和系统软件为基本工作平台,以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统设计的主要表达方式,自动完成集成电子系统设计的一门新技术。
本设计用VHDL在CPLD器件上实现一种8位十进制数字频率计测频系统,能够用十进制数码显示被测信号的频率,能够测量正弦波、方波和三角波等信号的频率,具有体积小、可靠性高、功耗低的特点,设计出的频率计能够准确的测出输入信号的频率,最后通过系统仿真,下载、验证和调试运行,实现了一个性能良好的8位数字频率计初步实现了设计目标。
其基本原理是使用一个频率稳定性高的频率作为基准,对比测量其他信号的频率,即计算每秒钟内待测信号的脉冲个数。
该数字频率计可以在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能,而且整个系统非常精简,具有高速、精确、可靠、抗干扰性强和现场可编程等优点,实用性极高。
本文详细描述了数字频率计的设计流程及正确实现。
关键词:
数字频率计;
EDA;
VHDL;
QuartusⅡ
目录
设计要求1
1、方案论证与对比1
1.1方案对比1
1.2方案选择2
2.总体模块设计2
3.单元模块设计3
3.1顶层模块设计3
3.2测频控制模块4
3.3十进位计数模块5
3.4测频锁存模块7
4.系统仿真8
5.硬件下载测试9
6.总结与致谢10
参考文献11
附录12
数字频率计
设计要求
1.能够显示的频率为8位10进制;
2.测量的波形的电压最大值小于5V;
3.能测量正弦波、三角波、方波或其他周期性波形的频率;
3.用数码管显示测试的结果。
1、方案论证与对比
1.1方案对比
方案一:
使用ATMEL公司的AT89C51实现一基于单片机的设计,用单片机定时器和计数器来实现对频率的测量,直接用十进制数字显示被测信号频率的一种测量装置。
它以用测量频率的方法对TTL方波频率进行自动测量,使用该单片作为控制器件使被测频率信号通过信号处理电路,闸门时间与被测信号与非处理,产生信号脉冲,经过分频电路,然后送入单片机进行运算和处理,单片机将处理的数据通过显示器显示。
其方案方案设计框图如图1所示:
图1整体方案设计图
方案二:
基于EDA技术和VHDL语言为程序设计语言在器件上实现数字频率计测频系统,其基本原理是使用一个频率稳定性高的频率作为基准,对比测量其他信号的频率,即计算每秒钟内待测信号的脉冲个数。
该数字频率计可以在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能,然后用8位十进制数码显示被测信号的频率,设计出的频率计能够准确的测出输入信号的频率,最后通过系统仿真,下载、验证和调试运行,实现了一个性能良好的8位数字频率计设计目标。
其基本框图如图2所示:
图2数字频率计原理框图
1.2方案选择
单片机与EDA技术相比,EDA以计算机硬件和系统软件为基本工作平台,以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统设计的主要表达方式,自动完成集成电子系统设计的一门新技术[1]。
本设计就是采用vhdl语言和EDA技术的设计流程来正确实现频率计的设计。
VHDL语言具有很强大的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。
VHDL支持各种模式的设计方法:
自顶向下与自底向上或混合方法。
用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,所以选择方案二。
2.总体模块设计
频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率,通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。
闸门时间也可以大于或小于一秒[2]。
频率信号易于传输,抗干扰性强,可以获得较好的测量精度。
因此,频率检测是电子测量领域最基本的测量之一。
本文的数字频率计是按照计算每秒内待测信号的脉冲个数的基本原理来设计,此时取闸门时间为1秒。
数字频率计的关键组成部分包括一个测频控制信号发生器、一个计数器和一个锁存器,另外包含信号整形电路、脉冲发生器、译码驱动电路和显示电路,其流程图如下面面的图3所示:
图3设计流程的框图
工作过程:
系统正常工作时,脉冲信号发生器输入1Hz的标准信号,经过测频控制信号发生器的处理,2分频后即可产生一个脉宽为1秒的时钟信号,以此作为计数闸门信号。
测量信号时,将被测信号通过信号整形电路,产生同频率的矩形波,输入计数器作为时钟。
当计数闸门信号高电平有效时,计数器开始计数,并将计数结果送入锁存器中。
设置锁存器的好处是显示的数据稳定,不会由于周期性的清零信号而不断闪烁。
最后将锁存的数值由外部的七段译码器译码并在数码管上显示。
3.单元模块设计
3.1顶层模块设计
由于综合工具可以将高级别的模型转化生成为门级模型,所以整个设计过程基本是由计算机自动完成的。
认为介入的方式主要是根据仿真的结果和优化的指标,控制逻辑综合的方式和指向[3]。
图4是频率计的顶层设计的原理图。
其中模块control是测频时序控制模块,cnt10_8模块是是十位计数器模块,latch8是测频时序锁存模块,还有选定各个引脚,这些模块是由VHDL语言设计之后生成的,将这些模块连接起来,从而实现其顶层模块的功能,如图4所示。
图4顶层设计的原理图
3.2测频控制模块
1、此模块主要由时钟输入、计数器时钟使能、计数器清零、输出锁存构成。
其具体的实现是由一个1秒的输入信号脉冲计数允许的信号,1秒计数结束后,计数值被锁入锁存器,计数器清0,为下一测频计数周期作好准备。
2、具体程序如下。
LIBRARYIEEE;
——测频控制电路
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYcontrolIS
PORT(clk:
INSTD_LOGIC;
——定义逻辑电路的端口
cen:
OUTSTD_LOGIC;
rst:
load:
OUTSTD_LOGIC);
ENDcontrol;
ARCHITECTUREbehavOFcontrolIS——语句说明
SIGNALDiv2CLK:
STD_LOGIC;
BEGIN——功能描述语句
PROCESS(clk)
BEGIN
IFclk'
EVENTANDclk='
1'
THEN——在顺序语句IF条件下选择高电平
Div2CLK<
=NOTDiv2CLK;
ENDIF;
ENDPROCESS;
PROCESS(clk,Div2CLK)
IFclk='
0'
ANDDiv2CLK='
THENrst<
='
;
ELSErst<
='
——确保CLK的变化是一次上升沿的跳变
load<
cen<
=Div2CLK;
ENDbehav;
3.3十进位计数模块
1、此模块先设计单个十进制计数模块,再设计八位十进制计数模块,将先设计好的单个十进制计数模块导入到八进制计数模块中,就可以完成八位十进制计数模块的设计,这样设计的好处是,减小了程序设计的复杂度,而且层次感强。
2、主要涉及的程序见下面的两个程序。
libraryieee;
——单个十进制计数模块
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycnt10is
port(rst,fx,ena:
instd_logic;
cout:
outstd_logic;
outy:
outstd_logic_vector(3downto0));
endcnt10;
architecturebehvofcnt10is——语句说明
begin——功能描述语句
process(rst,ena,fx)
variablecqi:
std_logic_vector(3downto0);
begin
ifrst='
thencqi:
=(others=>
'
);
elsiffx'
eventandfx='
then
ifena='
then
ifcqi<
9thencqi:
=cqi+1;
cout<
elsifcqi=9then
cqi:
cout<
endif;
elsifena='
thencqi:
endif;
outy<
=cqi;
endprocess;
endbehv;
——八位十进制计数模块
entitycnt10_8is
port(fx,rst,ena:
d:
outstd_logic_vector(31downto0));
endentity;
architectureoneofcnt10_8is
componentcnt10
——引脚功能模块
endcomponent;
signale:
std_logic_vector(7downto0);
begin
u1:
cnt10portmap(fx=>
fx,rst=>
rst,ena=>
ena,cout=>
e(0),outy=>
d(3downto0));
u2:
e(0),rst=>
e
(1),outy=>
d(7downto4));
u3:
e
(1),rst=>
e
(2),outy=>
d(11downto8));
u4:
e
(2),rst=>
e(3),outy=>
d(15downto12));
u5:
e(3),rst=>
e(4),outy=>
d(19downto16));
u6:
e(4),rst=>
e(5),outy=>
d(23downto20));
u7:
e(5),rst=>
e(6),outy=>
d(27downto24));
u8:
e(6),rst=>
e(7),outy=>
d(31downto28));
endarchitectureone;
3.4测频锁存模块
1、在频率计的设计当中设计了一个锁存器,设置锁存的器的好处就是数据显示稳定,不会由于周期性的清零而使信号不断的闪烁,这个模块的功能就是将计数器在规定时间的计数值锁存进锁存器中[4]。
2、主要的设计程序如下。
——锁存器
entitylatch8is
port(d:
instd_logic_vector(31downto0);
clk:
q:
endlatch8;
architectureoneoflatch8is
process(clk,d)
variablecqi:
std_logic_vector(31downto0);
ifclk'
eventandclk='
thenq<
=d;
endone;
4.系统仿真
将程序下载Cyclone系列芯片中,同时在EDA试验箱上进行硬件验证。
进行系统的仿真,直到仿真正确无误后,则可以再将设计编程下载。
测控信号发生器CORNA的设计:
频率测量的基本原理是计算每秒待测信号的脉冲个数。
这就要求CORNA的计数能使信号CORNA能产生一个一秒脉宽的周期信号。
当CORNA为高电平时,允许计数;
为底电平时停止计数,并保持所计脉冲数。
在停止计数期间,首先需要一个锁存信号的上升沿将计数器在前一秒的计数值锁存进16位锁存器LOCK中,测频时序电路原理图、方框图和时序及功能仿真本文提出的数字频率计由于采用VHDL语言设计,用一片FPGA实现,因而体积小,功耗低,具有较好的应用前景。
但由于结构还比较简单,有待进一步完善。
数字频率计整个系统的仿真如图5所示:
图5数字频率计整个电路系统仿真图
5.硬件下载测试
仿真波形正确后,便可进行下载,选择GW48系列EDA试验开发系统,使用Cyclone系列芯片EP1C6Q240C8,先进行引脚锁定[5],具体引脚锁定如图6所示,工作方式选择模式5,选择好硬件和模式后就可以下载到EDA实验箱。
图6数字频率计引脚锁定
在面包板上按照管脚锁定插上八个七段数码管,并于实验板上相应的管脚相连接,实验板插电后,给输入端加入被测信号和使能控制信号,就可以进行硬件测试了。
该数字秒表变化范围为1---99999999Hz。
CLK为基准频率输入端。
下载成功之后就可以进行测试和操作,把工作模式选择方式5,试验箱上面的数码管就会点亮,将基准信号选择1Hz,再选择实验箱上面的方波频率,数码管上面显示的八位十进制数字就是实际测试的信号的频率。
通过对上面一组已知频率的信号进行测试,结果表明该频率计能准确地测出输入信号的频率并正确表示,精确度为100%。
与课程设计预先目的一致。
6.总结与致谢
通过两周的紧张工作,最后完成了我的设计任务——基于VHDL语言的数字频率计的设计。
通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性所在。
本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。
它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。
希望学校以后多安排一些类似的实践环节,让同学们学以致用。
经过这的课程设计,使我学到了很多只有实际操作中的问题,虽然过程比较累,有时也遇到不少问题,但是经过周围同学与老师的帮助指导与帮助,最终顺利的完成了此次课程设计。
在此我谨向在课程设计过程中给予我很大帮助的老师、同学们致以最诚挚的谢意。
特别感谢我们的姚毅老师和成继中老师,本课设能够顺利完成,离不开两位位老师的悉心指导和严格要求。
最后,我要向在百忙之中抽时间对本文进行审阅的老师表示感谢,同时,也要感谢本设计小组的同学,不仅使我完成了实验,还从中学到了许多宝贵的知识,增长了我计算机方面的技能。
参考文献
[1]潘松,黄继业.EDA技术与VHDL(第2版)[M].北京:
清华大学出版社,2007.
[2]康华光.电子技术基础数字部分(第五版)[M].高等教育出版社,2006.45-62
[3]全国大学生电子设计大赛竞赛组委会编.第五届全国大学生电子设计竞赛获奖作品选编[M].北京理工大学出版社,2003.20-43
[4]全国大学生电子设计大赛竞赛组委会编.全国大学生电子设计竞赛获奖作品选编(2003)[M].北京:
北京理工大学出版社,2005.23-45
[5]全国大学生电子设计竞赛湖北赛区组委会编电子系统设计实践[M].湖北:
华中科技大学出版社,2005.17-36
附录
生成的顶层程序如下:
LIBRARYieee;
USEieee.std_logic_1164.all;
LIBRARYwork;
ENTITYtopIS
port
(
clk:
fx:
out1:
OUTSTD_LOGIC_VECTOR(31downto0)
);
ENDtop;
ARCHITECTUREbdf_typeOFtopIS
componentcnt10_8
PORT(fx:
rst:
ena:
d:
componentlatch8
PORT(clk:
INSTD_LOGIC_VECTOR(31downto0);
q:
componentcontrol
cen:
load:
OUTSTD_LOGIC
signalSYNTHESIZED_WIRE_0:
signalSYNTHESIZED_WIRE_1:
signalSYNTHESIZED_WIRE_2:
signalSYNTHESIZED_WIRE_3:
STD_LOGIC_VECTOR(31downto0);
BEGIN
b2v_inst:
cnt10_8
PORTMAP(fx=>
fx,
rst=>
SYNTHESIZED_WIRE_0,
ena=>
SYNTHESIZED_WIRE_1,
d=>
SYNTHESIZED_WIRE_3);
b2v_inst2:
latch8
PORTMAP(clk=>
SYNTHESIZED_WIRE_2,
SYNTHESIZED_WIRE_3,
q=>
out1);
b2v_inst3:
control
clk,
cen=>
load=>
SYNTHESIZED_WIRE_2);
END;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字频率计 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)