伯乐创业网、一个为创业者提供创业好项目和创业资讯的网站!
  • 微信客服微信客服
  • 微信公众号微信公众号
您现在的位置是:首页 > 创业加盟

数字频率计设计(vhdl数字频率计设计)

用户投稿 2022年12月16日 20:57:10

其实数字频率计设计的问题并不复杂,但是又很多的朋友都不太了解vhdl数字频率计设计,因此呢,今天小编就来为大家分享数字频率计设计的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

1简易数字频率计的设计

频率测量的方法常用的有测频法和测周法两种。

测频法的基本思想是让计数器在闸门信号的控制下计数1秒时间,计数结果是1秒内被测信号的周期数,即被测信号的频率。若被测信号不是矩形脉冲,则应先变换成同频率的矩形脉冲。测频法的原理框图如图所示。

图中,秒脉冲作为闸门信号,当其为高电平时,计数器计数;低电平时,计数器停止计数。显然,在同样的闸门信号作用下,被测信号的频率越高,测量误差越小。当被测频率一定时,闸门信号高电平的时间越长,测量误差越小。但是闸门信号周期越长,测量的响应时间也越长。

2、当被测信号频率较低时,为保证测量精度,常采用测周法。即先测出被测信号的周期,再换算成频率。测周法的实质是把被测信号作为闸门信号。

在它的高电平的时间内,用一个标准频率的信号源作为计数器的时钟脉冲。若计数结果为N,标准信号频率为f1,则被测信号的周期为:T = T1·N。被测信号的频率为:f = 1/T1·N = f1/N。

利用测周法所产生的最大绝对误差,显然也等于±1个标准信号周期。如果被测信号周期的真值为T真= T1·N,则T测= T1·(N±1)σmax= (f测-f真)/ f真= T真/T测 – 1=±1/(N±1)由上式可知,对于一定的被测信号,标准信号的频率越高,则N的值越大,因而相对误差越小。

3、低频段的测量,鉴于上述困难,对于低频信号,为了达到规定的精度,要采取一些比较特殊的方法。例如,可考虑将被测信号倍频后再用测频法测量。

或将闸门信号展宽。由于倍频电路比较复杂,所以一般采用后一种方法,实际上闸门信号展宽与被测信号倍频在效果上是相同的。

闸门信号展宽比较容易做到,例如采用分频电路就可以实现。若闸门信号高电平时间从1秒展宽到10秒,则相对误差可以按比例下降,但响应时间也增大相同的比例。

4、显示方式:共用右边四个数码管,左三个显示数据,最右端一个显示单位,为0时单位为Hz,为1时单位为Khz

5、代码:

//#includec8051F330.h

#includeZLG7289.h

#includeinit.h

#define uint unsigned int

uint a,b,c,d;

unsigned long  x;

unsigned long  count;

unsigned char flag=0;

void Timer0_Init()interrupt 1

{

TH0=(65535-10000)/256;

TL0=(65535-10000)%256;

if(++count==40)

{

count=0;

TR1=0;

x=TH1*256+TL1;       

TH1=0;

TL1=0;

TR1=1;

flag=1;

}

}

void show(void)

{if(x=10x100)

{

a=0;

b=x*10%100;

c=x/10;

d=x%10;

ZLG7289_Download(1,7,0,a);

ZLG7289_Download(1,6,0,b);

ZLG7289_Download(1,5,1,d);

ZLG7289_Download(1,4,0,c);

}

else if(x=100x1000)

{

a=0;

b=x/100;

c=x%100/10;

d=x%10;

ZLG7289_Download(1,7,0,a);

ZLG7289_Download(1,6,1,d);

ZLG7289_Download(1,5,0,c);

ZLG7289_Download(1,4,0,b);

}

else if(x=1000x10000)

{

a=x/1000;

b=x%1000/100;

c=x%100/10;

d=1;

ZLG7289_Download(1,7,0,d);

ZLG7289_Download(1,6,0,c);

ZLG7289_Download(1,5,0,b);

ZLG7289_Download(1,4,1,a);

}

}

