1、电子技术课程设计,低频数字频率计的VHDL设计,蔡忠法,浙江大学电工电子基础中心,设 计 任 务,1. 测频范围10.0Hz9.99KHz; 2. 测量误差小于等于1%; 3. 响应时间不大于12秒; 4. 具有超量程显示功能; 5. 频率计分成三个频段进行设计。,一、设计内容:用PLD器件EPM7128SLC84-15设计一个低频数字频率计。,二、性能与技术指标,为了保证信号频率的测量精度,要求把频率测量范围分成三个频段,其最大显示数分别为:99.9 Hz、999. Hz和9.99 kHz。为此,需要控制频率显示的小数点位置,及频率显示单位Hz或kHz,具体要求如表所示。当信号频率超过规定频
2、段的上限频率时,希望具有超量程指示。,总体方案讨论,数字频率计的原理框图,待设计电路,通常取T=1s,则fx=N1。,1. 测频法(M法),一、测频原理,频率是单位时间内信号周期的变化次数。如果用一个标准的定时时间TG控制一个闸门电路,在时间TG内闸门打开,让被测信号通过,记下被测信号的变化周期(用计数器)数,该数与计数时间TG的比值就是被测信号的频率,则:,显然,计数器的最大误差是相差1个脉冲,因此M法的最大相对误差为,因此,M法的相对误差与被测信号频率成反比(若频率越高,则N越大)。M法适合于高频信号的测量。,M法的原理框图如下:,图中锁存器的作用是为了防止在闸门高电平期间,频率计的显示随
3、着计数值的增加不断变化造成闪烁,使人眼难以分辨。当计数器停止计数后(闸门信号由高变低后),才将计数值锁存并送给译码显示电路。为了防止显示闪烁,锁存信号的周期必须大于人的视觉滞留时间(约0.1秒左右)。,2. 测周法(T法),首先把被测信号通过二分频,获得一个高电平时间或低电平时间都是一个信号周期T的方波信号;然后用一个已知频率fOSC的高频方波信号作为计数脉冲,在一个信号周期T的时间内对 信号进行计数,若在T时间内的计数值为N2,则,计数器的最大误差是相差1个脉冲,因此T法的最大相对误差为,当fx频率越高,T越小,N越小。所以T法的相对误差与被测信号频率成正比。 T法适合于低频信号的测量。,T
4、法的原理框图如下:,3. T/M法,T/M法测量是采用两个计数器,分别对被测信号 和高频标准计数信号进行计数。若在确定的检测时间内,对被测信号fx的计数值为N1,而对高频信号fOSC的计数值为N2,则,4. 测频方案的选择,由上述讨论可知,测周法适合于对低频信号的测量,而测频法则适合于对较高频率信号的测量。但由于用测周法所获得的信号周期数据,还需要求倒数运算才能得到信号频率,而二进制数据的求倒数运算用中小规模数字集成电路又较难实现。用测频法所获得的测量数据,在闸门时间为1秒时,不需要进行任何换算,计数器所计数据就是信号频率。因此,测周法不适合本实验要求,本实验采用测频法。,测频法的测量误差与信
5、号频率成反比,信号频率越低,测量误差越大。在信号频率较低时,如10 Hz 100 Hz,要求测量误差小于等于1%,可以通过增大闸门时间(TG10 s)来提高测量精度。此时,误差达到要求;响应时间可以达到12 s(10 s 的闸门时间,及2 s 的锁存延迟时间),也达到要求。,还有一个问题是扩大量程。要求显示3位有效数字,对此我们采用1000 进制计数器。但当信号频率为1 10 kHz时,已超过了计数范围。为此,可以先对信号进行10分频,再进行计数。只要显示时设置合适的小数点和单位即可。,得到分频段测量方案:,分频段测量原理框图:,1 Hz,8 Hz,1. 静态显示,二、显示原理,每个十进制数通
6、过一个译码器后送数码管显示。当显示位数较多时,静态显示所需的显示译码器也较多,导致连线较多,功耗也较大,但显示效果较好。,2. 动态显示,动态显示是利用人的视觉滞留效应,依次轮流点亮显示数码管。与静态显示相比,需增加扫描选择电路。,动态显示方式只需要一个显示译码器,连线较少,在数码管较多时能显示其优越性。该方式由于任何时候都只有一只数码管点亮,故功耗较小,但需合理设计扫描电路,不然显示将产生闪烁感。 本次实验采用动态显示方式。在设计显示模块(选择器)时还需考虑小数点和显示单位的实现。,单元电路设计,0. 总体框图,在PLD设计数字频率计时,整机电路位于最上层,通常应在单元电路设计并测试通过后再
7、实现。在此,为了便于理解,先给出整机电路。 单元电路设计包括:,(1)testin:被测信号预处理电路 (2)gatesig:闸门信号控制电路 (3)cnt1k:1000进制计数器 (4)lock:锁存单元 (5)display:动态显示电路 (6)trans:显示译码器 (7)decsend:动态显示扫描信号分配 (8)auto:自能动量程转换控制电路,动态显示,锁存器,动态显 示选通,计数器,自动量 程转换,译码器,控制电路,预处理,1kHz,输入信号,1Hz,显示,小数点,溢出指示,整机电路:,选通,1. 输入预处理(testin),这一部分在整机电路中的位置:,输入: TEST : 待
8、测信号;S2 : 频段控制信号。1代表高频段,0代表中低频段。 输出: 输出 CP : 1000进制计数器的计数脉冲。 逻辑关系:当分频控制S2 0 (fx为10-1000 Hz)时,CP TEST(fx);当分频控制S2 =1 (fx为1-10 kHz)时,CP TEST(fx)的十分频。,分频控制电路的测试结果,2. 闸门信号控制电路(gatesig),这一部分在整机电路中的位置:,数字频率计的设计关键是控制电路的设计,控制电路产生频率测量所需的闸门、清零和锁存信号。这些信号具有一定的时序关系。为了保证测量的精确性,在每次闸门信号变为高信号前,必须给计数器提供一个清零信号。当闸门信号为高电
9、平时,计数器开始计数;当闸门信号为低电平时,计数器停止计数。如果计数器的输出直接译码显示,则在闸门信号高电平期间,频率计的显示随着计数值的变化而不断闪烁,人眼难以分辨。因此,需要锁存信号。,闸门、清零和锁存信号的关系:该部分用于为计数器提供一个受频段控制的计数时间,即合适宽度的闸门信号。当待测信号位于中高频段(S1=0)时,闸门信号宽度为1秒,1秒内计数器的计数结果即为待测信号的频率。当待测信号位于低频段(S1=1)时,为了提高测量精度,将闸门信号展宽为10秒,此时只需将计数结果的小数点位置左移一位即可还原真实频率。此外,为了将计数结果可靠显示以及预备好下一次测量,闸门信号结束的同时将产生一个
10、锁存信号用于锁存计数结果,锁存结束,下一次计数开始前,需要有一个清零信号将前一次计数的结果清零。,时序关系:,输入: SEC : 标准秒脉冲信号;S2,S1: 频段控制信号。 输出: GOUT : 闸门信号输出;LOCK : 锁存信号,低电平有效;CLEAR: 清零信号,低电平有效。,闸门信号控制电路的测试结果,3. 1000计数器(cnt1k),这一部分在整机电路中的位置:,该部分为具有使能和清零功能的三位10进制计数器通过同步级联而成,计数使能信号由闸门信号产生电路提供,清零信号来自闸门信号产生电路,计数脉冲来自被测信号预处理电路的输出,计数结果将被送往显示单元,计数器溢出时产生溢出信号。
11、,端口说明:,输入 ENABLE : 计数使能信号,决定一次计数的时间;CLEAR: 计数器清零信号; CLK: 计数脉冲信号; 输出 Q13Q10, Q23Q20, Q33Q30 : 分别为三位十进制计数器的低、中、高位输出; FLOW: 计数器溢出指示,溢出时置高电平,由清零脉冲复位;,4. 锁存单元(lock),这一部分(3个4位锁存)在整机电路中的位置:,原理:如果计数器的输出直接译码显示,则在闸门信号高电平期间,频率计的显示随着计数值的增加不断变化、不断闪烁、人眼难以分辨。锁存单元为一个12位的锁存器,由Lock信号控制,将计数器的计数结果锁存起来。当计数结果高位为0时,产生“高位零
12、”指示,用于控制频段的自动切换。,输入信号:LOCK:锁存信号D11D0 :输入信号,来自 1000进制计数器 输出信号:Q11Q0 :输出信号HZERO: 计数器高位零指 示,Q11Q8为0时置高电平;,锁存单元的测试结果,5. 动态显示电路(display),这一部分在整机电路中的位置:,原理:该部分功能是:在动态显示选通信号的控制下,从4路输入数据(个、十、百、单位)中选择一路,送至显示译码电路。另外,还需根据输入频段信息所得到的频率单位,小数点位置等信息。,S2S1=01低频段:量程Hz,十位小数点亮。S2S1=00中频段:量程Hz,无小数点。S2S1=10高频段:量程KHz,百位小数
13、点亮。S2S1=11无关项,可将它作为中频段 。,输入信号:T3T0选通信号S2, S1频段选择A3A0个位数B3B0十位数C3C0百位数 输出信号:D、C、B、A:动态四位二进制数DOT小数点显示,动态显示电路的测试结果,该图表示当T0T3依次为高电平时,输出端口依次输出低、中、高位计数结果,并且当频段控制S2S1=“00”时,频率单位为Hz,由T3=1时刻控制,DCBA = ”1010”,小数点DOT位置在第二位,和T1高电平时间一致。,该图表示当S2S1=”01”时,频率单位为Hz,T3=”1”时刻DCBA=”1010”,小数点DOT位置为最低位,和T2高电平时间一致;当S2S1=”10
14、”(或者”11”)时,频率单位为kHz,T3=”1”时刻DCBA=”1011”,小数点DOT位置为最高位,和T0高电平时间一致。,6. 显示译码电路(trans),这一部分在整机电路中的位置:,输入信号:Q3Q0四位二进制信号 输出信号:a、b、c、d、e、f、g对应七段数码管信号 逻辑功能:Q3Q0 =10显示 H。Q3Q0 =11显示 。,7. 动态显示选通电路(decsend),这一部分在整机电路中的位置:,设计要点:该部分用于为动态显示单元产生动态扫描信号,送至动态显示电路和LED选通。当T0=0,选通H或K单位数码管;当T1=0,选通个位数码管;当T2=0,选通十位数码管;当T3=0
15、,选通百位数码管。 输入信号:FLASH 动态显示时钟,来自实验箱上的1kHz时钟脉冲 输出信号:T0、T1、T2、T3 选通信号,8. 自动量程转换电路(AUTO),这一部分在整机电路中的位置:,不同输入频段在三个地方用到:,预处理:送入计数器前是否经过10分频;闸门产生电路:闸门时间是1s还是10s;LED:小数点及单位显示与频段有关。,S2S1=00 中频段(100Hz999Hz)1秒闸门-不分频。无小数点,量程显示Hz。 S2S1=01 低频段(10.0Hz99.9Hz)10秒闸门-不分频。个位前小数点亮,量程显示Hz。 S2S1=10 高频段(1.00KHz9.99KHz)1秒闸门-
16、10分频。十位前小数点亮,量程KHz。 S2S1=11 无关项定义为10秒闸门-10分频。无小数点。量程显示Hz。,设置频段选择标志SS=S2,S1 :,进位信号(FLOW) 来自1000进制计数器。若1000进制计数器计数超过999,则产生进位信号(FLOW 1),否则FLOW0。 若产生进位信号,说明量程太低,则提升量程。即低频段转为中频段(SS=0100),中频段转为高频段(SS=0010),若已经是高频段,则点亮溢出指标灯(OVER=1)。 高位标志(HZERO) 来自锁存单元。若1000进制计数器有百位数,则HZERO 1;若百位数为0,则HZERO0。 若高位标志为0,说明量程太高
17、,则减小量程。 若既无进位,又百位有数,说明量程正确。,量程自动转换原理:,输入信号:FLOW - 进位HZERO - 高位标志LOCK - 锁存脉冲 输出信号:OVER - 溢出指示S2,S1 - 频段选择 注:自动量程转换电路必须具有记忆功能,即只有当计数结束后才能判断是否需转换量程。因此,需要使用寄存器变量,寄存器的时钟来自控制电路的锁存信号(LOCK)。,量程自动转换设计:,自动量程转换电路的测试结果,拓展题(选做),用QUARTUS II软件实现整个系统,CPLD器件选用MAX7000S系列。 如何用中小规模集成电路来实现数字频率计,画出整机电路图,并用MultiSim仿真。 频率测量总存在1个计数误差,有无办法减小该误差?,参考文献: 1“简易数字频率计解析”,见: 黄正瑾主编,电子设计竞赛赛题解析(一),南京:东南大学出版社,2003. 2 徐成,刘彦,李仁发,等. 一种全同步数字频率测量方法的研究J. 电子技术应用,2004, (7): 37-39. 3江玉洁,陈辰,周渭. 新型频率测量方法的研究J. 仪器仪表学报, 2004, 25(1): 30-33, 60.,蔡忠法 浙江大学电工电子教学中心,Ver2.1 版权所有 2010年,Thank you for your attention,