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

时间:2022-09-15 07:48:55

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

【摘要】文章采用自顶向下的设计方法,用VHDL语言对状态机、计数器、十分频、同步整形电路等进行编程,用QuartusⅡ对状态机、计数器、同步整形电路、分频电路进行仿真,在FPGA上采用高频测频、低频测周、中间十分频转换的方法,初步设计出体积较小,性能更可靠的数字频率计。经过电路仿真和硬件测试验证了设计的正确性。

【关键词】数字频率计;VHDL;状态机

1.引言

数字频率计是通讯设备、计算机、电子产品等生产领域不可缺少的测量仪器。由于硬件设计的器件增加,使设计更加复杂,可靠性变差,延迟增加,测量误差变大。通过使用EDA技术对系统功能进行描述,运用VHDL语言,使系统简化,提高整体的性能和可靠性。采用VHDL编程设计的数字频率计,除了被测信号的整形部分,键输入和数码显示以外,其他都在一片FPGA上实现,从而让整个系统非常精简,让其具有灵活的现场更改性,在不改变硬件电路的基础上,进一步改进提高系统的性能,使数字频率计具有高速,精确度高,可靠性强,抗干扰等优点,为数字系统进一步的集成创造了条件[1]。

2.数字频率计的工作原理

频率测量方法中,常用的有直接测频法、倍频法和等精度测频法[2]。其中直接测频法是依据频率的含义把被测频率信号加到闸门的输入端,只有在闸门开通时间T(以ls计)内,被测(计数)的脉冲送到十进制计数器进行计数。直接测频法比其他两个方案更加简单方便可行,直接测频法虽然在低频段测量时误差较大,但在低频段我们可以采用直接测周法加测量,这样就可以提高测量精度了。直接周期测量法是用被测周期信号直接控制计数门控电路,使主门开放时间等于Tx,时标为Ts的脉冲在主门开放时间进入计数器。设在Tx期间计数值为N,可以根据Tx=N×Ts来算得被测信号周期。因此本文采用低频测周,高频测频的方法来提高精度,减小误差[3]。

3.主要功能模块的实现

该系统设计的控制器是由状态机实现,通过在不同测量档位,选择合理的时基信号频率降低误差,确定各状态转移条件和状态名,采用低频档位测周,高频档位测频的方法。20MHz晶振送入分频器,分出各档时基信号和其它模块所需的触发信号,分频器将各档时基信号传给状态机,同时待测信号进入状态机,状念机进行状态转换,将量程溢出信号和状态显示信号表征在发光二极管上。如图表1所示。

表1 频率量程状态

3.1 状态机模块

首先对系统复位,如果此时状态机的初始状态为Fl00k,若超量程信号送入状态机,则状态转换到FlM,如果仍有超量程信号则状态转换到F10M,如果仍有超量程信号则状态转换到F100M,如果还有超量程信号则状态转换到Overflow H产生高溢出信号;若欠量程信号送人状态机,则状态转换到P1ms,如果有超量程信号则状态转换到P10ms,如果仍有超量程信号则状态转换到P100ms,如果仍有超量程信号则状态转换到P1s,如果还有超量程则状态转换到OverflowL产生低溢出信号[4]。如图1所示。

3.2 计数器模块

在“待计数信号”的两个时钟周期内完成计数与控制信号(Over与Low)的传输,在量程合适的情况下,还将计数值输出。这两个时钟周期内,第1个时钟周期完成计数,第2个时钟周期完成控制信号的传输与计数值输出。这样做的好处是稳定,将计数与控制信号传输分开进行。避免了一些可能遇到的“时钟跳变”。但这种做法的缺点也很明显,那就是在测周期模式下,假如待测信号是1Hz的,那么系统可能需要2s(两个时钟周期)才能显示正确的数值。

3.3 十分频模块

由于1kHz~10kHz的信号无论用测频法还是测周期法都是不可行的,可以采用预分频的方法[5],将1kHz~10kHz的信号十分频,然后用测周期法测出周期,再计算出频率。

3.4 同步整形电路模块

通过同步整形电路处理外部的异步信号,超量程和欠量程。源程序如下:

library ieee;

use ieee.std_logic_1164.all;

entity SignalLatch is

4.系统的功能仿真和验证分析

据状态转换图,这里将状态机的程序分成两个进程,进程1完成状态转移过程,进程2控制各状态下的输出值如下图2所示,timecounter=clocktested为50KHz。为了方便观察,将数值改小,计数值大于100且小于或等于1000时输出!将clock1设为50K,clock2计数时钟设为5M,得出仿真如图3所示Result为100符合计数要求。如图4所示给clk1一个5KHz的频率,经过十分频后clk2输出0.5KHz,clk1的周期是0.2ms,经过十分频后是2ms.。同步整形电路仿真如图5所示。

由以上模块进行仿真得出了频率的测量。如图6、7、8所示。

图8

5.结论

采用此方法设计的数字频率计占用FPGA芯片资源较少,成本较低,减少了电路的尺寸,具有一定的参考实用价值。利用Quartus II平台进行了仿真和硬件测试,基本达到了设计的要求。系统具有较好可靠性,灵活性。

参考文献

[1]王本有,孟坚,苏守宝.一种基于FPGA的数字IC设计[J].电子技术.

[2]潘松,黄继业.EDA技术实用教程[M].北京:科学出版社,2010.

[3]黄任.AVR单片机与CPLD/FPGA综合应用入门[M].北京:北京航空航天大学出版社,2004.

[4]韩威,徐火生,方湘艳.EDA与集成电路工程设计[M].北京:科学出版社,2009.

[5]候伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计[M].西安电子科技大学出版社,2004:6.

基金项目:重庆市教委科学技术研究项目(编号:KJ100512);重庆市自然科学基金项目(编号:CSTC,2010DD2412)。

通讯作者:牟洪江(1987—),男,重庆人,重庆邮电大学光电工程学院硕士研究生,研究方向:微电子学与固体电子学。

上一篇:基于活动理论的大学计算机基础课程教学设计研... 下一篇:基于Matlab GUI层次分析法的实现和应用