数字频率计设计报告Word文档下载推荐.docx
- 文档编号:20449680
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:20
- 大小:176.94KB
数字频率计设计报告Word文档下载推荐.docx
《数字频率计设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字频率计设计报告Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
提高整体的性能和可靠性。
本文用VHDL在CPLD器件上实现一种8b数字频率计测频系统,能够用十进制数码显示被测信号的频率,能够测量正弦波、方波和三角波等信号的频率、周期和占空比,具有体积小、精度高、可靠性好、功耗低的特点。
二设计任务和要求
(1)频率测量
测量范围信号:
方波、正弦波
幅度:
0.5V~5V
频率:
1Hz~10MHz
测试误差≤0.1%
(2)周期测量
频率:
(3)脉冲宽度测量
脉冲波
脉冲宽度≥100μS
测试误差≤1%
(4)显示器
十进制数字显示,显示刷新时间1~10s连续可调,对上述三种测量功能分别用不同的发光二极管指示。
(5)具有自校功能,时标信号频率为1MHz。
2.发挥部分
(1)扩展频率测量范围为0.1Hz~50MHz(信号幅度0.5V~5V),测试误差降低为0.01%(最大闸门时间≤10S)。
(2)测量并显示周期脉冲信号(幅度0.5V~5V、频率1Hz~1kHz)的占空比,占空比变化范围为10%~90%,测试误差≤1%。
(3)在1Hz~1MHz范围内及测试误差≤0.1%的条件下,进行小信号的频率测量,提出并实现抗干扰措施。
三设计方案
3.1系统框图
图1数字频率计系统框图
图2数字频率计时序逻辑图
我们依据试验系统的要求,将整个系统分为模式选择模块、控制信号发生模块、计数器模块以及32位锁存器模块。
其中模式选择模块完成了系统在测频、测周以及占空比之间的转换,提高了系统的可操作性。
在控制信号发生模块中,我们依据模式选择模块中给出的输出信号来产生不同的控制信号来协调整个系统的工作,完成系统设计的控制。
计数器模块依据模式选择模块和控制信号产生模块给出的信号进行计数,实现频率、周期和占空比的测量。
数据锁存模块将计数器的输入数据进行锁存,使得显示更加稳定。
系统正常工作时,系统先依据用户的选择,选择不同的时钟信号进行输出,为不同的功能测量做好准备,如测频的时候输出1HZ的时钟频率和待测信号,而测周的时候输出位1MHZ的时钟频率和待测信号。
然后控制信号发生模块产生不同的控制信号来控制着计数器的工作方式,计数器对被测信号进行计数,计数结束后将计数结果送入锁存器进行锁存,最后通过译码显示输出。
在频率测量方面,被测信号中较多的是模拟和数字开关信号,此外还经常遇到以频率为参数的测量信号,例如流量、转速、晶体压力传感器以及经过参变量—频率转换后的信号等。
频率测量的基本原理是累计每秒钟内信号脉冲的个数。
总的来说,传统的测频方法主要可分为以下三种:
1、直接测频法(简称测频法):
直接测频法是通过测量标准闸门时间内待测信号的脉冲数而计算出待测信号频率的,由于闸门时间通常不是待测信号周期的整数倍,因此存在最大±
1的待测信号脉冲误差,一般只能在信号频率较高时采用;
2、间接测量法(简称测周法):
测周法是通过测量待测信号的周期并求其倒数而求得其频率的,在待测信号的一个周期内也存在最大±
1的标准信号脉冲误差,一般在信号频率较低时采用。
3、组合法:
由于在低频段直接测量周期的方法精度较高,故可将直接测频法与周期测频法相组合。
即在高频段采用直接测频法,低频段采用周期测频法。
但是这种测频方法人为的把频率分为两部分,过程也相当复杂,缺点也比较明显。
本设计所用的直接计数法测量周期,原理同测量频率的原理类似,只要将闸门信号和脉冲信号互换即可,原理在此不再赘述。
测量周期的电路就是测量频率的电路,周期和频率是在同一个测量模块中产生的。
3.4占空比测量原理
在本次实验中,我们将占空比的测量转化为对周期的测量。
通过测量一秒的时间内待测信号的高电平的时间来近似求得待测信号的占空比,通过实际的测量显示,该方法具有测量速度快,原理简单,测量精度高等特点。
四模块实现
4.1.1模块功能
模式选择模块是该数字频率计的控制模块,完成了用户与系统之间的交互控制,使得该系统具有更好的可操作性和完善的人机交互功能。
模式选择模块中,我们实现了在测频、测周和占空比之间的模式转换。
该模块依据用户的控制输入,产生不同的时钟信号以及控制触发信号来实现不同的功能。
依据测频、测周和测占空比原理的不同,在测频输出时,我们输出闸门信号为1H在的时钟信号,脉冲信号为待测信号;
在测周输出,输出的闸门信号为待测信号,脉冲信号为1MHZ的时钟信号;
而当选择测占空比功能时,输出的闸门信号为1Hz的时钟信号,而脉冲信号为待测信号与1MHZ的时钟信号相与之后的信号,这样得出的计数得出的脉冲个数即可认为是待测信号的占空比。
4.1.2VHDL语言程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYMODEIS
PORT(CLK1HZ:
INSTD_LOGIC;
CLK12MHZ:
INSTD_LOGIC;
FSIN:
MODE_F:
MODE_T:
MODE_DuTY:
GATE:
OUTSTD_LOGIC;
CNT:
OUTSTD_LOGIC);
ENDMODE;
ARCHITECTUREbehav1OFMODEIS
SIGNALGATE1:
STD_LOGIC;
SIGNALCNT1:
SIGNALcount:
STD_LOGIC_VECTOR(2DOWNTO0);
SIGNALclk_temp:
BEGIN
PROCESS(CLK12MHZ,MODE_F,MODE_T,MODE_DUTY)
BEGIN
IF(CLK12MHZ'
eventANDCLK12MHZ='
1'
)THEN
IF(count="
101"
)THEN
count<
=(OTHERS=>
'
0'
);
clk_temp<
=NOT(clk_temp);
ELSE
=count+1;
ENDIF;
IFMODE_F='
ANDMODE_T='
ANDMODE_DUTY='
THEN--测周
GATE1<
=FSIN;
CNT1<
=CLK_TEMP;
ELSIFMODE_F='
ANDMODE_DUTY='
THEN--测占空比
GATE1<
=CLK1HZ;
=FSINANDCLK_TEMP;
ELSE--测频
ENDPROCESS;
GATE<
=GATE1;
CNT<
=CNT1;
ENDbehav1;
4.1.3仿真波形图
A频率测量
如图3所示,当MODE_F信号处于高电平时,GATE输入为FSIN,CNT输出为CLK1HZ。
图3频率测量仿真波形图
B周期测量
如图4所示,当MODE_T信号处于高电平时,GATE输出为FSIN,CNT输出为CLK12MHZ。
图4周期测量仿真波形图
C占空比测量
如图5所示,当MODE_DUTY信号处于高电平时,GATE输出为CLK1HZ,CNT输出为FSIN与CLK12MHZ相与。
图5占空比测量仿真波形图
4.2控制信号发生器模块
4.2.1模块功能
控制信号发生器是数字频率计的关键模块,由该模块产生用于系统协调工作的控制信号。
根据频率、周期和占空比的测量原理,测量信号必须有一个闸门信号,作为输入脉冲的信号计数允许的控制。
当闸门信号结束后,产生计数值的锁存和计数值的清零信号,为下一周期的测量做好准备。
4.2.2模块逻辑
这就要求TESTCTL的计数使能信号TSTEN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制。
当TSTEN高电平时允许计数,低电平时停止计数,并保持其所计的脉冲数。
在停止计数期间,首先需要一个锁存信号Load的上跳沿将计数器在前1秒钟的计数值,锁存进32位锁存器REG32B中并由外部的7段译码器译出,并稳定显示。
设置锁存器的好处是,显示的数据稳定不会由于周期性的清零信号而不断闪烁,锁存信号之后,必须有一清零信号,CLR_CNT对计数器进行清零,为下1秒钟的计数操作作准备。
测频控制信号发生器的工作时序如图13-11所示,为了产生这个时序图,需首先建立一个由D触发器构成的二分频器,在每次时钟CLK上沿到来时其值翻转其中控制信号时钟CLK的频率取1Hz那么信号TSTEN的脉宽恰好为1秒,可以用作计数闸门信号。
然后根据测频的时序要求,可得出信号Load和CLR_CNT的逻辑描述由图13-11可见,在计数完成后即计数使能信号TSTEN在1秒的高电平后,利用其反相值的上跳沿产生一个锁存信号,Load0.5秒后。
CLR_CNT产生一个清零信号上跳沿高质量的测频控制信号发生器的设计十分重要设计中要对其进行仔细的实时仿真TIMINGSIMULATION防止可能产生的毛刺。
4.2.3模块图
图6控制信号发生器模块图
4.2.4VHDL代码
LIBRARYIEEE;
--测频控制信号发生器
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYTESTCTLIS
PORT(CLK:
INSTD_LOGIC;
--1Hz测频控制时钟
TSTEN:
OUTSTD_LOGIC;
--计数器时钟使能
CLR_CNT:
--计数器清零
Load:
OUTSTD_LOGIC);
--输出锁存信号
ENDTESTCTL;
ARCHITECTUREbehavOFTESTCTLIS
SIGNALDiv2CLK:
STD_LOGIC;
PROCESS(CLK)
IFCLK'
EVENTANDCLK='
THEN--1Hz时钟二分频
Div2CLK<
=NOTDiv2CLK;
ENDIF;
PROCESS(CLK,Div2CLK)
IFCLK='
ANDDiv2CLK='
THENCLR_CNT<
='
;
--产生计数器清零信号
ELSECLR_CNT<
='
;
ENDIF;
ENDPROCESS;
Load<
TSTEN<
=Div2CLK;
ENDbehav;
4.2.5仿真波形图
图7控制信号发生器仿真图
4.3.1模块功能
锁存器的作用是将计数器在闸门时间结束时所计得的数进行锁存,使显示器上能稳定地显示此时计数器的值.闸门时间结束时,逻辑控制电路发出锁存信号Ⅳ,将此时计数器的值送译码显示器。
当时钟脉冲Load的正跳变来到时,锁存器的输出等于输入,即Dout=Din。
从而将计数器的输出值送到锁存器的输出端。
正脉冲结束后,无论Din为何值,输出端Dout的状态仍保持原来的状态不变.所以在计数期间内,计数器的输出不会送到译码显示器.
4.3.2模块图
图8数据锁存器模块图
4.3.3VHDL语言代码
--32位锁存器
ENTITYREG32BIS
PORT(Load:
DIN:
INSTD_LOGIC_VECTOR(31DOWNTO0);
DOUT:
OUTSTD_LOGIC_VECTOR(31DOWNTO0));
ENDREG32B;
ARCHITECTUREbehavOFREG32BIS
PROCESS(Load,DIN)
IFLoad'
EVENTANDLoad='
THENDOUT<
=DIN;
--锁存输入数据
ENDbehav;
4.3.4仿真波形图
图9数据锁存器仿真波形图
4.4计数器模块
4.4.1模块功能
完成对输入的脉冲信号的计数,以实现对周期、频率和占空比的测量。
可采用十进制计数器,也可以采用二进制计数器。
本次试验中我们采用的是8个一个十进制计数器级联的形式完成了对脉冲的计数。
该方法具有原理简单,实现方便,数度较快等特点。
其具体的原理框图如图10所示。
图10计数器原理框图
4.4.2VHDL代码
--有时钟使能的十进制计数器
ENTITYCNT10IS
--计数时钟信号
CLR:
--清零信号
ENA:
--计数使能信号
CQ:
OUTINTEGERRANGE0TO15;
--4位计数结果输出
CARRY_OUT:
OUTSTD_LOGIC);
--计数进位
ENDCNT10;
ARCHITECTUREbehavOFCNT10IS
SIGNALCQI:
INTEGERRANGE0TO15;
PROCESS(CLK,CLR,ENA)
IFCLR='
THENCQI<
=0;
--计数器异步清零
ELSIFCLK'
THEN
IFENA='
IFCQI<
9THENCQI<
=CQI+1;
ELSECQI<
=0;
--等于9则计数器清零
PROCESS(CQI)
IFCQI=9THENCARRY_OUT<
--进位输出
ELSECARRY_OUT<
CQ<
=CQI;
4.4.3仿真波形图
图11计数器仿真波形图
4.5顶层整合
4.5.1顶层整合逻辑图
在VHDL的实现过程中,其顶层的逻辑图如图12所示,由一个测频控制信号发生器TESTCTL,8个有时钟功能的十进制计数器CNTIO,—个32位锁存器REG32B组成。
图12顶层整合逻辑图
4.5.2顶层整合VHDL代码
--频率计顶层文件工程文件
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYFREQTESTIS
PORT(CLK12MHZ:
CLK1HZ:
MODE_F:
MODE_T:
MODE_DUTY:
OUTSTD_LOGIC_VECTOR(31DOWNTO0));
ENDFREQTEST;
ARCHITECTUREstrucOFFREQTESTIS
COMPONENTMODE
PORT(CLK1HZ:
CLK12MHZ:
MODE_T:
MODE_DuTY:
CNT:
ENDCOMPONENT;
COMPONENTTESTCTL
PORT(CLK:
COMPONENTCNT10
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
COMPONENTREG32B
INSTD_LOGIC_VECTOR(31DOWNTO0);
SIGNALCLK1MHZ1:
SIGNALGATE1,CNT1:
SIGNALLoad1,TSTEN1,CLR_CNT1:
SIGNALDTO1:
STD_LOGIC_VECTOR(31DOWNTO0);
SIGNALCARRY_OUT1:
STD_LOGIC_VECTOR(6DOWNTO0);
U11:
MODEPORTMAP(FSIN=>
FSIN,CLK12MHZ=>
CLK12MHZ,CLK1HZ=>
CLK1HZ,GATE=>
GATE1,
CNT=>
CNT1,MODE_F=>
MODE_F,MODE_T=>
MODE_T,MODE_DUTY=>
MODE_DUTY);
U1:
TESTCTLPORTMAP(CLK=>
GATE1,TSTEN=>
TSTEN1,
CLR_CNT=>
CLR_CNT1,Load=>
Load1);
U2:
REG32BPORTMAP(Load=>
Load1,DIN=>
DTO1,DOUT=>
DOUT);
U3:
CNT10PORTMAP(CLK=>
CNT1,CLR=>
CLR_CNT1,ENA=>
CQ=>
DTO1(3DOWNTO0),CARRY_OUT=>
CARRY_OUT1(0));
U4:
CARRY_OUT1(0),CLR=>
CLR_CNT1,
ENA=>
TSTEN1,CQ=>
DTO1(7DOWNTO4),
CARRY_OUT=>
CARRY_OUT1
(1));
U5:
CNT10PORTMAP(CLK=>
CARRY_OUT1
(1),CLR=>
DTO1(11DOWNTO8),
CARRY_OUT1
(2));
U6:
CARRY_OUT1
(2),CLR=>
DTO1(15DOWNTO12),
CARRY_OUT1(3));
U7:
CARRY_OUT1(3),CLR=>
ENA=>
DTO1(19DOWNTO16),
CARRY_OUT1(4));
U8:
CARRY_OUT1(4),CLR=>
DTO1(23DOWNTO20),
CARRY_OUT1(5));
U9:
CARRY_OUT1(5),CLR=>
DTO1(27DOWNTO24),
CARRY_OUT1(6));
U
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字频率计 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)