八位数字频率计实验报告.docx
- 文档编号:3775883
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:9
- 大小:184.78KB
八位数字频率计实验报告.docx
《八位数字频率计实验报告.docx》由会员分享,可在线阅读,更多相关《八位数字频率计实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
八位数字频率计实验报告
八位十进制数字频率计
1、设计任务
(1)熟悉Quatus11软件的基本使用方法。
(2)熟悉EDA实验开发系统的使用方法。
(3)学习时序电路的设计、仿真和硬件设计,进一步熟悉VHDL设计技术。
(4)分析了8位十进制数字频率计的基本原理。
(5)对数字频率计的各个模块功能的分析,进行了功能仿真测试,得出仿真波形图。
二、方案选择与设计
数字频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。
闸门时间也可以大于或小于一秒。
闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长。
闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。
数字频率计的主要功能是测量周期信号的频率。
频率是单位时间(1S)内信号发生周期变化的次数。
如果我们能在给定的1S时间内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率。
数字频率计首先必须获得相对稳定与准确的时间,同时将被测信号转换成幅度与波形均能被数字电路识别的脉冲信号,然后通过计数器计算这一段时间间隔内的脉冲个数,将其换算后显示出来。
这就是数字频率计的基本原理。
设计:
1)脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为,f为被测信号的频率,N为计数器所累积的脉冲个数,T为产生N个脉冲所需的时间。
所以,在1秒时间内计数器所记录的结果,就是被测信号的频率。
2)被测频率信号取自实验箱晶体振荡器输出信号,加到主控室的输入端。
3)再取晶体振荡器的另一标准频率信号,经分频后产生各种时基脉冲:
1ms,
10ms,0.1s,1s等,时基信号的选择可以控制,即量程可以改变。
4)时基信号经控制电路产生闸门信号至主控门,只有在闸门信号采样期间内(时基信号的一个周期),输入信号才通过主控门。
5)f=N/T,改变时基信号的周期T,即可得到不同的测频范围。
6)当主控门关闭时,计数器停止计数,显示器显示记录结果,此时控制电路输出一个置零信号,将计数器和所有触发器复位,为新一次采样做好准备。
系统总体框架图
8位十进制数字频率计的电路逻辑图
8位十进制数字频率计的电路逻辑图,它由一个测频控制信号发生器TESTCTL、8个有时钟使能的十进制计数器CNT10、一个32位锁存器REG32B[8]组成。
以下分别叙述频率计各逻辑模块的功能与设计方法。
8位十进制数字频率计的电路逻辑如图4.18所示。
图4.18位十进制数字频率计的电路逻辑图
三软件设计与仿真
各功能模块的源程序及每个程序运行后的仿真波形:
测频控制信号发生器的功能模块及仿真
(1)测频控制信号发生器的功能模块如下图所示。
测频控制信号发生器的功能模块图
测频控制电路图
(2)源程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYTESTCTLIS
PORT(CLK:
INSTD_LOGIC;
TSTEN:
OUTSTD_LOGIC;
CLR_CNT:
OUTSTD_LOGIC;
LOAD:
OUTSTD_LOGIC);
ENDTESTCTL;
ARCHITECTUREARTOFTESTCTLIS
SIGNALDiv2CLK:
STD_LOGIC;
BEGIN
PROCESS(CLK)
BEGINIFCLK'EVENTANDCLK='1'THEN
Div2CLK<=NOTDiv2CLK;
ENDIF;
ENDPROCESS;
PROCESS(CLK,Div2CLK)
BEGIN
IFCLK='0'ANDDiv2CLK='0'THEN
CLR_CNT<='0';
ELSECLR_CNT<='1';
ENDIF;
ENDPROCESS;
LOAD<=NOTDiv2CLK;
TSTEN<=Div2CLK;
ENDART;
频率计的关键是设计一个测频率控制信号发生器,产生测量频率的控制时序。
控制时钟信号CLK取为1Hz,2分频后即可产生一个脉宽为1秒的时钟TSTEN,以此作为计数闸门信号。
当TSTEN为高电平时,允许计数;当TSTEN由高电平变为低电平(下降沿到来)时,应产生一个锁存信号,将计数值保存起来;锁存数据后,还要在下次TSTEN上升沿到哦来之前产生零信号CLEAR,将计数器清零,为下次计数作准备,如下图所示为测频控制信号仿真图。
32位锁存器的功能模块及仿真
(1)32位锁存器的功能模块下图所示。
锁存器的功能模块图
锁存器电路图
(2)源程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYREG32BIS
PORT(LOAD:
INSTD_LOGIC;
DIN1:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DIN2:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DIN3:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DIN4:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DIN5:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DIN6:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DIN7:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DIN8:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT1:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT2:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT3:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT4:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT5:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT6:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT7:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT8:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDREG32B;
ARCHITECTUREARTOFREG32BIS
BEGIN
PROCESS(LOAD,DIN1,DIN2,DIN3,DIN4,DIN5,DIN6,DIN7,DIN8)
BEGIN
IF(LOAD'EVENTANDLOAD='1')THEN
DOUT1<=DIN1;
DOUT2<=DIN2;
DOUT3<=DIN3;
DOUT4<=DIN4;
DOUT5<=DIN5;
DOUT6<=DIN6;
DOUT7<=DIN7;
DOUT8<=DIN8;
ENDIF;
ENDPROCESS;
ENDART;
十进制计数器的功能模块及仿真
(1)十进制计数器的功能模块如下图所示:
十进制计数器的功能模块
计数器电路图
(2)源程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
entityCNT10IS
PORT(CLK,CLR,ENA:
INSTD_LOGIC;
CQ:
OUTSTD_LOGIC_VECTOR(3downto0);
CARRY_OUT:
OUTSTD_LOGIC);
ENDCNT10;
ARCHITECTUREbehavOFCNT10IS
BEGIN
PROCESS(CLK,CLR,ENA)
VARIABLEQ:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
IFCLR='0'THENQ:
=(OTHERS=>'0');
ELSIFCLK'EVENTANDCLK='1'THEN
IFENA='1'THEN
IFQ<9THENQ:
=Q+1;
ELSEQ:
=(OTHERS=>'0');
ENDIF;
ENDIF;
ENDIF;
IFQ="1001"THENCARRY_OUT<='1';
ELSECARRY_OUT<='0';ENDIF;
CQ<=Q;
ENDPROCESS;
ENDbehav;
仿真波形为:
4、硬件测试
计数器电路图如下图所示。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 八位 数字频率计 实验 报告