一款基于51单片机的高频频率计设计
摘要 基于51单片机设计了一款测试范围在1 Hz~10 MHz的频率计。系统通过峰值有效电路和有效值电路将正弦渡、方波和三角波转化为直流信号送入单片机,通过编写相应的程序计算出其有效值和峰峰值的比,实现自动检测的目的,并由显示电路显示测量结果。该系统电路简洁、软件编写简单、调试难度低。
目前在频率测量领域中,对于高频率信号高精度测量大都使用ARM、FPGA等高速处理器加专用计数芯片来完成。但这种方法程序编写复杂,并且其处理器外围电路复杂,这增加了其调试难度,降低了可操作性。
文中设计的高频信号频率计,除数据处理和显示交由单片机负责外,测频核心电路用经检测的模拟电路完成,该高频频率计电路简洁,软件编写简单,降低了调试难度的同时增强了其操作性。
1 系统总体设计方案
系统以STC80C51为核心,设计了一款测试范围在1 Hz~10 MHz的频率计。该系统主要设计思想是通过峰值有效电路和有效值电路将正弦波、方波、三角波转化为直流信号,送入单片机,通过编写相应的程序计算出其有效值和峰峰值比,实现自动检测的目的,最后通过显示电路显示测量结果。
系统分为:缓冲器、峰值检测电路、有效值检测电路、分频电路、模式转换、最小系统和显示电路。总体设计方案如图1所示。
![](../img/eep/emb/emb-449054jsxty4xka3.jpg)
输入信号i经过缓冲器处理分为3路输出,依次作为峰值检测电路、有效值检测电路和分频器电路的输入信号。经峰值检测电路和有效值电路处理后,输出直流信号O1、O2,经分频器分频后输出方波信号O3。O1和O2经过A/D模数转换后输入单片机,在单片机中进行处理比较峰值和有效值的关系从而达到自动确定信号类型的功能。O3经计数器输入单片机以计算出信号频率。处理完成后通过显示模块LCD1602显示出信号的频率、峰峰值及波形。
1.1 系统电路
1.1.1 缓冲器
缓冲由4个电压跟随器构成,如图2所示。电压跟随器如图3所示,它的作用是使输出电压与输入电压值相等,即电压跟随器的电压放大倍数恒小于且接近1。电压跟随器由运放构成。对于10 MHz及其以上频率的信号需要考虑运放压摆率对信号的影响。压摆率反映了运算放大器输出电压的转换速率,它是运算放大器在速度方面的指标。
![](../img/eep/emb/emb-44907t0mouqi2j2m.jpg)
压摆率的数学定义
SR=2×Po×f×Vpk (1)
式中,f为最大频率,一般认为是带宽;Vpk是放大输出信号的最大峰值。可见压摆率越高运放输出电压的转换速率快。对于10 MHz的信号来说,必须要选择压摆率高的运放。常用的Op07压摆率为3.5,压摆率过低,当信号频率超过100 Hz信号即发生严重失真。故系统选用LM7171,一种高压摆率运放,压摆率为4 100 V/μs,足够满足10 MHZ的信号转换速度。
如图2所示,2、3、4号电压跟随器以1号电压跟随器的输出信号为输入信号。即由LM7171构成的高频缓冲器,信号通过1号电压跟随器输出信号与输入信号的比为1:1,即1号电压跟随器的输出信号等于输入信号。同理O1、O2、O3与输入信号i相等,保证了峰值检测电路、有效值电路及分频电路的输入信号的可靠性。
1.1.2 峰值检测电路与有效值检测电路
通过峰值检测和有效值检测电路分别测出信号的有效值和峰峰值。经过峰值检测电路和有效值检测电路处理信号变为直流信号,从而解决了51单片机无法处理10 MHz高频率信号的问题。
峰值检测器(Peak Detector)要对信号的峰值进行采集并保持。峰值检测器分成几个模块:(1)模拟峰值存储器,即电容器。(2)单向电流开关,即二极管。(3)输入输出缓冲隔离,即运算放大器。(4)电容放电复位开关。
系统峰值检测电路使用的运放是TI公司的Difet静电计级运算放大器OPA128。采用OPA128中Datasheet提供的峰值检测电路。
由图4可知,输入为理想二极管接法,输出为电压跟随器。首先特别采用场效应管或晶体管代替二极管,减小方向漏电流,因为场效应管的方向漏电流都在pA级,而二极管方向漏电流是nA级。其次电容的选择也尤为重要,低漏电流需首要考虑。最后输出的运放最好选用偏置电流小的运放,FET输入型的是首选。
![](../img/eep/emb/emb-44909vy2o4o4uja0.jpg)
综合分析该电路有如下特点:(1)采用FET运放提高直流特性,减小偏置电流OPA128的偏置电流低至75 fA。(2)将场效应管当二极管用,可以有效减小反向电流同时增加第一个运放的输出驱动力。(3)小电容应该是防止自激的。
有效值检测电路中选用AD637,它是一款完整的高精度、单芯片均方根直流转换器,可计算任何复杂波形的真均方根值,电路如图5所示。
![](../img/eep/emb/emb-44912cud5x05tlqi.jpg)
输入缓冲和输出偏移接到内部的模拟公共端,一起接地;dB输出端悬空;输出缓冲悬空;CS通过一个外部的上拉电阻接Vs,降低系统在静态时的
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)