数字频率计设计学位论文.docx
《数字频率计设计学位论文.docx》由会员分享,可在线阅读,更多相关《数字频率计设计学位论文.docx(20页珍藏版)》请在冰点文库上搜索。
数字频率计设计学位论文
1综述
数字计数器是测量信号频率的装置,也可以用来测量方波脉冲的脉宽,通常频率以数字形式直接显示出来,简便易读,即所谓的数字频率计,频率测量对生产过程监控有很重要的作用,可以发现系统运行中的异常情况,以便迅速作出处理。
传统的频率计采用测频法测量频率,通常由组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号不宜直接采用,频率计基于单片机技术,开发一种数字式频率计数器,该频率计具有操作简单方便响应速度快、体积小等一系列优点,可以及时准确地低频信号的频率。
频率计的应用范围很广,不仅应用于一般的仪器测量当中,还可应用于工业控制等其它领域。
在传统的电子测量仪器中,示波器在进行频率测量时测量精度较低,误差较大。
频谱仪可以准确的测量频率并显示被测信号的频谱,但测量速度较慢,无法实时快速的跟踪捕捉到被测信号频率的变化。
正是由于频率计能够快速准确的捕捉到被测信号频率的变化,因此,频率计拥有非常广泛的应用范围。
在传统的生产制造企业中,频率计被广泛的应用在产线的生产测试中。
频率计能够快速的捕捉到晶体振荡器输出频率的变化,用户通过使用频率计能够迅速的发现有故障的晶振产品,确保产品质量。
在计量实验室中,频率计被用来对各种电子测量设备的本地振荡器进行校准。
在无线通讯测试中,频率计既可以被用来对无线通讯基站的主时钟进行校准,还可以被用来对无线电台的跳频信号和频率调制信号进行分析。
对于频率计的设计目前也有专用芯片可以实现,如利用Maxim公司的ICM7240来设计频率计。
但由于这种芯片的计数频率比较低,远不能达到在一些场合需要测量很高的频率要求,而且测量精度也受到芯片本身的限制。
提出的用AT89S52单片机设计频率计的方法可解决这些问题,实现精度较高、等精度和宽范围频率计的设计。
1.1设计概述
所谓频率,就是周期性信号在单位时间(1s)里变化的次数。
本数字频率计的设计思路是:
根据频率计的测频原理,可以选择合适的时基信号即闸门时间,对输入被测信号脉冲进行计数,实现测频的目的。
根据数字频率计的基本原理,本文设计方案的基本思想是分为五个模块来实现其功能,即整个数字频率计系统分为输入电路、闸门、闸门信号产生电路、计数锁存电路和显示电路等几个单元,并分别用单片机对其进行编程,实现了闸门控制信号、计数电路、锁存电路和显示电路等。
在进行设计之前,首先搞清楚在什么情况下是测频率,在什么情况下是测周期,其实就是一个选择合适的时基信号的问题。
在这个设计中,要在频率计提供的时基信号和输入信号之间做出选择,充当时基信号即闸门时间。
当测频率的时候,要以输入信号作为时钟信号,因为输入信号的频率大于频率计提供的基准频率,在频率计提供的基准信号周期内,计算输入信号的周期数目,再乘以频率计基准频率,就是输入信号的频率值了。
此时的时基信号为频率计的基准信号。
当测周期的时候,要以频率计提供的基准信号作为时钟信号,因为频率计提供的时基频率大于输入信号的频率,在输入信号周期内,计算频率计提供的基准信号的周期数目,再乘以基准信号频率,就是输入信号的周期值了。
此时的时基信号为输入信号。
1.2设计内容和要求
●设计一台数字显示的简易频率计。
●设计要求及技术指标:
●能实现频率测量、周期测量、脉冲宽度测量;
●频率周期测量范围:
1HZ~1MHZ,信号为方波、正弦波;幅度为0.1V~5V;
●频率周期测量误差:
0.1%(以实验室标准频率计为准);
●脉冲测量范围:
脉冲宽度不超过100μS,信号为脉冲波,幅度为0.1V~5V;脉冲测量误差:
0.1%。
●十进制数字显示,显示刷新时间1S~10S连续可调,对上述三种测量功能分别用不同颜色的发光二极管指示。
●具有自校功能,时标信号频率为1MHZ。
1.3设计原理
图1系统结构框图
输入电路:
由于输入的信号可以是正弦波,三角波。
而后面的闸门或计数电路要求被测信号为矩形波,所以需要设计一个整形电路。
在测量的时候,首先通过整形电路将正弦波或者三角波转化成矩形波。
在整形之前,由于要求被测信号幅度为0.1V~5V,从来不需要再经过放大衰减处理,所以取消了衰减放大电路的设计。
频率测量:
测量频率的原理框图如图1.测量频率共有3个档位。
被测信号经整形后变为脉冲信号(矩形波或者方波),送入闸门电路,等待闸门信号的到来。
闸门信号直接由AT89S52单片机的晶振信号产生,然后通过AD825运算放大器构成的跟随器从而产生10MHZ的闸门信号。
被测信号通过闸门,作为计数器的时钟信号,计数器即开始记录时钟的个数,这样就达到了测量频率的目的。
3单元电路设计
3.1整形电路
图2整形电路
设计要求能对正弦波和方波进行处理,而且电压为0.1V~5V,故信号需要使用调理电路进行整形。
全部转化为矩形波后再送入闸门进行计数。
AD825是一个高精度、高速并且低功耗的精密运放,截至频率高达41M,能够满足电路中能对1M信号进行处理的要求。
被测信号从CON1输入,然后通过AD825运算放大器,信号(+IN端)与接地端(-IN端)进行比较,从而可以产生测试需要的矩形波或者方波。
3.2闸门电路
图3闸门电路图
74LS74为带预置和清除端的两组D型触发器
其功能表:
表174LS74真值表
在闸门电路中,采用两个D触发器做一个闸门电路,其逻辑功能如下表
表274LS74逻辑功能表
条件
D1_Q
D1_Q!
D2_Q
D2_Q!
与门输出
CLEAR有一个低脉冲
0
1
0
1
0
第一个上升沿
1
0
0
1
1
接着的下降沿
1
0
1
0
0
用此电路实现在一个完整的高电平阶段打开闸门进行计数。
3.3计数电路
图4计数电路
74LS161为可预置的4位二进制同步计数器,其清除端是异步的。
当清除端CLEAR为低电平时,不管时钟端CLOCK状态如何,即可完成清除功能。
74LS161的预置是同步的。
当置入控制器LOAD为低电平时,在CLOCK上升沿作用下,输出端QA-QD与数据输入端A-D相一致。
对于74LS161,当CLOCK由低至高跳变或跳变前,如果计数控制端ENP、ENT为高电平,则LOAD应避免由低至高电平的跳变,而74LS161无此种限制。
74LS161的计数是同步的,靠CLOCK同时加在四个触发器上而实现的。
当ENP、ENT为高电平时,在CLOCK上升沿作用下QA-QD同时变化,从而消除了异步计数器中出现的计数尖峰。
对于74LS161,只有当CLOCk为高电平时,ENP、ENT才允许由高至低电平的跳变,而74LS161的ENP、ENT跳变与CLOCK无关。
74LS161有超前进位功能。
当计数溢出时,进位输出端(RCO)输出一个高电平脉冲,其宽度为QA的高电平部分。
在不外加门电路的情况下,可级联成N位同步计数器。
对于74LS161,在CLOCk出现前,即使ENP、ENT、CLEAR发生变化,电路的功能也不受影响。
功能表:
表374LS161功能表
电路中,用6个74LS161级联成一个24位的计数器,用来在砸门开启的时候对标准脉冲进行计数。
3.4锁存电路
图5锁存电路图
74LS373为三态输出的八D透明锁存器,74LS373的输出端O0~O7可直接与总线相连。
当三态允许控制端OE为低电平时,O0~O7为正常逻辑状态,可用来驱动负载或总线。
当OE为高电平时,O0~O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
当锁存允许端LE为高电平时,O随数据D而变。
当LE为低电平时,O被锁存在已建立的数据电平。
当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。
引出端符号:
D0~D7数据输入端OE三态允许控制端(低电平有效)LE锁存允许端O0~O7输出端。
表4真值表:
电路中,单片机只有8位数据位宽,而计数器输出为24位,所以使用3个74LS373来对计数器输出的24位数据锁存输入,单片机通过依次锁存/使能3个锁存器来把24位数据全部输入。
3.5显示电路
计数电路的计数数据通过单片机AT89S52的P0和P2端口后,通过8位数码管将最终结果显示出来。
此次电路设计,采用了8位7段共阳数码管采用动态扫描的方式显示处理结果。
由于选用的数码管具有小数点的功能,而设计要求被测信号为1HZ~1MHZ,所以8位数码管完全能够显示设计要求内所有被测信号的频率大小,在电路设计中能够达到非常高的处理精度。
图6显示电路
3.6控制电路
图7控制电路
AT89S52是51系列单片机,它是ATMEL公司生产的。
它是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89S52单片机可为您提供许多较复杂系统控制应用场合。
AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89S52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89S52兼容MCS51指令系统,有8k可反复擦写(>1000次)FlashROM,32个双向I/O口,256x8bit内部RAM,3个16位可编程定时/计数器中断时钟频率0-24MHz,2个串行中断可编程UART串行通道,2个外部中断源,共6个中断源,2个读写中断口线3级加密位,低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。
电路中,使用一个单片机完成将计数器的计数值换算为周期和频率的计算。
8位数码管的显示采用动态扫描方式,也需要单片机实时的参与。
同时,闸门时基10MHZ也通过单片机的晶振产生,然后通过由AD825运算放大器构成的过零比较器,从而产生10MHZ的闸门信号。
3.7控制选择
图8控制选择电路图
设计要求能够对周期和脉冲宽度进行测量。
对于周期的测量,我采用一个D触发器,将整形后得到的方波进行二分频,然后实现仅对高电平计数即是周期的功能。
对于脉宽测量,则直接把信号通过闸门送入计数器进行计数,从而直接测的高电平脉冲宽度。
3.8电源电路
图9电源电路
7805是一种固定电压(5V)三端集成稳压器,其适用于很多应用场合.象牵涉到单点稳压场合需要限制噪声和解决分布问题的在-卡调节.此外它们还可以和其它功率转移器件一起构成大电流的稳压电源,如可驱动输出电流高达100毫安的稳压器。
其卓越的内部电流限制和热关断特性使之特别适用于过载的情况。
当用于替代传统的齐纳二极管-电阻组的时候,其输出阻抗得到有效的改善,其偏置电流大大减少。
电路中使用一个7805来为其他模块提供稳定可靠的电源。
电源变压器将交流电网220V的电压变为所需要的电压值,然后通过整流电路将交流电压变成脉动的直流电压。
由于此脉冲的直流电压还含有较大的纹波,必须通过滤波电路加以滤除,从而得到平滑的直流电压。
在整流、滤波电路之后,接上7805稳压电路,从而维持输出稳定的直流电压。
3.9整体电路图
图10电路总图
正弦波信号或方波信号通过整形电路后是一个幅值电压为5V的矩形波,送入闸门电路。
闸门电路在CLEAR清零后,在信号的第一个上升沿到来后,打开闸门,计数电路开始对标准10M时钟脉冲进行计数。
在信号紧接着这个上升沿的下降沿到来的时候,闸门电路关闭闸门,同时计数完成端输出高电平,通知单片机,计数已经完成。
标准脉冲不能进入计数电路,故计数器就停止在当前计数值。
单片机通过依次使能三个锁存电路,将24位计数值通过P1口全部存到内部变量中。
根据设置的显示方式是频率还是周期进行相应的运算后,分解为单独的位,取出各位对应的LED数字编码存入显示缓冲区中。
在单片机定时器中断中,循环的将显示缓冲区中的段选数据通过P0口送出,驱动数码管进行显示。
同时通过P2口改变位选信号,进而实现对8个数码管的动态扫描显示。
当按键按下时,单片机检测到P3.5为低电平,就切换一次内部的频率,周期标志,然后等待按键释放后开始进行相应的运算。
这样,整个单路就能够实时的对输入信号的频率和周期进行测量,通过外部的开关进行选择,还能够测量脉冲的宽度。
4程序设计
程序主要实现将24位计数读入后换算为周期,频率的任务,同时还要对数码管进行动态扫描显示。
流程图设计如下:
图11程序流程图
程序设计如下:
#include
sbitOC0=P3^0;//低有效
sbitOC1=P3^1;
sbitOC2=P3^2;
sbitCLEAR=P3^3;//低有效
sbitCTOK=P3^4;//低有效
sbitKEY=P3^5;//按键
sbitLEDF=P3^6;//频率灯
sbitLEDT=P3^7;//周期灯
#defineLENDXP0
#defineLENWXP2
#defineCTDATAP1
unsignedcharg_Show[8]={0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f};
unsignedcharcodes_Show[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
unsignedcharcodes_LedCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
unsignedlongg_numcount;
unsignedcharg_count;
unsignedcharb_f;
unsignedcharg_i;
main()
{
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
ET0=1;
TR0=1;
EA=1;
CTOK=1;
LEDT=0;//LEDT
while
(1)
{
CLEAR=0;//启动闸门
while(CTOK);//等待计数完成
OC0=0;//分三次将计数器的24位计数值读入内存
g_numcount=CTDATA;
OC0=1;
OC1=0;
g_numcount<<=8;
g_numcount|=CTDATA;
OC1=1;
OC2=0;
g_numcount<<=8;
g_numcount|=CTDATA;
OC2=1;
if(b_f)
{
g_numcount=10000000/g_numcount;//频率的话,则进行倒数运算
}
for(g_i=0;g_i<8;g_i++)
{
g_Show[g_i]=s_LedCode[g_numcount%10];//取出十进制的每一位
g_numcount/=10;
}
if(KEY==0)//有按键按下
{
b_f=!
b_f;//切换频率,周期标志
while(!
KEY);//等待按键释放
}
}
}
voidtimer0_int(void)interrupt1
{
staticunsignedchari;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
LENWX=s_Show[i];//LED位选信号
LENDX=g_Show[i];//LED段选信号
if(++i>7)i=0;
}
结束语
不积跬步何以至千里,本设计能够顺利的完成,也归功于各位任课老师的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。
正是有了他们的悉心帮助和支持,才使我的毕业论文工作顺利完成,在此向内江师范学院物理与电子信息工程学院的全体老师表示由衷的谢意,感谢他们四年来的辛勤栽培。
参考文献
[1]康华光、邹寿彬.电子技术基础数字部分(第四版)[M].北京:
高等教育出版社,1999.6:
411-414.
[2]康华光、邹寿彬.电子技术基础模拟部分(第四版)[M].北京:
高等教育出版社,2000.7:
193,197.
[3]高吉祥、易凡.电子技术基础实验与课程设计[M].北京:
电子工业出版社,2002:
367-369,381.
[4]童诗白.模拟电子技术基础[M].北京:
高等教育出版社,1988:
119-131.
[5]网站:
中国IC网()[J].
[6]潘永雄、沙河.电子线路CAD实用教程[M].陕西:
西安电子科技大学出版社,2007:
[7]唐颖、程菊花任条娟.单片机原理与应用及C51程序设计[M].北京:
北京大学出版社,2008.8:
声明
本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。
据我所知,除文中加以标注和致谢的地方外,论中不包含其他人已经发表或撰写过的研究成果,也不包含为获得内江师范学院或其他教育机构的学位证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均以在论文中作了说明并表示谢意。
本学位论文成果是本人在内江师范学院读书期间在导师的指导下取得的,论文成果归内江师范学院所有,特此声明。
致谢
通过这一阶段的努力,我的毕业论文《数字频率计》终于完成了,这意味着大学生活即将结束。
在大学阶段,我在学习上和思想上都受益非浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。
在本论文的写作过程中,我的指导老师马耀廷老师倾注了大量的心血,从选题到开题报告,从写作提纲,到一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱,在此我表示衷心感谢。
同时我还要感谢在我学习期间给我极大关心和支持的各位老师以及关心我的同学和朋友。
写作毕业论文是一次再系统学习的过程,毕业论文的完成,同样也意味着新的学习生活的开始。
我将铭记我曾是一名内江师范学院学子,在今后的工作中把内江师范学院的优良传统发扬光大。
感谢各位老师的批评指导。