main(void)

{

system_init();

systemclk_init();

port_init();

ZLG7289_Init(40);

ZLG7289_Reset();

timer_init();

while(1)

{

if(flag==1)

{

show();

flag = 0;

}

}}

#include C8051F330.h

#include port.h

void system_init()

{

PCA0MD=~0x40;

}

void systemclk_init()

{

OSCICL=OSCICL+42; //设置内部振荡器为24MHZ

OSCICN|=0x01;   //内部振荡器4分频

}

void port_init()

{

P0SKIP=0x00;       //跳过P0.0做INT0.P0.1做INT1(P0.6,P0.7模拟输出不跳)

P1SKIP=0x00;       //跳过P1.2,P1.3,P1.4

XBR0=0x00;         //交叉开关使能UART0

XBR1=0x60;         //打开交叉开关

//IT01CF=0x10;     //INT0配置在P0.0,INT1配置在P0.1

P0MDIN=0xFF;     //数字输入

P1MDIN=0xFF;

P0MDOUT=0xFF; //推挽

P1MDOUT=0xFF;

}

void timer_init()

{

TMOD=0X51;

TH0=(65535-2500)/256;

TL0=(65535-2500)%256;

EA=1;

ET0=1;

TR1=1;

TR0=1;

}

#ifndef __port_H_

#define __port_H_

void system_init(void);

void systemclk_init(void);

void port_init(void);

void timer_init(void);

#endif

2数字频率计设计LCD显示:测量函数信号发生器产生的方波频率,测量频率范围为1-250khz精度为1hz。

实现这样的测量并不困难。不过,个人觉得,重要的是设计思路,直接求程序,你获取的不是知识,遇到问题也不能自己解决。

你的频率测量范围较宽,采用两个定时器的思路是对的。不过,没有必要限制在1S内对方波进行计数。一般思路是,对于较高频率的信号测量,采用固定时间T(不一定是1S)对脉冲数N进行计数,频率F=N/T。对于较低频率的信号测量,对固定周期数的脉冲(脉冲数为N,N常取1或更大的数)进行计时(时间为T),频率F=N/T。这样做的好处是,高频时,可以测量较快,低频时,测量较慢(这是必然的,最快就是N=1时),但是,都可以获取较高的测量精度。低频时,精度远远高于1Hz。

没按你的要求发程序,打搅勿怪,有疑问欢迎交流!

3数字频率计的设计

简易频率计

一、设计任务与要求

1.设计制作一个简易频率测量电路,实现数码显示。

2.测量范围:10Hz~99.99KHz

3.测量精度: 10Hz。

4. 输入信号幅值:20mV~5V。

5. 显示方式:4位LED数码。

二、方案设计与论证

频率计是用来测量正弦信号、矩形信号、三角形信号等波形工作频率的仪器,根据频率的概念是单位时间里脉冲的个数,要测被测波形的频率,则须测被测波形中1S里有多少个脉冲,所以,如果用一个定时时间1S控制一个闸门电路,在时间1S内闸门打开,让被测信号通过而进入计数译码器电路,即可得到被测信号的频率fx。

任务要求分析:

频率计的测量范围要求为10Hz~99.99KHz,且精度为10Hz,所以有用4片10进制的计数器构成1000进制对输入的被测脉冲进行计数;要求输入信号的幅值为20mV~5V,所以要经过衰减与放大电路进行检查被测脉冲的幅值;由于被测的波形是各种不同的波,而后面的闸门或计数电路要求被测的信号必须是矩形波,所以还需要波形整形电路;频率计的输出显示要经过锁存器进行稳定再通过4位LED数码管进行显示。

经过上述分析,频率计电路设计的各个模块如下图:

方案一:

