八位数字频率计实验报告Word文件下载.docx
《八位数字频率计实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《八位数字频率计实验报告Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
数字频率计首先必须获得相对稳定与准确的时间,同时将被测信号转换成幅度与波形均能被数字电路识别的脉冲信号,然后通过计数器计算这一段时间间隔内的脉冲个数,将其换算后显示出来。
这就是数字频率计的基本原理。
设计:
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:
LOAD:
OUTSTD_LOGIC);
ENDTESTCTL;
ARCHITECTUREARTOFTESTCTLIS
SIGNALDiv2CLK:
STD_LOGIC;
BEGIN
PROCESS(CLK)
BEGINIFCLK'
EVENTANDCLK='
1'
THEN
Div2CLK<
=NOTDiv2CLK;
ENDIF;
ENDPROCESS;
PROCESS(CLK,Div2CLK)
IFCLK='
0'
ANDDiv2CLK='
THEN
CLR_CNT<
='
;
ELSECLR_CNT<
LOAD<
TSTEN<
=Div2CLK;
ENDART;
频率计的关键是设计一个测频率控制信号发生器,产生测量频率的控制时序。
控制时钟信号CLK取为1Hz,2分频后即可产生一个脉宽为1秒的时钟TSTEN,以此作为计数闸门信号。
当TSTEN为高电平时,允许计数;
当TSTEN由高电平变为低电平(下降沿到来)时,应产生一个锁存信号,将计数值保存起来;
锁存数据后,还要在下次TSTEN上升沿到哦来之前产生零信号CLEAR,将计数器清零,为下次计数作准备,如下图所示为测频控制信号仿真图。
32位锁存器的功能模块及仿真
(1)32位锁存器的功能模块下图所示。
锁存器的功能模块图
锁存器电路图
ENTITYREG32BIS
PORT(LOAD:
DIN1:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DIN2:
DIN3:
DIN4:
DIN5:
DIN6:
DIN7:
DIN8:
DOUT1:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT2:
DOUT3:
DOUT4:
DOUT5:
DOUT6:
DOUT7:
DOUT8:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDREG32B;
ARCHITECTUREARTOFREG32BIS
PROCESS(LOAD,DIN1,DIN2,DIN3,DIN4,DIN5,DIN6,DIN7,DIN8)
IF(LOAD'
EVENTANDLOAD='
)THEN
DOUT1<
=DIN1;
DOUT2<
=DIN2;
DOUT3<
=DIN3;
DOUT4<
=DIN4;
DOUT5<
=DIN5;
DOUT6<
=DIN6;
DOUT7<
=DIN7;
DOUT8<
=DIN8;
十进制计数器的功能模块及仿真
(1)十进制计数器的功能模块如下图所示:
十进制计数器的功能模块
计数器电路图
(2)源程序如下:
entityCNT10IS
PORT(CLK,CLR,ENA:
CQ:
OUTSTD_LOGIC_VECTOR(3downto0);
CARRY_OUT:
ENDCNT10;
ARCHITECTUREbehavOFCNT10IS
BEGIN
PROCESS(CLK,CLR,ENA)
VARIABLEQ:
STD_LOGIC_VECTOR(3DOWNTO0);
IFCLR='
THENQ:
=(OTHERS=>
'
);
ELSIFCLK'
IFENA='
THEN
IFQ<
9THENQ:
=Q+1;
ELSEQ:
IFQ="
1001"
THENCARRY_OUT<
ELSECARRY_OUT<
CQ<
=Q;
ENDbehav;
仿真波形为:
4、硬件测试
计数器电路图如下图所示。