数字频率计设计 (2) 精品.doc_第1页
数字频率计设计 (2) 精品.doc_第2页
数字频率计设计 (2) 精品.doc_第3页
数字频率计设计 (2) 精品.doc_第4页
数字频率计设计 (2) 精品.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字频率计的设计1前言在电子和通讯系统工作中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,测量频率是电子测量技术中最常见的测量之一。不少物理量的测量,如时间、速度等都涉及到或本身可转化为频率的测量。目前,市场上有各种多功能、高精度、高频率的数字频率计,但价格不菲。而在实际工程中,并不是对所有信号的频率测量都要求达到非常高的精度。因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。以往的大多数传统数字频率计一般由分离元件搭接而成,其测量范围、测量精度和测量速度都受到很大的限制。虽然单片机的发展与应用改善了这一缺陷,但由于单片机本身也受到工作频率及内部计数器位数等因素的是在低频段利用测周的方法,而高频段利用测频的方法,其精度往往会随着被测频率的下降而下降限制,所以无法在此领域取得突破性的进展。本文详细论述了简易频率计的硬件电路的组成和单片机的软件控制流程。其中硬件电路包括输入信号电压比较模块,显示模块以及单片机主控模块。测量范围在010kHz,可以用LCD液晶显示,并能测量方波、三角波及正弦波等多种波形。2方案介绍 该部分主要阐述测频原理及实现的方案。2.1 频率测量原理测量频率的原理简单来说就是“在单位时间内对被测信号进行计数”。图2.1说明了测频的原理及误差产生的原因。图2.1 测频原理在图2.1中假设时基信号为1KHZ,则用此法测得的待测信号为1KHZ*70=70KHZ。但从图中可以看出,待测信号应该在77KHZ左右,误差约有7/77=9.1%。这个误差是比较大的,实际上,测量的脉冲个数的误差会在1之间。假设所测得的脉冲个数为N,则所测频率的最大误差为=1/(N-1)*100%。显然,减少误差的方法,就是增大N。本频率要求误差在0.01%以下,则N应大于10000。通过计算,从表2.1中可以看出,对10KHZ以下的信号用测频法,反应时间长于或等于10s,特别在低频信号。在低频的时候,为了测出精确的频率值,要等上3个小时,显然这是不可行的。由此可以得出一个初步结论:测频法只适合于测高频信号1。表2.1待测信号与时基信号的关系待测信号时基信号可行性1MHz10MHz100Hz可行100kHz1MHz10Hz10kHz100kHz1Hz1kHz10kHz0.1Hz(10s)不可行100Hz1kHz0.01Hz(100s)10Hz-100Hz0.001Hz(1000s)1Hz-10Hz0.0001Hz(10000s)测量周期法一般来说就是“在被测信号周期时间内对某一基准脉冲进行计数”。图2.1说明了测周期的原理及误差的产生的原因。图2.2 测周期原理图2.2跟图2.1的差别,仅仅是待测信号与时基信号的位置颠倒了。事实上,测频和测周的唯一区别就在于,“计数的”究竟是待测信号还是系统提供的时基脉冲。以图2.2为例,假设基准脉冲为1ms,在一个待测信号周期内计到7个基准脉冲,则测得的待测信号周期为70ms。与测频一样,此法也存在误差,而最大误差也同样为=1/(N-1)*100%。若要求测量误差在0.01%以下,则N也必须大于10000。表2.2是测周期时待测信号与基准脉冲的关系表,如表2.2所示。表2.2 待测信号与时基信号的关系待测信号时基信号可行性1MHz10MHz100000Hz可行100kHz1MHz10000Hz10kHz100kHz1000Hz1kHz10kHz100MHz不可行100Hz1kHz10MHz10Hz-100Hz1MHz1Hz-10Hz100Hz(10000s)从表2.2可以得出另一个结论:测周法适合低频率信号的测量,而对高频信号无能为力。所以应当结合测频法和测周法,高频时采用测频法,通过计算T=1/f得到周期;低频时采用测周法,通过计算f=1/T得到频率2。测脉宽和占空比的原理和测周期的原理基本相同。测脉冲宽度,只测信号为高电平时的时间长度;而测占空比,则要记录下信号在高低电平时的各自的时间长度,然后再进行计算。2.2 方案设计 频率测量在科技研究和实际应用中的作用日益重要。传统的频率计通常采用组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号时宜直接使用。频率信号抗干扰性强、易于传输,可以获得较高的测量精度。同时,频率测量方法的优化也越来越受到重视3。 本方案主要以单片机为核心,将待测信号转换成方波信号输入单片机。利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。一般的数字频率计设计中使被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把被测的正弦波或者三角波整形为方波这一过程,但是在该设计中,由于LM393芯片的使用,使这一过程简化。整个设计的硬件原理非常简单,主要有三个功能模块。后面会详细介绍各个硬件功能模块,并对主要的芯片有所阐述。A/D转换信号捕获 数据计算 以及 转换 系统供电频率显示待测信号图2.3 硬件原理方框图3.实验部分该设计详细论述了硬件电路的组成和单片机的软件控制流程。其中硬件电路包括输入信号整形模块,显示模块以及单片机主控模块。设计主要以单片机为核心,被测信号经LM393输出为方波;利用单片机的计数器和定时器的功能对被测信号进行计数;编写相应的程序可以使单片机计算和转换数据,并把测出的频率数据送到显示电路显示。单片机软件用C语言编写,软件模块对应于硬件电路的每一个部分,还包括部分数据计算和转换模块。数字频率计原理图是用Altium Designer绘制的。Altium Designer 是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高4。在此设计中,为了节省时间,只用Altium Designer绘制了电路原理图,频率计实物是在面包板上焊成的,而省去了打烊PCB板等其他步骤。图3.1 原理图3.1 系统供电模块该设计的供电单元主要由LM7805芯片控制实现,设计中的供电模块主要是输入源电压经LM7805得到一个5V电压的输出来给整个系统供电,此时显示灯LED1会发光;若J1未通电,则LED1处于熄灭状态。图3.2 系统供电模块X78XX是三端正电源稳压电路,它有一系列固定的电压输出,应用非常广泛。每种类型由于内部电流的限制,以及过热保护和安全工作区的保护,使它基本上不会损坏。如果能够提供足够的散热片,它们就能够提供大于1.5A的输出电流。虽然是按照固定电压值来设计的,但是当接入适当的外部器件后,就能获得不同的电压和电流5。特点:*最大输出电流为1.5A *输出电压为5V,6V,8V,9V,10V,12V,15V,18V,24V*热过载保护*短路保护*输出晶体管安全工作区保护LM7805是一种输出5V电压的三端正电源稳压芯片。3.2 电压比较模块待测信号经LM393转换成方波信号,该信号直接输入单片机。该模块主要是实现待测信号的A/D转换。图3.3 A/D转换电路图LM393是由两个独立的、高精度电压比较器组成的集成电路,失调电压低,最大为2.0mV。它专为获得宽电压范围、单电源供电而设计,也可以以双电源供电;而且无论电源电压大小电源消耗的电流都很低。它还有一个特性:即使是单电源供电,比较器的共模输入电压范围接近地电平。LM393主要应用于限幅器、简单的模/数转换器、脉冲发生器、方波发生器、延时发生器等。该设计中用到的LM393主要应用于简单的模/数转换。图3.4 LM393功能图3.3 数字显示模块该功能模块主要由LCD1602液晶显示所测信号频率。图3.5 数字显示模块液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在各类仪表和低功耗系统中得到广泛的应用。根据显示内容可以分为字符型液晶,图形液晶。根据显示容量又可以分为单行16字,2行16字,2行20字等。我们这里用到的是2行16字的液晶。这里介绍常用的字16字X2行的字符型液晶模块的使用方法。这是一种通用模块。与数码管相比该液晶显示屏有如下优点:1.位数多,可显示32位,32个数码管体积相当庞大了;2.显示内容丰富,可显示所有数字和大、小写字母;3.程序简单,如果用数码管动态显示,会占用很多时间来刷新显示,而1602自动完成此功能。图3.6 频率计实物图LCD1602采用标准的16脚接口,其中,第3脚V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度6。在该设计中,V0通过一个1k的电阻接地,避免了“鬼影”的发生。图3.6中方框中的部分即LCD1602液晶屏。3.4 主控模块该主控模块是由单片机STC12C5A60S2来实现的。经LM393输入的数字信号经单片机分频、捕获、计数、转换,输出显示所测频率。图3.7 主控模块3.5 STC12C5A60S2芯片介绍STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12 倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,即25万次/秒),针对电机控制,强干扰场合7。主要特点:1.增强型 8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;2. ISP(在系统可编程)/ IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;3. 时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为5% 到10% 以内) 用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体/ 时钟。常温下内部R/C振荡器频率:5.0V 单片机为11MHz 17MHz;精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;4. 共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器;5. 3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟;6. PWM(2路)/ PCA(可编程计数器阵列,2路)- 也可用来当2路D/A使用- 也可用来再实现2个定时器- 也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);7. A/D转换, 10位精度ADC,共8路,转换速度可达250K/s(每秒钟25万次);8. STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3);STC12C5A60S2单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块。STC12C5A60S2系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。KEIL uVISION是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC+的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。该数字频率计的软件控制程序就是用KEIL uVISION4编译的。系统软件设计采用模块化设计,整个系统由初始化模块,信号频率测量模块和显示模块等模块组成。流程图如图3.8所示。系统初始化 开始 频率测量 检测信号计数器计数测频率值测量数据显示信号转换YN 图3.8 软件流程图3.6 PWM模块脉宽调制(PWM)基本原理:其控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。当然我们上面所说的PWM只是一种控制过程,与我们所要论述的PWM功能模块还是有差异的。STC12C5A60S2系列单片机集成了两路可编程计数器阵列(PCA)模块,课用于软件定时器、外部脉冲的捕捉、高速输出以及脉宽调制(PWM)的输出。与PCA/PWM应用有关的特殊功能寄存器有工作模式寄存器CMOD、控制寄存器CCON、比较/捕获寄存器CCAPM0和CCAPM1等。当PCA模块用于捕获或比较时,它们用于保存各个模块的捕捉计数值;当PCA模块用于PWM模式时,它们用来控制输出的占空比。此部分工作流程图如图3.9所示。PCA初始化记录当前捕获值记录溢出次数记录下次捕获值求出捕获时间t计算频率f=1/t图3.9 单片机测频软件流程图3.7 显示模块开机时屏上显示FRE: 00000 HZ,当有信号输入时,该部分程序先检测再输出测试频率。图3.10 开机状态图3.11 待测频率为1kHz时的演示截图图3.12 频率计上电状态4总结经过这一段时间的紧张筹备,总算落下了帷幕。其间,我亦遇到许多问题,诸如最终方案的选择,整个系统核心模块计数过程的实现,时钟频率的设定,但在查阅了相关资料及与导师沟通后,我逐步地不断完善频率计的原理框图,并完成了整个软件程序的编译仿真及实物的焊接调试,最终得到了我想要的实验效果。经过对结果的分析,此次设计基本符合设计要求。在整个过程中,从相关资料的收集到硬件语言的学习,我都受益良多。基本形成了对于完成一个功能较完善系统的方案确定、分析实现的大体方法。进一步熟悉并掌握了用Keil编译程序的一般过程。但是还存在一定的不足,即测频范围有一定的局限性,而且待测频率越低精度越低。本次设计只是自己在学习相关知识后的自我研究,在各方面可能还存在欠缺。而目前,对于频率测量方面的研究已相对成熟,已基本能满足各种不同的需求。并且通过这次的实践操作,更加地明白了KEIL技术极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度,也说明了KEIL技术对于我们专业学生的专业知识掌握的重要性。在测频率时一定要设置频率偏移量为2.5V。下面是频率计实物及测频率时信号幅值设置为5V的现象演示。图4.1 实物图 图4.2 输入信号与显示信号(1kHz)图4.3 输入信号与显示信号(20Hz)图4.4 输入信号与显示信号(1Hz)误差分析:在待测频率精确到0.1或更高精度输入时,输出数据采用进一制方式输出。如图4.5所示。图4.5 待测频率为1000.1Hz/1000.9Hz时的演示截图图4.5中的测频率误差:1=(1000.1-1000)/1000*100%=0.1%2=(1000.9-1000)/1000*100%=0.9%当输入频率趋近于1001Hz时,误差趋近于1% .故频率为1000H1001Hz时,误差1% .上面讨论的只是频率较大时的情况,按照上述方法,当待测频率很小而且频率值带有非零小数位时,误差是非常大的。7.附录程序1、主程序void main() PWM_Init(); /PWM初始化lcd_init(); /160液晶初始化Timer0_Init();EA = 1;/开总中断 while (1)DS50MS_T();DS1MIN_T();2、PWM/*PWM初始化函数*/void PWM_Init(void) CCON = 0;/Initial PCA control register /PCA timer stop running /Clear CF flag /Clear all module interrupt flag CL = 0;/Reset PCA base timer CH = 0; CMOD = 0X03;/模块1做PCA捕获测速用 CCAP1L = 0; CCAP1H = 0; CCAPM1 = 0x21; /PCA模块0为16位捕获模式(上升沿捕获,可测从高电平开始的整个周期),且产生捕获中断 CR = 1; /PCA定时器开始工作/*PWM脉冲占空比调节函数*/转速处理函数/void pca_pro(void)float m;m = capture_period*1.0/65535; /前后捕获值,转换成溢出中断m = m + capture_pca;/总溢出中断if( m = 0.0 ) fre = 0;else m = m * 5925.93;fre = 1000000.0/m + 1; /频率,一秒的转数 /*中断服务函数*/void PCA_Routine(void) interrupt 7 using 1static unsigned int current_capture_value, previous_capture_value ;static unsigned int current_pca, previous_pca;if ( CF = 1 ) /定时器溢出中断到CF=0; /清零中断标志位current_pca+; /定时器溢出次数+if (CCF1 = 1 ) CCF1=0; /清零中断标志位;current_capture_value = CCAP1H*256+CCAP1L;capture_pca = current_pca - previous_pca; previous_pca = current_pca;capture_period = current_capture_value - previous_capture_value; if(current_capture_valueprevious_capture_value) capture_pca-;previous_capture_value = current_capture_value;3、LCD1602/*测试LCD忙碌状态 */B busy(void)B t;rs=0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论