根据上述分析,频率计定时时间1s可以通过555定时器和电容、电阻构成的多谐振荡器产生1000Hz的脉冲,再进行分频成1Hz即周期为1s的脉冲,再通过T触发器把脉冲正常高电平为1s;放大整形电路通过与非门、非门和二极管组成;闸门电路用一个与门,只有在定时脉冲为高电平时输入信号才能通过与门进入计数电路计数;计数电路可以通过5个十进制的计数器组成,计数器再将计的脉冲个数通过锁存器进行稳定最后通过4个LED数码显像管显示出来。

方案二:

频率计定时时间1s可以直接通过555定时器和电容、电阻构成的多谐振荡器产生1Hz的脉冲,再通过T触发器把脉冲正常高电平为1s;放大整形电路可以直接用一个具有放大功能的施密特触发器对输入的信号进行整形放大,其他模块的电路和方案一的相同。

通过对两种方案的分析,为了减少总的电路的延迟时间,提高测量精确度,所以选择元件少的第二种方案。

三、单元电路设计与参数计算

时基电路:

用555_VIRTUAL定时器和电容、电阻组成多谐振荡器产生1Hz的脉冲,根据书中的振荡周期 : T=(R1+R2)C*ln2 取C=10uF,R1=2KΩ,T=1s,计算得:R2=70.43KΩ,再通过T触发器T_FF把脉冲正常高电平为1s的脉冲,元件的连接如下:

经示波器仿真,产生的脉冲的高电平约为1S。

放大整形电路:

用一个74HC14D_4V的含放大功能的施密特触发器对输入脉冲进行放大整形,把输入信号放大整形成4V的矩形脉冲,其放大整形效果如下图:

闸门电路:

用一个与门74LS08作为脉冲能否通过的闸门,当定时信号Q为高电平时,闸门打开,输入信号进入计数电路进行计数,否则,其不能通过闸门。

计数电路:

计数电路用5(4)片74192N计数器组成100000(10000)进制的计数电路,74192N是上升沿有效的,来一个脉冲上升沿,电路记一次数,所以计数的范围为0~99999(5000)。但计数1S后要对计数器进行清零或置零,在这里用清零端,高电平有效,当计数1S后,Q为低电平,Q’为高电平,所以用Q’作为清零信号,接线图如下:

锁存显示电路:

当计数电路计数结束时,要把计得脉冲数锁存通过数码显示管稳定显示出来。锁存器用2片74ls273,时钟也是上升沿有效,当Q为下降沿时,Q’恰好是上升沿,所以用Q’作为锁存器的时钟,恰能在计数结束时把脉冲数锁存显示,电路的接线图如下:

四、总电路工作原理及元器件清单

1.总原理图

2.电路完整工作过程描述(总体工作原理)

555组成的多谐振荡器产生1Hz的脉冲,经过T触发器整形成高电平时间为1S的脉冲,高电平脉冲打开闸门74LS08N,让经施密特触发器74HC14D放大整形的被测脉冲通过,进入计数器进行1S的计数。当计数结束时,T触发器的Q为下降沿,Q’刚好为上升沿,触发锁存器工作,让计数器输出的信号通过锁存器锁存显示,同时,高电平的Q’信号对计数电路进行清零,此后,电路将循环上述过程,但对于同一个被测信号,在误差的允许范围内,LED上所显示的数字是稳定的。

3.元件清单

元件序号 型号 主要参数 数量 备注

1 74192 5 加法计数器

2 74LS273 2 锁存器

3 DCD_HEX 4 LED显示器

4 555_VIRTUAL 1 定时器

5 T_FF 1 T触发器

6 CAPACITOR_RATED 电容10Uf、额定电压50V 1 电容

7 CAPACITOR_RATED 电容10Nf、额定电压10V 1 电容

8 RES 阻值2KΩ 1

9 RES 阻值 1

10 74LS08 1 双输入与门

11 74HC14D_4V 1 施密特触发器,放大电压4V

12 AC_VOLTAGE 1 可调的正弦脉冲信号

五、仿真调试与分析

把各个模块组合起来后,进行仿真调试以达到任务要求。

① 在信号输入端输入10Hz的交流脉冲,仿真,结果如下:

说明仿真的结果准确

