资源描述
“简易数字频率计”是第三届(1997 年) 全国大学生电子设计竞赛试题之一。我院学生就该试题设计获得山东赛区一等奖。原设计有许多不完善之处,考虑到此题具有一定实用价值,特经完善后,整理成文。1 设计要求1. 1 基本要求(1) 频率测量:a. 测量范围:信号:方波、正弦波幅度:0. 5V5V频率:1Hz10MHzb. 测试误差0. 1 %(2) 周期测量:a. 测量范围:信号:方波、正弦波幅度:0. 5V5V频率:1Hz10MHzb. 测试误差0. 1 %(3) 脉冲宽度测量:a. 测量范围:信号:脉冲波幅度:0. 5V5V频率:1Hz10MHzb. 测试误差0. 1 %(4) 显示:十进制数字显示,显示刷新时间110 秒连续可调,对上述三种测量功能分别用不同颜色的发光二极管指示。(5) 具有自校功能,时标信号频率为10MHz。(6) 自行设计并制作满足本设计任务要求的稳压电源。1. 2 发挥部分:(1) 扩展频率测量范围为0. 1Hz10MHz (信号幅度0. 5V5V) ,测试误差降低为0. 01 %(最大闸门时间10s) 。(2) 测量并显示周期脉冲信号(幅度0. 5V5V、频率1Hz1kHz) 的占空比,占空比变化范围为10 %90 % ,测试误差0. 1 %。(3) 在1Hz1MHz 范围内及测试误差0.1 %的条件下,进行小信号的频率测量,提出并实现抗干扰的措施。2 设计方案选择:方案一:选用频率计专用模块。该方案在技术上是可行的,但竞赛规则规定不能采用频率计专用模块。即使允许使用,对于设计要求中的某些指标,采用专用模块来完成也是困难的。方案二: 采用逻辑芯片和可编程器件实现。该方案也是可行的。该方案的优点是:仅使用硬件电路实现,调试工作量相对较小。缺点是,某些功能实现困难,不易修改。图1 N 周期测量原理方案三:用单片机实现。目前单片机种类很多,单片机功能越来越强。根据设计要求,选用MCS - 51 系统单片机中的AT89C52 ,该芯片内含3 个16 位定时/ 计数器,能最大限度地简化频率计外围硬件。AT89C52 还含一个全功能串行口、8K 程序存储器等,因此该方案具有硬件构成简单,功能灵活,易于修改等优点。综合上述三种方案,本设计选用方案三。3 测量原理与分析计算3. 1 频率、周期测量由于频率和周期之间存在倒数关系( f = 1/T) ,所以只要测得两者中的一个,另一个可通过计算求得。3. 1. 1 测量方法本设计采用直接测周期法,而频率则通过计算得出。但是,单片机内部计数器一个计数值为1s ,在f 很高时仅测量一个周期,无法保证测量精度。为此,本设计采用在闸门时间内,最大限度地测量多个信号的周期,从而保证信号频率、周期测量的精度。测量原理如图1 所示。3. 1. 2 测量方法实现为实现上述测量方法,需要启动AT89C52 中的3 个定时/ 计数器。其中T0 设置成16 位定时方式,用于产生闸门时间; T2 设置成16 位定时方式,用于记录NTx 值; T1 设置成16 位计数方式,用于记录闸门时间内波形个数N。为了提高精度,T0 T2 通过软件中断方式分别扩展一字节内部RAM ,与16 位定时/ 计数器一起构成24 位定时/ 计数器。AT89C52 单片机内部定时/ 计数器的响应频率低于10MHz ,当信号输入为高频时,需先进行分频。根据实验,当AT89C52 单片机晶振频率等于12MHz ,输入信号频率500kHz 时,内部定时/ 计数器能够进行可靠计数。当信号频率f 为500kHz f 10MHz 时, 需进行分频, 兼顾500kHz 与10MHz ,取分频数为128 。因此,当输入信号为低频( 500kHz) 时,不进行分频;当输入信号为高频( 500kHz) 时,进行128 分频。3. 1. 3 信号周期计算设T1 计数值N 为X1 , T2 计数值N T 为X2 ,则信号周期为:低频段(不分频) T = X2/ X1 s (1)高频段(128 分频) T = X2/ (128 3 X1) s(2)3. 1. 4 信号频率计算X1 , X2 含义同上,则信号周期f 为低频段: f = ( X1/ X2) 106 Hz (3)高频段: f = (128 3 X1/ X2) 3 106 Hz (4)3. 1. 5 测量理论误差设闸门时间为1s ,低频段、高频段分别取2个典型点进行分析。低频段( 500kHz) :(1) f = 1. 999Hz 时,闸门时间内仅能测量1个波形的周期,若计数误差为1s ,即0. 000001s ,理论误差为:0. 000001/ (1/ 1. 999) 3 100 % = 0. 0002 %(2) f = 499. 9999kHz 时,闸门时间内能测量499999 个波形的周期,若计数误差为1s ,则理论误差为:(0. 000001/ (499999/ 499999. 9) 3 100 %= 0. 0001 %高频段( 500kHz) :( 1 ) 128 分频后f = 3906. 99Hz ( 分频前500094. 72Hz) ,闸门时间内能测量3906 个波形的周期,若计数误差1 ,即1s ,则理论误差为:( 0. 000001/ ( 3906/ 3906. 99 ) ) 3 100 % =0. 0001 %( 2 ) 128 分频后f = 7811. 99Hz ( 分频前999934. 72Hz) ,闸门时间内能测量7811 个波形的周期,若计数误差1 ,即1s ,则理论误差为:(0. 000001/ ( 78811/ 7811. 99 ) ) 3 100 % =0. 0001 %可见周期测量理论误差最大为0. 0002 %。3. 1. 6 计算误差当采用三字节浮点数计算时,有效数字为两个字节,计算误差为:(1/ 65536) 3 100 % = 0. 0015 %除理论误差、计算误差外,还有基准频率误差等。3. 2 脉冲宽度及占空比测量(低频段)3. 2. 1 测量方法:T1 采用定时工作方式,当信号正跳变时启动定时器T1 ,当信号负跳变时存储T1 计数值X3(高电平宽度) ,并清0 ,信号再次正跳变时存储计数值X4 (低电平宽度。)为了增加计算位数除定时器T1 自身16 位外,扩展1 字节内存与T1 共同形成一个24 位计数器(定时器) 。3. 2. 2 (高电平) 脉冲宽度计算W = X3 s (5)3. 2. 3 占空比计算P =X3/ ( X3 + X4) 3 100 % (6)4 简易数字频率计的硬件设计简易数字频率计的硬件电路如图1 所示,该电路可分为: (1) 前置整形电路, (2) 分频电路, (3)基准信号源, (4) 单片机电路: 单片机、数据选择器、键盘、状态指示, (5) 数字显示电路, (6) 稳压直流电源等。4. 1 前置整形电路根据设计要求,信号频率最大值为10MHz ,考虑到器件性能与价格等因素,选择高速低功耗比较器MAX913 构成整形电路,MAX913 的响应时间为10ns ,最高时钟频率为70MHz ; 在DC 5V 供电时,输入电压范围为- 5. 2V + 3. 5V. 为克服振铃现象,整形电路在MAX913 正向输入端引入弱正反馈,使其产生一个迟滞回差。当输入信号幅度较大时,信号经电阻衰减后再加到MAX913 。4. 2 分频电路分频电路由2 片74HC161 构成。根据3. 1的分析,只要对高频信号( 500kHz) 进行128 分频,即可满足精度要求,也能满足AT89C52 计数器的要求。因此分频信号由第二片74HC161 的Q2 输出。分频电路如图1 (2) 所示。4. 3 基准信号源根据设计要求,1MHz 信号基准源由74HC04以及1MHz 晶振构成。电路如图1 (3) 。4. 4 单片机电路单片机选用AT89C52 ,其内部含3 个16 位定时/ 计数器,8K程序存储器,其它内部结构及指令系统与单片机8031 相同。为便于计算,选用12MHz 晶振,这时内部定时器一个计数值为1s。信号在低频段( 500kHz) 直接输入,在高频段( 500kHz) 时经128 分频后输入到单片机,另外还要根据1MHz 时基准信号进行校正。三路信号通过74HC151 进行控制选择。控制信号为P1. 2 和P1. 3 。4 只L ED 发光二极管由P1. 3 P1. 6 控制,分别指示测频率、测周期、测脉冲宽度和测占空比四个状态。5 个按键由P3. 2 、P3. 3 、P3. 4 、P3. 6 、P3. 7 读入,分别控制测频率、测周期、测脉冲宽度、占空比和校正5 项功能。4. 5 数字显示电路显示共用8 只共阳极L ED 数码管显示器,由AT89C52 串行口扩展8 片74HC164 驱动。电路如图2 所示。4. 6 稳压直流电源稳压电源采用双9V 变压器分别经整流滤波和稳压后产生+ 5V 直流电源。+ 5V 输出要求500mA , - 5V 输出要求达到500mA(电路略) 。5 软件设计根据设计的硬件和测量方法,编写并调试了全部软件程序。限于篇幅,下面仅给出部分程序框图。
展开阅读全文