APP下载

基于VHDL语言的宽量程数字频率计的设计

2021-07-30徐宏亮

电子元器件与信息技术 2021年4期
关键词:量程档位闸门

徐宏亮

(燕山大学,河北 秦皇岛 066004)

0 引言

在电子领域中,频率是最基本的参数之一,大部分电参数也都和频率关系密切[1],因此,数字频率计在电子领域的应用十分广泛。传统的数字频率计大都采用单片机实现,虽然成本较低,但电路复杂且稳定性差。随着超大规模集成电路的发展,可通过可编程逻辑器件和EDA技术对硬件系统进行设计[2],使用EDA技术进行数字系统设计逐渐成为主流设计方法[3]。EDA即电子设计自动化,一般采用自顶向下的设计理念,使用者可通过硬件语言对目标器件进行设计[4],并能随时修改[5],从而简化设计过程[6]。VHDL语言是用来描述从抽象到具体级别硬件的工业标准语言,其程序结构特点是将一个电路模块或一个系统分成实体(外部端口)和构造体(内部功能算法实现)两部分实现[7],并且可将逻辑方程、电路原理图、真值表以及时序波形进行整合从而对电路进行详细描述[8]。Quartus Ⅱ软件作为一种EDA开发工具为设计者提供了一种与结构无关的设计环境,可通过在不同的功能模块上选择不同的源文件输入方式可设计出不同的底层功能模块,然后把这些模块组装起来,便可生成具有一定功能的系统[9]。本方法以Quartus Ⅱ为工作平台,利用VHDL语言设计了一个时序逻辑电路,通过仿真分析,证明可以在软件层面实现宽量程频率测量和自动换档的功能。

1 原理及结构组成

数字频率计的基本原理是以一个频率稳定的信号作为闸门信号,用计数器对闸门信号带宽内输入信号重复次数进行计数,然后将计数结果锁存起来,最后再由译码显示模块把锁存的结果显示出来。闸门信号带宽可任意取值,但为了兼顾测频准确度和测频速度,本文将闸门信号带宽设为1s[10]。

数字频率计主要分为分频模块、计数换档模块、锁存模块和总控模块,其结构如图1所示。CLOCK为时钟信号,GATE为闸门信号,SIGNAL1为待测信号,CLEAR为清零信号,ALARM为超量程提示信号,GEAR为档位提示信号,MEASUREMENT为输出结果。

图1 数字频率计系统总体结构

测量时,输入分频模块的信号频率应为200Hz,输入计数换档模块的被测信号频率范围为0到1GHz,若超出量程,则计数换档模块的超量程提示信号输出高电平,此时将清零信号置为低电平,可令超量程提示信号归零。闸门信号同时连接锁存模块和计数换挡模块,计数换档模块的输出连接锁存模块的输入,锁存模块的输出作为整个数字频率计的输出。数字频率计有Hz、KHz、MHz三个档位,当被测信号的频率范围为0到10KHz时,档位为Hz,档位提示信号输出1;当被测信号的频率范围为10KHz到10MHz时,档位为KHz,档位提示信号输出2;当被测信号的频率范围为10MHz到1GHz时,档位为MHz,档位提示信号输出3。

2 模块设计

(1)分频模块本质上是一个200进制计数器,其作用是产生测频所需的闸门信号。该模块的时钟信号频率取为200Hz,当计数达到200时,将输出的信号反转,该模块即可产生脉宽为1s的闸门信号。频率的定义为单位时间内信号发生周期性变化的次数,因此在闸门信号为高电平时对被测信号的周期性变化进行计数,计数值即为被测信号的频率,此外,闸门信号还作为锁存模块的使能信号以便锁存计数值。

(2)计数换档模块的主体是一亿进制计数器,其功能是记录输入信号的脉冲数并自动换档。该模块包含Hz、KHz、MHz三个档位,分别用1、2、3表示。在程序中定义四位标准逻辑矢量类型的变量C0,C1,C2,C3,C4,C5,C6,C7,C8,分别作为计数器的个位、十位、百位、千位、万位、十万位、百万位、千万位和亿位,在闸门信号为高电平的情况下计数器对被测信号的上升沿进行计数,从最低位开始计数,每一位满十个后本位归零,同时本位的下一位加一,当最高位计满十个上升沿后归零,并输出一个高电平超量程提示信号。通过嵌套if语句实现自动换档功能,首先判断亿位是否为零,当亿位不为零时,显示C8、C7、C6三位,此时档位为MHz;否则,判断千万位是否为零,当千万位不为零时,显示C8、C7、C6三位,此时档位为MHz;否则,判断百万位是否为零,当百万位不为零时,显示C6、C5、C4、C3四位,此时档位为KHz;否则,判断十万位是否为零,当十万位不为零时,显示C5、C4、C3三位,此时档位为KHz;否则,判断万位是否为零,当万位不为零时,显示C4、C3、C2、C1四位,此时档位为KHz;否则,判断千位是否为零,当万位不为零时,显示C3、C2、C1、C0四位,此时档位为Hz;对于小于一千的频率,显示C2、C1、C0三位,此时挡位为Hz;当清零信号CLEAR有效时,超量程提示信号清零。

(3)锁存模块起锁存作用, 在测量过程中锁存模块输出不变,当闸门信号的下降沿到来时,即测量过程结束后,锁存模块的输出等于输入,即显示的计数换档模块的测量结果,并且保存到下一次测量结束。

(4)总控模块的作用是连接其余三个模块,在编程时首先将三个模块进行元件例化,当闸门信号的高电平结束时,闸门信号将控制计数换档模块计数停止,使锁存模块的输出等于输入,并将计数器此时记录的数据作为数字频率计的输出。

3 功能仿真和验证分析

仿真时时钟信号均设置周期为5ms,即频率为200Hz。

当设置被测信号频率为15Hz(周期约为66.6ms)时,仿真结果数值输出为15,档位显示输出为1,表示被测信号的频率为15Hz;当设置被测信号频率为2777KHz(周期约为360ns)时,仿真结果数值输出为2777,档位显示输出为2,表示被测信号的频率为2777KHz;当设置被测信号频率为199MHz(周期约为5.03ns)时,仿真结果数值输出为199,档位显示输出为3,表示被测信号的频率为199MHz。三次仿真均与预期相符,说明程序无误。且均未超量程,因此超量程提示信号始终为低电平。

4 结语

本文介绍了一种宽量程数字频率计的设计方法,首先对系统结构进行分析,将系统分成多个模块;然后设计系统,分别完成各模块设计并进行元件例化,通过编写总控模块将各模块连接在一起;最后进行了系统测试,验证了该方法可实现预期功能。

与传统设计方法相比,该方法设计巧妙、代码精简、实用性强,并且不同模块之间相互独立,实现了数字系统硬件的软件化;另一方面,由于时间和能力有限,以及设备和程序不完善,所以系统功能还有许多地方可以扩展,离实际使用还有一定的距离,需要进行补充和完善。

猜你喜欢

量程档位闸门
基于惯性导航量程扩展的滚动再次受控方法
宽量程计量自动切换及远程传输技术
水利工程闸门的管理及维护措施
煤气化装置中吹扫转子流量计量程选取探讨
三绕组变压器运行分接头档位计算及电压分析
三绕组变压器运行分接头档位计算及电压分析
把住医保基金水池闸门
找准入口,打开思路的闸门
宽量程蒸汽流量测量方法的探讨
我国专家发现药物成瘾新机制,找到“闸门”开关