② 在信号输入端输入300Hz的交流脉冲,仿真,结果如下:

仿真结果准确

③ 在信号输入端输入3KHz正弦脉冲,仿真,结果如下:

④输入20KHz的正弦脉冲,仿真,结果如下:

仿真结果结果与实际的结果相差20Hz,这说明频率越高,误差越大。经分析,这是由于各个元器件存在着延迟时间,1S的脉冲,经过各个元器件的延迟,计数时间会大于1s,频率越高,误差越大,所以计数的时间要稍微小于1S,调小时基电路的R3为70.23KΩ,仿真,结果如下:

还是存在误差,经过多次调节R3仿真,最后确定R3为70.06 KΩ时对于各个频率的测试都比较准确,20KHz时仿真结果如下:

所以R3为70.06KΩ是测得的各个频率值都比较准确,且电路设计都符合测任务要求。

六、结论与心得

在这次课程设计的过程中,我收获不少。首先,我学会了把一个电路分成模块去设计,最后再整合,这样可以把一个复杂的电路简单化了,并且这样方便与调试与修改;其次,设计有助了我去自学一些元器件的功能,去运用它;再次,我也初步会用multisim软件设计电路;最后,这次课程设计也提高了我查找问题、思考问题和解决问题的能力,还锻炼了我的耐性。

在这次课程设计中也遇到了很多问题,首先,是对元器件了解不多,对于要实现某种功能不知道用那一种元件,所以问同学,上网收索,再了解这种元件的逻辑功能,学会去用它;其次,不大会用电路设计软件,一开始用EWB软件设计,对模块仿真可以,但整合整个原理图仿真却不行,通过示波器观察输出波形发现脉冲走了一小段却停止了,以为是电路有问题,就查找了很多遍才找出问题,原来在那个软件仿真时是不允许存在两个信号,所以重新用multisim设计,才可以;最后,在用multisim仿真高频率时仿真速度极慢,所以调整了软件的仿真最大步长,但问题又出现了,信号紊乱,数码管显示数字不一,然后就猜想会不会是元件的问题,太高频率元件来不及反应就输出结果,但上网寻找答案,原来是软件的仿真步长会影响仿真的精确度,所以,某一范围的频率仿真,要用相应的最大仿真步长。

这个题目的设计花了自己不少心血,有时甚至一整天在弄,但是当自己成功地设计出电路时所获得的那一份成就感是无法表达的,所以整个电路的设计过程充满着苦恼与乐趣。

七、参考文献

[1] 阎石 《数字电子技术基本教程》第一版 ,清华大学出版社,2007.08

4跪求:《数字频率计的设计》 原理,方框图,电路图!

摘 要:文中运用VHDL语言,采用Top To Down的方法,实现8位数字频率计,并利用Isp Expert集成开发环境进行编辑、综合、波形仿真,并下载到CPLD器件中,经实际电路测试,该系统系统性能可靠。

关键词:EDA;VHDL;数字频率计;波形仿真;CPLD�

1引言

VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言)诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE(The Institute of Electrical and Electronics Engineers)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top to Down)和基于库(LibraryBased)的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路(ASIC)的设计。

数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言。将使整个系统大大简化。提高整体的性能和可靠性。

本文用VHDL在CPLD器件上实现一种8 b数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。具有体积小、可靠性高、功耗低的特点。

2数字频率计的基本设计原理

数字频率计的原理框图如图1所示。他主要由5个模块组成,分别是:脉冲发生器电路、测频控制信号发生器电路、计数模块电路、锁存器、译码驱动电路。�

当系统正常工作时,脉冲发生器提供的1 Hz的输入信号,经过测频控制信号发生器进行信号的变换,产生计数信号,被测信号通过信号整形电路产生同频率的矩形波,送入计数模块,计数模块对输入的矩形波进行计数,将计数结果送入锁存器中,保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在七段数码显示管上可以显示的十进制结果。在数码显示管上可以看到计数结果。�

3设计实现�

3.1系统方框图的划分和结构设计

