基于基于VHDL语言的数字频率计的设计方案语言的数字频率计的设计方案
本文提出了一种基于VHDL语言的数字频率计的设计方案,该方案通过采用自顶向下的设计方法,用VHDL语言
对状态机、计数器、十分频、同步整形电路等进行编程,用QuartusⅡ对状态机、计数器、同步整形电路、分频
电路进行仿真,在FPGA上采用高频测频、低频测周、中间十分频转换的方法,设计出体积较小,性能更可靠的
数字频率计。经过电路仿真和硬件测试验证了方案的可行性。
1.引言
数字频率计是通讯设备、计算机、电子产品等生产领域不可缺少的测量仪器。由于硬件设计的器件增加,使设计更加复杂,可
靠性变差,延迟增加,测量误差变大。通过使用EDA技术对系统功能进行描述,运用VHDL语言,使系统简化,提高整体的性
能和可靠性。采用VHDL编程设计的数字频率计,除了被测信号的整形部分,键输入和数码显示以外,其他都在一片FPGA上
实现,从而让整个系统非常精简,让其具有灵活的现场更改性,在不改变硬件电路的基础上,进一步改进提高系统的性能,使
数字频率计具有高速,精确度高,可靠性强,抗干扰等优点,为数字系统进一步的集成创造了条件。
2.数字频率计的工作原理
频率测量方法中,常用的有直接测频法、倍频法和等精度测频法。中直接测频法是依据频率的含义把被测频率信号加到闸门的
输入端,只有在闸门开通时间T(以ls计)内,被测(计数)的脉冲送到十进制计数器进行计数。直接测频法比其他两个方案
更加简单方便可行,直接测频法虽然在低频段测量时误差较大,但在低频段我们可以采用直接测周法加测量,这样就可以提高
测量精度了。直接周期测量法是用被测周期信号直接控制计数门控电路,使主门开放时间等于Tx,时标为Ts的脉冲在主门开放
时间进入计数器。设在Tx期间计数值为N,可以根据Tx=N×Ts来算得被测信号周期。因此本文采用低频测周,高频测频的方法
来提高精度,减小误差。
3.主要功能模块的实现
该系统设计的控制器是由状态机实现,通过在不同测量档位,选择合理的时基信号频率降低误差,确定各状态转移条件和状态
名,采用低频档位测周,高频档位测频的方法。20MHz晶振送入分频器,分出各档时基信号和其它模块所需的触发信号,分
频器将各档时基信号传给状态机,同时待测信号进入状态机,状念机进行状态转换,将量程溢出信号和状态显示信号表征在发
光二极管上。如图表1所示。
3.1 状态机模块
首先对系统复位,如果此时状态机的初始状态为Fl00k,若超量程信号送入状态机,则状态转换到FlM,如果仍有超量程信号则状
态转换到F10M,如果仍有超量程信号则状态转换到F100M,如果还有超量程信号则状态转换到Overflow H产生高溢出信号;若
欠量程信号送人状态机,则状态转换到P1ms,如果有超量程信号则状态转换到P10ms,如果仍有超量程信号则状态转换到
P100ms,如果仍有超量程信号则状态转换到P 1 s,如果还有超量程则状态转换到OverflowL产生低溢出信号。如图1所示。