3数字频率计的设计 设计要求 1设计一个能测量方波信号频率的频率计,测量结果用十进制数显示 2.测量的频率范围是1~10KHz,分成两个频段,即1~999Hz,1KHz~10KHz,用三 位数码管显示测量频率,用LED显示表示单位,如亮绿灯表示Hz,亮红灯表示 KHz。 3耳有白动校验和测量两种功能,即能用标准时钟校验侧最结度 4.具有超量程报警功能,在超出目前量程档的测量范围时,发出灯光和音响信号。 债存器 LD 达存选料、报客电 图1顿率计系统框图· 设计提示 ●脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为NT,f 为被测信号的频率,N为计数器所累计的脉冲个数,T为产生N个脉冲所需 的时间。所以,在1秒时间内计数器所记录的结果,就是被测信号的频率。 。测量校验选择模块* 计数器模块 。送存选择报警模块 ●锁存模块 ·扫描显示模块 ·测量校验选择模块* 输入信号:选择信号selet被测信号meas测试信号tes 输出信号CP 当selet=-0时,为测量状态,CPl=meas: 当selet=-l时,为校验状态,CPI=test。 校验与测量共用一个电路,只是被测信号CP1不同而已。 ·设置1秒定时信号(周期为2秒),在1秒定时时间内的所有被测信号送计数 器输入端 ●计数器对CP1信号进行计数,在1秒定时结束后,将计数器结果送锁存器锁
3 数字频率计的设计 设计要求 1.设计一个能测量方波信号频率的频率计,测量结果用十进制数显示。 2. 测量的频率范围是 110KHz,分成两个频段,即 1999Hz,1KHz10KHz,用三 位数码管显示测量频率,用 LED 显示表示单位,如亮绿灯表示 Hz,亮红灯表示 KHz。 3. 具有自动校验和测量两种功能,即能用标准时钟校验测量精度。 4. 具有超量程报警功能,在超出目前量程档的测量范围时,发出灯光和音响信号。 设计提示 ⚫ 脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为 f=N/T,f 为被测信号的频率,N 为计数器所累计的脉冲个数,T 为产生 N 个脉冲所需 的时间。所以,在 1 秒时间内计数器所记录的结果,就是被测信号的频率。 ⚫ 测量/校验选择模块* ⚫ 计数器模块 ⚫ 送存选择报警模块 ⚫ 锁存模块 ⚫ 扫描显示模块 ⚫ 测量/校验选择模块* 输入信号:选择信号 selet 被测信号 meas 测试信号 test 输出信号:CP1 当 selet=0 时,为测量状态,CP1=meas; 当 selet=1 时,为校验状态,CP1=test。 校验与测量共用一个电路,只是被测信号 CP1 不同而已。 ⚫ 设置 1 秒定时信号(周期为 2 秒),在 1 秒定时时间内的所有被测信号送计数 器输入端。 ⚫ 计数器对 CP1 信号进行计数,在 1 秒定时结束后,将计数器结果送锁存器锁
存,同时将计数器清零,为下一次采样测量做好准备。 ●设置量程档控制开关K,单位显示信号Y,当K=0时,为1~999Hz量程档 数码管显示的数值为被测信号频率值,Y显示绿色,即单位为Hz:当K= 时,为0K量档,被测信号须率值为数码管显示的数值乘100 即单位为 ·设置超出量程档测量范围示警信号alert。计数器由四级十进制计数构成(带 进位C)。若被测信号频率小于1KHz(K=0),则计数器只进行三级十进制计 数,最大显示值为999.H2,如果被测信号频率超过此范围,示警信号驱动灯 光、扬声器报警:若被测信号为1KHz~10KHz(K=1),计数器进行四位十进 制计数,取高三位显示,最大显示值为9.99水H2,如果被测信号频率超过止 范围,报警。 加 alert 单位显示 1Hz时钟源 1 被测信号 FPGA/CPLD 标准时钟 test K select 2 图2数字频率计硬件系统示意图, 设计文档 一、原理 测颜的原理归结成一句话,即在单位时间内对被测信号进行计数。下图说明了 测频的原理及误差产生的原因。 ΠΠΠΠΠΠΠ 丢失(少年个联冲) 计到7个脉冲 (比实际等。:个保冲) 图1测频的原理 在上图中,假设时基信号为1khz,则用此法测得待测信号为1hz*7=70khz。但
存,同时将计数器清零,为下一次采样测量做好准备。 ⚫ 设置量程档控制开关 K,单位显示信号 Y,当 K=0 时,为 1999Hz 量程档, 数码管显示的数值为被测信号频率值,Y 显示绿色,即单位为 Hz;当 K=1 时,为 1KHz10KHz 量程档,被测信号频率值为数码管显示的数值乘 1000, Y 显示红色,即单位为 KHz。 ⚫ 设置超出量程档测量范围示警信号 alert。计数器由四级十进制计数构成(带 进位 C)。若被测信号频率小于 1KHz(K=0),则计数器只进行三级十进制计 数,最大显示值为 999.Hz,如果被测信号频率超过此范围,示警信号驱动灯 光、扬声器报警;若被测信号为 1KHz10KHz(K=1),计数器进行四位十进 制计数,取高三位显示,最大显示值为 9.99KHz,如果被测信号频率超过此 范围,报警。 设计文档 一、原理 测频的原理归结成一句话,即在单位时间内对被测信号进行计数。下图说明了 测频的原理及误差产生的原因。 图 1 测频的原理 在上图中,假设时基信号为 1khz,则用此法测得待测信号为 1khz*7=70khz。但
从图中可以看出,待测信号应该在77kz,误差约为777~9.1%。这个误差是比较大 的,实际上,测量的脉冲个数的误差会在±1间。假设所测得脉冲个数为,则所测 频率的最大误差为1/(n-1)*100%。显然,减小误差的方法就是增大n。本频率计 的要求测量结果以3位数表示,则测频误差应为1%~0.1%,则n的取值范围为: 100≤nI00 即时基信号的频率为量程中最低频率的1100(同时约为最高频率的11000)。通过 计算得出下表中的数据。 待测信号与时基信号的关系 待测信号kh2 时基信号h2 1099.9 100 19.99 10 二、系统框图 n 分频器 名档时基信号 一发光二极管 状态机 七段数码管 一七股数到信 信号同步 译码电路 整形电路 欠量程偏 号 锁存器 计数器 图2数字频率计系统框图 根据题意,各个模块的作用简述如下: 1、分频器:由于测频时不同量程需要不同的时基信号,分频模块是必不可少的
从图中可以看出,待测信号应该在 77khz,误差约为 7/77~9.1%。这个误差是比较大 的,实际上,测量的脉冲个数的误差会在 1 间。假设所测得脉冲个数为 n,则所测 频率的最大误差为 1/(n-1)*100%。显然,减小误差的方法就是增大 n。本频率计 的要求测量结果以 3 位数表示,则测频误差应为 1%~0.1%,则 n 的取值范围为: 100 n<100 即时基信号的频率为量程中最低频率的 1/100(同时约为最高频率的 1/1000)。通过 计算得出下表中的数据。 待测信号与时基信号的关系 待测信号/khz 时基信号/hz 10~99.9 100 1~9.99 10 二、系统框图 图 2 数字频率计系统框图 根据题意,各个模块的作用简述如下: 1、分频器:由于测频时不同量程需要不同的时基信号,分频模块是必不可少的
系统通过分频模块从晶振时钟(20MHz)分出系统所需要的几个时基信号,其中包 括状态机所需时钟。 2、计数器:从原理中可以看出,测频的本质上是计数,所以计数器也是系统中不 可或缺的模块。为实现量程的自动转换,本计数器需输出指示超量程和欠量程状态 的信号 3、状态机:题目要求本系统可以自动转换量程,如果把每个量程看成一个状态, 那么量程的切换实际上就是状态的转换。显然,用状态机来实现是最方便的。 4、其他:如锁存器(用来使显示数字稳定)、同步整形电路(用来处理超量程和欠 量程信号,避免状态机多次转移)和七段数码管译码电路等 三、各功能模块的实现 1状态机的设计 系统的状态机是用来自动切换量程的。根据前面的分析,我们可以设立4个状 态,状态名及其对应的量程如下表所列 状态名 对应量程 时基信号H2 F100K 10-99.9kHz 100 F10K 1-9.99kHz 10 OverError 超过数字频率计最高频率 100 低于数字频率计最低频率 10 假设计数器的超量程信号为over,欠量程信号为low,那么可以画出如下图所 示的状态转移图。 图3状态转移图 根据此状态转移图,很容易就可以写出对应的状态机程序。状态机见附录1
系统通过分频模块从晶振时钟(20MHz)分出系统所需要的几个时基信号,其中包 括状态机所需时钟。 2、计数器:从原理中可以看出,测频的本质上是计数,所以计数器也是系统中不 可或缺的模块。为实现量程的自动转换,本计数器需输出指示超量程和欠量程状态 的信号。 3、状态机:题目要求本系统可以自动转换量程,如果把每个量程看成一个状态, 那么量程的切换实际上就是状态的转换。显然,用状态机来实现是最方便的。 4、其他:如锁存器(用来使显示数字稳定)、同步整形电路(用来处理超量程和欠 量程信号,避免状态机多次转移)和七段数码管译码电路等。 三、各功能模块的实现 1 状态机的设计 系统的状态机是用来自动切换量程的。根据前面的分析,我们可以设立 4 个状 态,状态名及其对应的量程如下表所列 状态名 对应量程 时基信号/Hz F100K 10—99.9kHz 100 F10K 1—9.99kHz 10 OverError 超过数字频率计最高频率 100 LowError 低于数字频率计最低频率 10 假设计数器的超量程信号为 over,欠量程信号为 low,那么可以画出如下图所 示的状态转移图。 图 3 状态转移图 根据此状态转移图,很容易就可以写出对应的状态机程序。状态机见附录 1
1000 图4状态机的仿真波形 2计数器的设计 计数器的原理很简单,计数值大于999,就将超量程信号Ovr置1:若计数值 小于100,则将欠量程信号Low置1。 本计数器在待计数信号的两个周期内完成计数与控制信号(Ove与Low)的 传输,在量程合适的情况下,将计数值输出。在这两个时钟周期内,第1个时钟周 期完成计数,第2个时钟周期完成控制信号的传输与计数值输出。这样做的好处是 稳定,将计数与控制信号传输分开进行,避免了时钟的跳变。 计数器的程序见附录2。 20ns 400ns 6s 100s1200s 2 bw 0 De时d 00230E6789 0 n 0/numi 00200000▣ 图5计数器仿真波形 3同步整形电路的设计 在实际应用中,外部输入的异步信号常常需要进行同步化(与系统时钟同步) 和整形〔将输入信号整形为一个时钟周期长的信号脉冲),其波形图见图6。其 程序见附录3
图 4 状态机的仿真波形 2 计数器的设计 计数器的原理很简单,计数值大于 999,就将超量程信号 Over 置 1;若计数值 小于 100,则将欠量程信号 Low 置 1。 本计数器在待计数信号的两个周期内完成计数与控制信号(Over 与 Low)的 传输,在量程合适的情况下,将计数值输出。在这两个时钟周期内,第 1 个时钟周 期完成计数,第 2 个时钟周期完成控制信号的传输与计数值输出。这样做的好处是 稳定,将计数与控制信号传输分开进行,避免了时钟的跳变。 计数器的程序见附录 2。 图 5 计数器仿真波形 3 同步整形电路的设计 在实际应用中,外部输入的异步信号常常需要进行同步化(与系统时钟同步) 和整形(将输入信号整形为一个时钟周期长的信号脉冲),其波形图见图 6。其 程序见附录 3