根据数字频率计的系统原理框图(图1虚线框内),设计系统的顶层电路图如图2所示。�

图2中TESTCTL为测频控制信号发生器。TESTCTL的计数使能信号TSTEN能产生一个1 s宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制:当TSTEN高电平时允许计数、低电平时停止计数。

REG32B为锁存器。在信号Load的上升沿时,立即对模块的输入口的数据锁存到REG32B的内部,并由REG32B的输出端输出,然后,七段译码器可以译码输出。在这里使用了锁存器,好处是可以稳定显示数据,不会由于周期性的清零信号而不断闪烁。

CNT10为十进制计数器。有一时钟使能输入端ENA,用于锁定计数值。当高电平时允许计数,低电平时禁止计数。图2中将8个十进制计数器CNT10级联起来实现8 b十进制计数功能。

SEVYM为七段译码显示驱动电路,可以将频率计数的结果译成能在数码管上显示相对应的阿拉伯数字,便于读取测量的结果。

为了实现系统功能,测频控制信号发生器TESTCTL、计数器CNT10、锁存器REG32B存在一个工作时序的问题,设计时需要综合考虑。

图3给出了系统的工作时序。图3中CLK是由图1中脉冲发生器产生的频率为1 Hz的标准时钟信号,当测频控制信号发生器TESTCTL的TSTEN端为高电平时允许计数、低电平时停止计数,在停止计数期间,测频控制信号发生器TESTCTL的Load端产生一个上升沿,将计数器在前1 s的计数值锁存进32 b锁存器REG32B中,并由8个7段译码器将计数结果译出稳定显示。锁存信号之后经过半个CLK周期,测频控制信号发生器TESTCTL的CLR�_CNT端产生一个上升沿,对计数器进行清零。为下1 s的计数操作做准备。

为了产生这个时序图,首先有一个D触发器构成二分频器,在每次时钟CLK的上升沿到来使其值翻转。D触发器的输出高电平正好是1 s,因此可以作为测频控制信号发生器TESTCTL的TSTEN端,用来控制计数。而Load信号正好是TSTEN端信号的翻转。在计数结束后半个CLK周期,CLK与TSTEN都为低电平,这时CLR�_CNT产生一个上升沿作为清零信号。�

3.2各模块的VHDL源程序

采用VHDL描述数字频率计的电路时,根据图2所示的数字频率计系统顶层电路图,按照自顶向下的设计思路,编写各个模块的VHDL源程序,最后再对各个模块进行组合,编写顶层描述的VHDL源程序,由于篇幅所限,本文仅介绍数字频率计顶层描述的源程序,各个模块的VHDL源程序编写较为简单,可以根据各自的功能,相应地写出。

8位数字频率计的顶层描述VHDL源程序为:

4系统的功能仿真

Lattice公司推出的Isp Expert的数字系统设计软件,是一套完整的EDA软件,能够对所设计的数字电子系统进行时序仿真和功能仿真。

采用Lattice公司推出的Isp Expert EDA软件,对所编写数字频率计VHDL源程序进行编译、逻辑综合,自动地把VHDL描述转变为门级电路。然后进行波形仿真,编写的仿真测试向量文件如下(为仿真简单起见,测试一个66 Hz的周期信号):

仿真后得到的波形图如图4所示,从仿真波形上看测量的结果是准确的。还可以进一步修改测试向量文件,进行波形仿真。最后通过编程电缆,将所设计的内容下载到CPLD器件中,进行实物仿真。�

5结语

本文介绍了使用VHDL语言设计数字频率计的方法,并下载到CPLD中组成实际电路,这样可以简化硬件的开发和制造过程,而且使硬件体积大大缩小,并提高了系统的可靠性。同时在基本电路模块基础上,不必修改硬件电路,通过修改VHDL源程序,增加一些新功能,满足不同用户的需要,实现数字系统硬件的软件化。

5数字频率计

