随着无线电技术的发展与普及,“频率”已经成为广大群众所熟悉的物理量。而单片机的出现,更是对包括测频在内的各种测量技术带来了许多重大的飞跃,然而,小体积、价廉、功能强等优势也在电子领域占有非常重要的地位。为此.本文给出了一种以单片机为核心的频率测量系统的设计方法。
1、 测频系统的硬件结构
测量频率的方法一般分为无源测频法、有源测频法及电子计数法三种。无源测频法(又可分为谐振法和电桥法),常用于频率粗测,精度在 1%左右。有源比较法可分为拍频法和差频法,前者是利用两个信号线性叠加以产生拍频现象,再通过检测零拍现象进行测频,常用于低频测量,误差在零点几 Hz;后者则利用两个非线性信号叠加来产生差频现象,然后通过检测零差现象进行测频,常用于高频测量,误差在±20 Hz 左右。以上方法在测量范围和精度上都有一定的不足,而电子计数法主要通过单片机进行控制。由于单片机的较强控制与运算功能,电子计数法的测量频率范围宽,精度高,易于实现。本设计就是采用单片机电子计数法来测量频率,其系统硬件原理框图如图 1 所示。
为了提高测量的精度,拓展单片机的测频范围,本设计采取了对信号进行分频的方法。设计中采用两片同步十进制加法计数器 74LS160 来组成一个 100 分频器。该 100 分频器由两个同步十进制加法计数器 74LS160 和一个与非门 74LS00 共同设计而成。由于一个 74LS160 可以分频十的一次方,而当第一片 74LS160 工作时,如果有进位,输出端 TC 便有进位信号送进第二片的 CEP 端,同时 CET 也为高电平,这样两个工作状态控制端 CET、CEP 将同时为高电平,此时第二片 74LS160 将开始工作。
2、 频率测量模块的电路设计
用单片机电子计数法测量频率有测频率法和测周期法两种方法。测量频率主要是在单位定时时间里对被测信号脉冲进行计数;测量周期则是在被测信号一个周期时间里对某一基准时钟脉冲进行计数。
2.1 8051 测频法的误差分析
电子计数器测频法主要是将被测频率信号加到计数器的计数输入端,然后让计数器在标准时间 Ts1 内进行计数,所得的计数值 N1。与被测信号的频率 fx1 的关系如下:
而电子计数器测周法则是将标准频率信号 fs2 送到计数器的计数输入端,而让被测频率信号 fx2 控制计数器的计数时间,所得的计数值 N2 与 fx2 的关系如下:
事实上,无论用哪种方法进行频率测量,其主要误差源都是由于计数器只能进行整数计数而引起的±1 误差:
可见,在同样的 Ts 下,测频法 fx1 的低频端,误差远大于高频端,而测周法在 fx2 的高频端,其误差远大于低频端。理论研究表明,如进行 n 次重复测量然后取平均,则±1 误差会减小 n 倍。如给定±1 误差ε0,则要求ε≤ε0ο对测频法要 fx1≥对测周法则要求 fx2≤ε0fs2ο因此,对一给定频率信号 fs 进行测量时,用测频法 fs1 越低越好,用测周法则 fs2 越高越好。
2.2 8051 单片机的测频范围和测频时间
8051 单片机的定时器/计数器接口,在特定晶振频率 fc=12 MHz 时,可输人信号的频率上限是 fx≤fc/24=500 kHz。如用测频法,则频率的上限取决于 8051,故测频法的测量范围是:
即:fx1≤500 kHz。
用测频法测频时,定时器/计数器的计数时间间隔可由 8051 的另外一个定时器/计数器完成,外接 100 分频器的情况下,fx1 的频率范围可扩展到 50MHz
用测周法设计时,其频率的下限取决 8051 计数器的极限。考虑到 8051 内部为 16 位,加上 TF 标志位,计数范围为 217,因此其最大计数时间为秒。而如果采用半周期测量,则测频范围是:
在测周法中,标准频率信号 fs2 由 8051 的内部定时结构产生,f s2 恒为 fc/12,因此,在给定ε0 为 0.0 1 时,fx2 既有一定的上限频率,也有一定的下限频率。即:
并由此可见得出:4Hz≤fx1≤10 kHz 理论上可以达到无穷大,即 fs1 可以达到无穷低,因此,fx1 可达到无穷小,因此,可以认为测频法的测频范围只有上限频率,没有下限频率。而再 这样,两个频率范围相叠加即可得到该频率计的测频范围:4 Hz≤fx1≤50 MHz。精度可以达到 1Hz。从以上分析可以看出,测频法测量的频率覆盖范围较宽,且在高频端的测量精度较高,而在低频段的测量精度较低,同时测量时间较长。测周法测量的频率覆盖范围较窄,在高频段的测量精度较低,在低频段的测量精度较高,测量时间短。因此,测频法适于高频信号的测量,测周法适于较低频信号测量。
8051 可用软件来控制定时器/计数器的工作方式,以实现测频法与测周法的动态切换。对宽频带、高速度的频率测量,可采用软件切换测量方法来提高测量精度与测量速度。其测频电路如图 2 所示。
3、 软件设计
由图 2 所示的测频电路可知,波形经过施密特触发器 74LS132 后,再经整形放大后即可变成方波,然后利用 8051 的定时器/计数器 T0 给定定时时间为 10 ms,再利用 8051 的定时器/计数器 T1 作计数器,累计 10 ms 时间里所经过施密特触发器 74LS132 的方波信号。当 T0 定时满 10 ms 时,T0 向 CPU 发出中断信号以申请中断,并进行频率测量。假设所设定的中介频率为 l00/10 ms=l00×100=10000 Hz=10 kHz,冈为 fx=N/T,所以,可以将假定给定数值 100 与 Tl 进行比较,再将 Tl 计数器里所计的数值与给定的数值进行比较。由于在用测频法测量频率时,较小频率的误差较大(±l 误差)。所以,这里用 l0 kHz 作为中间频率,其±1 误差为 9.9 kHz 和 1 0.1 kHz,误差率为 1%,可见该误差不是很大,还可以接受。
事实上,当频率比较小于 1 0kHz 时,若程序选择用测量周期法。则测周法流程图及其程序如如图 3 所示。
4、 结束语
通过本文所介绍的设计过程即可实现频率测量要求,并能够很好的完成测量结果的存储,完全能够达到预期的效果。
责任编辑:pj
-
单片机
+关注
关注
6032文章
44513浏览量
632695 -
分频器
+关注
关注
43文章
447浏览量
49802 -
计数器
+关注
关注
32文章
2253浏览量
94339
发布评论请先 登录
相关推荐
评论