量程自动转换的12位十进制等精度数字频率计
扫描二维码
随时随地手机看文章
VHDL是一种快速设计电路工具,目前已成为IEEE的一种工业标准硬件描述语言。相比传统电路系统设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top to Down)和基于库(Library Based)的设计特点,因此设计者无需了解硬件结构,就可进行设计。
数字频率计是数字电路中的一个典型应用,实际硬件设计采用的器件较多,连线复杂,而且会产生较大延时,造成测量误差且可靠性差。随着复杂可编程逻辑器件的广泛应用,以EDA工具为开发手段,运用VHDL语言,从而大大简化系统设计,提高整体的性能和可靠性。
2 数字频率计测频原理
数字式频率计的基本原理:使用一个频率稳定度高的频率源作为基准时钟,来对比测量其他信号的频率。通常情况下计算单位时间内待测信号的脉冲个数。单位时间可设置为大于或小于一秒。闸门时间越长,频率值越准确,但闸门时间越长,每次测量频率的间隔也就越长。闸门时间越短,测量的频率值刷新越快,但将影响到测量的频率精度。每次测量时,采用时基信号产生的闸门信号启动计数器来对输入的脉冲信号计数:闸门信号结束则将计数结果送入锁存器,然后计数器清零,准备下次计数。如被测波形不好,可通过施密特电路整形。
3 系统结构设计
按照系统功能,数字频率计系统分为二分频、测量/校验选择、计数器、送存选择报警电路、锁存器、扫描显示等模块,如图1所示。1 Hz时钟信号作为测频电路的输入参考信号,经二分频电路分频后与测量/校验选择电路输出的待测信号相比较,通过计数器电路在单位时间内计数脉冲数,时钟下降沿结束计数:并将计数结果送至送存选择报警电路,由送存选择报警电路判断,并完成对量程的选择。若超限,则发出报警信号:最后再由锁存器和显示电路完成数据显示。该系统整体设计的电路图如图2所示。
3.1 测量/校验选择模块
测量/校验选择模块采用二选一的选择器实现。测量与校验共用一电路,只是输出信号CP1不同。其中各输入信号:选择信号sel、被测信号meas、测试信号test,而输出信号为CP1。当sel=0时,为测量状态,CPl=meas;当sel=1时,为校验状态,CPl=test。其仿真结果如图3所示。
3.2 测频控制信号发生器
测频控制信号发生器采用分频电路实现,采用1 Hz时钟信号作为输入信号。测频控制信号发生器决定系统精度。本系统设计采用的二分频电路,输出占空比为50%,周期为2 s的方波。其仿真结果如图4所示。相关设计程序代码如下:
3.3 计数器模块
计数器模块对测频控制信号发生器的输出信号CP1进行计数,1 s定时后,将计数器中的结果送入锁存器锁存,同时对计数器清零,为下一次采样测量做好准备,通过对十进制计数器例化实现。输入信号:RD和CP用于计数开始、清零、锁存;输出信号为Q4~Q1。图5所示为计数器模块的仿真结果。其相关程序代码如下:
3.4 送存选择报警模块
送存选择报警模块是本系统设计的关键,该模块提供两个功能:根据被测信号选择量程,若超出量程则报警,锁存数据。仿真结果如图6所示。
设置超出量程档测量范围示警信号alert。
(1)若被测信号频率值小于1 kHz(K=0)
计数器只进行三位十进制计数,最大显示值为999 Hz:数码管显示被测信号频率值,1 Hz~999 Hz量程档,Y显示绿色;如果被测信号频率值超出该范围,告警信号驱动灯光、扬声器报警;
(2)若被测信号频率值为1 kHz~10 kHz(K=1)
计数器进行四位十进制计数,取高3位显示,最大显示值为9.99 kHz,被测信号频率值为数码管显示数值的1 000倍,1 kHz~10 kHz量程档,Y显示红色。如果被测信号频率值超出该范围,则扬声器报警。并给出相关程序代码:
3.5 扫描显示模块
系统的扫描显示模块分为分时总线切换和显示译码电路。分时总线切换用于显示位的选择,显示译码用于显示段的选择。采用动态扫描显示可使端口数目达到最少。
3.6 顶层设计
在顶层设计中对各模块进行例化,实现整个系统设计。
4 结束语
通过对仿真结果的分析,系统设计达到了最初的设计要求,并使用康芯公司GW48EDA PK2/CK试验系统对系统设计软件程序进行验证,同样达到了设计要求。