1)测周法:使用“测周法”测量输入信号的频率,在数字电路中可以利用被测信号的边沿来向电路内部提供一个闸门时间,在闸门时间内对系统内部提供的标准高频时钟信号的边沿进行计数。若被测信号的频率为 ,标准高频时钟信号的频率为 ,测量所得计数值为 ,则可以根据公式(1)得到被测信号频率。

时序图如图1.1.1所示:

2)计数法:使用“计数法”测量输入信号的频率,即通过系统内部给一个固定闸门时间,在闸门时间内用计数器对被测信号的边沿进行计数。若被测信号的频率为 ,内部闸门时间为T,测量所得计数值为 ,则可以根据公式(2)得到被测信号频率。

时序图如图1.1.2所示:

因为在数字电路中使用中小规模逻辑器件构建多位除法器电路十分困难,故选择计数法来测量被测信号的频率。通过设置内部闸门时间T为1s,计数器在闸门时间内的计数值 即为被测信号的频率值。

根据设计要求,数字频率计最高需测量100kHz的TTL电平信号,故数字频率计系统通过逻辑控制电路给计数器芯片提供1s闸门时间的计数信号,在1s计数完成之后锁存计数器所得到的计数值,并且通过译码器译码完成后通过数码管显示出来。锁存完成之后再向计数器提供清零信号,然后计数器再开始下一次的测量,系统整体设计框图如图1.2.1所示。

时基电路是由555定时器构成的多谐振荡器,电路原理图如图2.1.1所示。在接通电源之后,若此时555定时器的放电三极管T未导通,则电容C1通过电阻R1、R2进行充电,此时电路输出高电平。当电容C1上的电压达到 时,电路输出高电平,同时放电三极管T导通,电容C1通过电阻R2放电,电路输出低电平。当电容C1上电压下降至 时,电路输出翻转为高电平,同时放电三极管T截止,电路周而复始的工作,产生时基信号。

时基信号的高电平时间由电容充电时间决定,其计算公式如下:

时基信号的低电平时间由电容充电时间决定,其计算公式如下:

使用模拟示波器测量时基电路输出的时基信号,示波器测量结果如图2.1.2所示。根据示波器测量结果,时基信号的高电平时间约为1s,低电平时间约为120ms,时基信号满足设计要求。

根据设计要求,需测量100kHz的信号,使用计数法计数时,计数模块最低需在1s内可以计100k个边沿脉冲。且因为显示模块为数码管,为了让数码管方便显示,故每一个计数器芯片都应设计为模十计数器,同时为6个模十计数器级联才能符合设计要求。但是当计数模块为6个计数器级联时,若采用同步计数器,则可能会使得计数脉冲的负载加重,故选择采用异步十进制计数器芯片74LS90,其芯片的功能表如表2.2.1所示。

根据芯片功能表,当R9(1)、R9(2)保持低电平时,可以通过控制R0(1)、R0(2)两个引脚的电平高低来控制计数器工作状态。故通过逻辑控制电路向计数模块输入计数/清零信号,当该信号为高电平时,计数器计数。当该信号为低电平时,计数器清零。为了实现计数器之间的级联,将低位计数器的Q4输出端接至高位计数器的CKA输入端。当低位计数器的计数状态Q0Q1Q2Q3从1001变为0000即计数值从9变为0时,Q4会产生一个下降沿信号输入到高位计数器的CKA端,实现了低位计数器向高位计数器的进位功能。计数模块电路图如图2.2.2所示。

给电路加上计数/清零信号和被测信号后,使用逻辑分析仪去测量其中一个计数器芯片的输出,其输出结果如图2.2.3所示,其中A0-A3分别对应着计数器芯片的四个输出端Q0-Q3,A4为计数/清零信号。根据测量结果,计数器能够在计数信号有效时正常计数,在清零信号有效时保持清零状态。

根据设计方案,译码显示模块需完成对计数器的计数结果进行锁存、译码并且通过数码管显示出来。为了减少芯片数量,故选择自带锁存功能的译码器芯片CD4511,CD4511的功能表如表2.3.1所示。

根据CD4511功能表,数码管应选择共阴极数码管。逻辑控制电路给译码显示模块输入锁存译码信号,即CD4511芯片的 和 始终保持着接高电平,给芯片的LE端输入译码显示信号。当译码显示信号为高电平时,译码显示模块锁存在上一个LE=0时的状态,显示在高电平来临之前的状态,当译码显示信号为低电平时,译码显示模块就会实时刷新显示状态。译码显示模块电路图如图2.3.2所示。

闸门电路需根据闸门信号来控制被测信号是否能够输入到计数模块。当闸门信号为高电平时,被测信号能够正常地通过闸门电路输入到计数模块,而当闸门信号为低电平时,被测信号被闸门阻碍,无法通过闸门电路。

根据闸门电路的设计要求,可以采用二输入与非门来实现闸门信号对被测信号是否输入到计数模块的控制。如表2.4.1为四2输入与非门74LS00的功能表。若闸门信号输入到与非门的A端,被测信号输入到与非门的B端,根据其功能表可知,当闸门信号为高电平时,闸门电路的输出信号与被测信号反相,当闸门信号为低电平时,闸门电路的输出信号一直保持高电平,阻碍被测信号输入计数模块。闸门电路的电路图如图2.4.2所示。

向闸门电路输入闸门信号和被测信号,使用模拟示波器观察输出信号与两个输入信号的波形图,如图2.4.3所示。

如图所示,第一个信号为闸门电路输出信号,第二个为被测信号,第三个为闸门信号。当闸门信号为高电平时,被测信号能够正常地通过闸门电路输出到计数模块,当闸门电路为低电平时,闸门电路输出保持为高电平,导致被测信号无法传输到计数模块,满足设计要求。

根据设计方案,逻辑电路需要根据输入的时基信号,通过逻辑电路来产生控制计数模块的清零信号和控制译码显示模块的锁存信号,以此来实现数字频率计的自动测量和刷新功能。

译码显示模块需要通过逻辑控制电路产生一个译码信号来实现对译码显示模块的锁存数据和刷新数据的功能。译码信号是在计数模块测量完成之后,在清零信号有效之前进行锁存当前测量结果的数据,根据CD4511的功能表, 锁存信号是高电平有效,即在高电平时译码器对高电平来临之前的输入信号进行锁存并保持,在低电平时锁存失效,即根据输入信号的变化实时刷新输出信号。在逻辑控制电路内,为了让其基于时基信号产生锁存信号,采用了555构成的不可重复触发的单稳态触发器。

单稳态触发器的特点是电路有一个稳定状态和一个暂稳状态。在触发信号作用下,电路将由稳态翻转到暂稳态,但是暂稳态是一个不能长久保持的状态,由于电路中RC延时环节的作用,经过一段时间后,电路会自动返回到稳态,并在输出端获得一个脉冲宽度为 的矩形波。在单稳态触发器中,输出的脉冲宽度 ,就是暂稳态的维持时间,其长短取决于电路中电阻R和电容C的参数值。

由555构成的单稳态触发器电路及工作波形如图2.5.2所示。图中R,C为外接定时元件,输人的触发信号 接在555的低电平触发端(2脚)。稳态时,输出 为低电平,即无触发器信号( 为高电平)时,电路处于稳定状态且输出低电平。在 的负脉冲作用下,低电平触发端得到低于 ,输出 为高电平,放电三级管T截止,电路进入了暂稳态,定时开始。在暂稳态期间,电源→R→C→地,实现对电容的充电,充电时间常数T=RC, 按指数规律上升。当电容两端电压 上升到 后,6端为高电平,输出 变为低电平,放电三极管T导通,定时电容C充电结束,即暂稳态结束。电路恢复到稳态 为低电 平的状态。当第二个触发脉冲到来时,又重复上述过程。

根据上述555单稳态触发器电路原理, 从零电平上升到 的时间就是输出电压 的脉宽 ,其计算公式如公式5所示。

逻辑控制电路的原理图如图2.5.3所示,实现对输入的时基信号进行变换,转化为清零信号和锁存信号。

向逻辑控制电路输入时基信号,使用示波器测量其输入信号和输出的清零信号及锁存信号的波形图,如图2.5.4所示。锁存信号在时基信号的下降沿触发,一直持续到时基信号下一次下降沿之前才转化为低电平,清零信号与时基信号相比较发现清零信号在产生于时 基信号的上升沿,且比较短暂,仿真结果满足设计方案。

方波发生器的电路是以555多谐振荡器为模板,通过控制555多谐振荡器的电阻大小和电容大小来改变输出的矩形波的频率。具体的555多谐振荡器电路原理参见节2.2.1。根据设计要求,矩形波发生器的电路原理图如图2.6.1所示。

使用频率计测量矩形波发生器的输出频率,其最大频率与最小频率如图2.6.2所示。

在设计逻辑控制电路时,原本采取的设计方案是用单稳态触发器通过对时基信号的触发产生一个很窄的高电平脉冲信号作为清零信号,再对清零信号通过一个单稳态触发器产生一个很窄的低电平脉冲信号作为锁存信号。这个设计方案是基于所使用单稳态触发器为脉冲触发时,才可能使得单稳态触发器的暂稳态时间低于触发信号的脉冲宽度。但是所使用的单稳态触发电路是由555定时器芯片为核心搭建的,而根据555定时器芯片的功能表,如表3.1.1所示,555定时器搭建的单稳态触发电路为电平触发的单稳态电路,故修改设计方案,具体方案参考节2.5.1。

在制作频率计时,考虑到电路较为复杂,如果在洞洞板上搭建电路则在电路连接上会受限制,会使用大量的跳线或者杜邦线去连接电路,电路的稳定性和可靠性比较低。故采用设计PCB制作电路板的方式去实现电路。

但是在设计PCB时由于经验不足,在布线时将两个不同网络的线路和焊盘放的过近,导致所制作出来的电路板在有的地方发生了短路的现象,花费了大量的时间去排查和解决短路问题。在放置数码管与CD4511之间的限流电阻时,由于疏忽导致电阻的阻值不等,使得数码管亮度不均匀。

通过本次数字频率计课程设计,加强了我在数字电路方面的认识。在设计频率计的电路时,通过查找资料加深了对时序电路和逻辑电路的了解,同时也学会了如何去通过查阅芯片的数据手册来分析它的功能和建立时间、保持时间等一些参数,以此来选取符合设计功能的芯片。在电路的时序逻辑设计上,通过本次设计让我体会到了数字电路中的时序对于整个系统是否正常能够工作起着决定性作用。在时基电路和逻辑控制电路的设计中所运用的555定时器芯片搭建的不同功能的电路,让我对与单稳态电路和无稳态电路有直接的体会。在仿真电路,学会了使用Protues这一款电子电路仿真软件,并且通过虚拟示波器和逻辑分析仪去观察和分析电路的时序逻辑。

在制作实物时,使用了EDA电路设计软件来设计PCB和制作电路板来完成实物制作,在制作的过程中逐渐熟悉了软件的时候和画PCB的技巧。同时也发现了并非电路仿真成功电路就一定不存在问题。由于在实际电路中,各类元件的参数上的误差和焊接上的缺陷对电路都会造成影响。而且在制作电路时一定要认真检查,如果一处出现失误,会导致整个电路失去作用甚至烧坏电路。所以在制作实物时要足够的细心去排查电路故障产生的原因并且去修正它。

在短短几天的课程设计中,不仅加深了我对数字电路基础知识的掌握程度,而且还让我经历了一个电路从无到有的设计和制作过程,加深了对***知识的理解,让我对***知识的学习有了更大的兴趣和动力。

OK,关于数字频率计设计和vhdl数字频率计设计的内容到此结束了,希望对大家有所帮助。

版权声明:
本文内容由互联网用户自发贡献,该文观点仅代表作者本人,因此内容不代表本站观点、本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至3245813932@qq.com举报,一经查实,本站将立刻删除、维护您的正当权益。