PIC单片机等精度测量频率法

合集下载

等精度频率计

等精度频率计
q1,q2,q3,q4,q5: out integer range 0 to 15);
end shuchu;
architecture a of shuchu is
begin
process (data1,data2,data3,data4,data5,data6,data7,data8,data9,data10)
signal c: std_logic;
begin
process (clk,nr)
begin
if nr = '1' then
f<=0;c<='0';
elsif (clk'event and clk = '1')then
if f<9999 then
f<=f+1;
else
f<=0;
c<= not c;
end if;
关键字:
频率、周期、标准时钟、乘除运算、分频、十进制显示、锁存
方案比较:
(1)用单片机实现:
等精度数字频率计涉及到的计算包括加,减,乘,除,耗用的资源比较大,用一般中小规模CPLD/FPGA芯片难以实现。因此,我们选择单片机和CPLD/FPGA的结合来实现。电路系统原理框图如图所示,其中单片机完成整个测量电路的测试控制,数据处理和显示输出;CPLD/FPGA完成各种测试功能;键盘信号由AT89C51单片机进行处理,它从CPLD/FPGA读回计数数据并进行运算,向显示电路输出测量结果;显示器电路采用七段LED动态显示,由8个芯片74LS164分别驱动数码管。
为了节省资源改进了除法器进制转化模块,说明如下:
被除数
序号
10进制

PIC单片机等精度测量频率法

PIC单片机等精度测量频率法

PIC单片机等精度测量频率法单片机测量频率,是一个比较常见但又不好解决的问题。

主要是测量频率是高端和低端不能兼顾的问题。

测量频率无非两种方法:1.在一段固定的时间及脉冲的个数,然后除时间得到频率。

2.测量脉宽计算频率。

第一种方法,适合测频率在1KHz以上的脉冲信号。

因为要保证测量精度在0.1%,至少要保证脉冲个数在1000个,假设测10HZ左右的信号,则一个测试周期需要100秒,这显然不是我们所能接受的。

第二种方法,适合测频率小于1KHz的信号。

因为要保证测量精度在0.1%,在一个脉冲宽度(1ms)内,作为时标的定时器至少要走1000个数(此时PIC 的晶振理论上至少也要4MHz)。

事实上,想利用上述两种方法精确测量宽范围的频率,几乎是不可能的。

PIC系列特有的平级中断,也使其测量频率比51系列测量困难。

等精度数字测频基本框图等精度数字测频基本框图如下fx图中的闸门G1、G2分别用来控制输入信号周期计数和闸门时间宽度计时。

其中,G1与输入信号同步,这样可使计数器N1的量化误差dN1=0。

计数器N2对标准时标信号Tc进行计数,并以此来测量实际的闸门宽度Tg,则输入信号的频率可表示为:fx=N1/Tg=N1/(Tc*N2)标准时标信号采用单片机自身的工作时钟,可看作常数。

因此fx的相对误差为:dfx/fx=dN1/N1-dN2/N2=-dN2/N2式中,dN2为计数器N2产生的量化误差,最大为±1个Tc,在实际设计中,选择适当的时标Tc和闸门宽度Tg可是N2始终足够大,以次在fx的全频段范围内得到足够高的精度。

等精度测量法的实质就是一种变相的测脉宽法。

在实际使用时(PIC为例),可将Timer0作计数器N1,Timer1作计数器N2,外部中断INT0同T0连在一起,作为Tg信号,如图:fx T0INT0PIC首先打开INT中断,允许Timer0计数,当一个fx的上升沿来临时,触发INT中断。

第八讲 等精度测频

第八讲 等精度测频

第八讲三、设计实例等精度频率、占空比测量仪1.综述传统频率测量方法是对设定的闸门时间内脉冲进行计数,有两个主要因素影响精度,其一是闸门时间的准确度,其二是对低频信号的取整误差,为了消除以上两个因素的影响可选择等精度测频法。

但等精度测频法占用可编程器件资源量大,如选用24位计数器的频率计,仅测频部分就占用了EPM7128芯片的百分之九十以上的资源;若选用100MHz标准时钟,其闸门时间仅能选择在0.168s以下,测频范围在6Hz以上,限制了对低频的测量。

若要扩大低频量程,需要相应增大可编程器件容量,则体积、功耗和价格相应增加。

本文所述等精度频率、占空比测量仪采用将复杂可编程逻辑器件(CPLD)与低功耗单片机相结合,由CPLD完成高频信号计数,单片机完成低频信号计数、频率和占空比计算和显示控制等功能,即简化了仪器的结构,又扩大了低频量程。

如单片机采用长整形变量计数(32位),再加上CPLD中16位计数器,等效为48位计数器构成的等精度测量仪,当选用100MHz标准时钟时,低频范围可达3.55×10-7Hz。

本文所述等精度频率、占空比测量仪结构框图如图8-1所示,CPLD可编程逻辑器件选用的是EPM7064芯片,单片机可根据实际情况选用。

图8-1 等精度频率、占空比测量仪结构框图单片机发出如下所示控制信号:CLEAR:SLCE为高时CPLD芯片内各计数器清零信号;SLCE为低时占空比清零和测量启动信号。

SLCE:功能选择控制信号。

高电平测频;低电平测占空比。

CONTRL:闸门时间信号。

高电平测频;低电平测占空比。

S[2..0]:输出选择控制信号。

000—CPLD 输出标准时钟信号四位计数值最低位;001—CPLD 输出标准时钟信号计数值次低位;010—CPLD 输出标准时钟信号计数值第三位;011—CPLD 输出标准时钟信号计数值第四位;100—CPLD 输出被测信号四位计数值最低位;101—CPLD 输出被测信号计数值次低位;110—CPLD 输出被测信号计数值第三位;111—CPLD 输出被测信号计数值第四位。

基于单片机的等精度测频法及其应用研究

基于单片机的等精度测频法及其应用研究

基于单片机的等精度测频法及其应用研究一、研究背景在许多电子测量中,频率是一个基本参数。

然而,频率测量是非常复杂的,特别是对于高频率和低频率的测量。

精确的频率测量对于各种电子设备的研究和制造都非常重要。

传统测频法中常用的是时间差测量法和计数测量法,这两种方法都具有测量精度不够高及难于自动化等缺点。

因此,需要研究一种更高精度的测频方法,这就是等精度测频法。

二、等精度测频法的基本原理等精度测频法是一种基于数字信号处理技术的测频方法。

该方法基于两个相邻的周期振荡信号之间的相位差求得信号的频率。

其基本原理如下:在相邻的周期T1和T2之间,通过计算第一个周期的信号与第二个周期信号之间的相位差$\\Delta\\phi$,反推出第二个周期信号的频率f:$$ f = \\frac{1}{2\\pi}\\cdot\\frac{\\Delta\\phi}{T_2-T_1} $$由上式可知,等精度测频法只需要获取两个相邻周期信号的相位差和两个周期的时间,即可求出信号的频率,测量精度较高。

三、等精度测频法的软件实现等精度测频法的实现需要用到数字信号处理技术,可以通过单片机结合C语言软件实现。

主要步骤如下:1.信号采样将需要测量的信号经过高精度的AD采集电路进行采样,将信号转换成对应的数字信号。

2.相位差计算通过数字信号处理技术,计算出相邻周期信号之间的相位差。

3.频率计算根据相邻周期信号的相位差和两个周期的时间,计算出信号的频率。

4.结果输出将计算出的结果输出到数码显示管等输出模块中,实现信号的频率测量功能。

四、等精度测频法的应用等精度测频法在电子设备制造、通信领域、科研实验等方面都具有重要应用价值。

例如:1.信号频率稳定性测试将需要测试的信号经过等精度测频法测量其频率稳定性,可用于评估设备的性能。

2.信号调制解调信号的调制解调中需要精确测量信号的频率,等精度测频法可以实现这一功能。

3.相位锁定在数字信号处理中,需要实现相位锁定功能来避免信号相位偏差造成的误差。

基于单片机的等精度数字测频装置的原理及实现

基于单片机的等精度数字测频装置的原理及实现
?个闸门宽度可使的全频段始终足够大并在范围内得到足够多的有效位数的显示结果号产生第二次?中断然后关闭?和以完成一次测量过程?中的计数值代表了输入信号完整的?个周期设中的剩余0读数为?则被测信号的频率可由下式计算基于单片机的等精度数字测频方案?系列单片机具有两个?位的定时器计数器?和它们可分别代替图中的计数器?和?单片机的外部中断功能可方便地实现闸门开关与被测信号的跳变沿同步?利用单片机的数据运算能力可编制相应的乘除法程序并实现测量结果的等精度显示等精度数字测频装置的最简方案如图所示其软件流程和波形时序分别如图和图所示设在时刻系统开始进行初始化?和分别设置为计数图所示的输入信号频率相对较高在一次测量过程中只中断一次而其间有多个输入信号脉冲如果信号频率很低将多次溢出中断闸门的启闭取决于相邻的两个信号脉冲由此可见测量闸门的时间宽度是自动可变的最长为低频信号的一个周期最短为实际上闸门时间可表示为器和定时器来对输入信号和时标信号进行计数它们的初始值均为时标信号的频率在单片机内固定为?为单片机的时钟频率外部中断?通常可设置为边沿触发开放?和的中断其中??上式是等精度数字测频的一个重要数字特征测量完成后系统将从和?读出计数值并计算出为了保证计算精度和数据的有效位数可采用浮点乘除法运算其数据可由三个字节表示其中阶码占一个字节尾数占两个字节可表示的数据动态范围为
其中 Ä®’ 为计数器 ®’ 产生的量化误差 Œ最大为 ? ‘ 个 ´Ã "在实际设计中 Œ选择适当的时标周期 ´Ã 和 闸门宽度 ´Ç 可使 ®’ 始终足够大 Œ 并在 ÆØ的全频段 范围内得到足够多的有效位数的显示结果 "
“ 基于单片机的等精度数字测频方案
- £³ • •‘ 系列单片机具有两个 ‘– 位的定时器• 计数器 ´‘ 和 ´• Œ它们可分别代替图 ’ 中的计数器 ®‘ 和 ®’ › 单片机的外部中断功能可方便地实现闸门开 关与被测信号的跳变沿同步 › 利用单片机的数据运 算能力可编制相应的乘除法程序 Œ 并实现测量结果 的等精度显示 "

基于单片机的等精度数字测频

基于单片机的等精度数字测频

基于单片机的等精度数字测频在电子技术领域内,频率是一个最基本的参数,频率与其他许多电参量的测量方案,测量后果都有十分密切的关系。

因此,频率的测量就显得更为重要,而且,目前在电子测量中,频率的测量精确度最高。

由于数字电路的飞速发展和数字集成电路的普及,电子计数器已成为近代测量的重要手段。

它可严格按照式f=N/T所表达的频率的定义进行测频,原理方框图如图1所示。

图1:电子计数器测频原理方框图首先,被测信号通过放大整形,形成幅度一致,形状一致是计数脉冲。

然后,M将它加到闸门的一个输入端,闸门由门控信号来控制其关闭时间。

计得的脉冲送至译码,再送显示器显示出来。

而由晶振产生的1MHz的振荡信号经放大整形,形成方波,经多个10分频10s,1s,0.1s,0.01s,1ms,那么有fx=N/T符合测频定义。

根据f=N/T,不难看出,采用计数器测频的测量误差,一方面决定于闸门时间T准不准确,即由晶振提供的标准频率的准确度ΔT/T=-(Δfo/fo);另一方面决定于计数器计得的数准不准,即“±1误差”,ΔN/N=±1/N=±(1/T*fx)。

所以,计数器直接测频的误差主要有两项,即±1误差和标准频率误差。

测低频时,由于±1误差产生的测频误差大得惊人,所以不宜采用直接测频方法。

由于fx 较低时,利用计数器直接测频,由±1误差所引起的测频误差将会大的不可允许的程度。

所以,为了提高测量低频时的准确度,即减少±1误差的影响,可改成先测周期Tx,然后计算fx=1/Tx。

测量原理:首先Tx经放大整形控制双稳态触发器形成门控信号,控制闸门的开闭;然后晶振产生的1MHz的振荡信号,经放大整形形成方波,产生幅度一致,形状一致是计数脉冲。

当闸门打开时,对计数脉冲进行计数;闸门关闭时,停止计数。

计得的脉冲送译码,送显示。

图2:电子计数器测周期原理图8XX51单片机的定时器T1由TH1,TL1组成,定时器T0由TH0,TL0组成。

51单片机测量频率的方法

51单片机测量频率的方法

51单片机测量频率的方法2012-12-10 11:1151单片机的测量频率方法有很多,这里谈的是,将被测量信号经过整形后转换成方波信号,利用单片机查询两个上升沿,在此期间根据晶体振荡器产生的周期为 Tc的脉冲送计数器进行计数,设计数值为N,则得被测量信号的周期值Tx=Tc×N,然后取其倒数即为被测量信号的频率。

当然如果利用单片机的捕捉功能,实现起来可能程序更加简练。

下面频率测量计数波形示意图程序代码如下/*-------------------------------------测量周期法的基本原理:在被测信号T内,对某一基准时间进行计数,基准时间与计数值的乘积便是被测周期. ---------------------------------------*/#include"at89x51.h"#define uint unsigned intuint count, period;bit rflag = 0; //设置周期标志void control(void){TMOD = 0x09; //T/C0为方式1,INT0 为1是启动定时器IT0 = 1; //脉冲方式(后沿负跳有效)进入中断TH0 = 0;TL0 = 0;P1_0 = 0; P1_0 = 1; //触发器清零TR0 = 1; //启动T/C0EX0 = 1; //只开外部中断1EA = 1; //开总中断}void INT_0(void) interrupt 0 using 1 //INTO中断服务{EA = 0;TR0 = 0;count = TL0 + TH0 * 256;//取计数值rflag = 1; //设标志EA = 1;}main(){control();while(rflag == 0); 、//等待一个周期period = count * 2; //fosc = 6MHz,2us计数增1,周期值单位us }。

等精度测频 (2)

等精度测频 (2)

毕业设计(论文)摘要频率是电子技术领域内的一个基本参数,同时也是一个非常重要的参数。

稳定的时钟在高性能电子系统中有着举足轻重的作用,直接决定系统性能的优劣。

随着电子技术的发展,测频系统使用时钟的提高,测频技术有了相当大的发展,但不管是何种测频方法,士1个计数误差始终是限制测频精度进一步提高的一个重要因素。

本设计采用等精度频率设计原理和8051软核做微处理器。

通过分析士1个计数误差的来源得出了一种新的测频方法:检测被测信号,时基信号的相位,当相位同步时开始计数,相位再次同步时停止计数,通过相位同步来消除计数误差,然后再通过运算得到实际频率的大小。

充分利用8051软核简化外围电路及降低系统设计的复杂度。

采用VHDL语言,成功的编写出了设计程序,并在Qutus II软件环境中,对编写的VHDL程序进行了仿真,得到了很好的效果。

最,给出了较详细的设计方法和完整的程序设计以及调试结果。

关键词:EDA、FPGA、全同步、数字频率计、VHDL语言、8051ABSTRACTFrequency is a basic parameter of elcetornics field,meanwhile,it’saver important Param ete.Stable clock is very important in high electronics syetem.determining the syetem perfermance directly.With the development of technology of electronics,the frequency measurement System using higher clock,the frequency measurement technology has very nice development .In despite of using all other advanced ftequency measurement methods,the Positive and negativel errors was a very important factor that stop frequency measurement precision improving all through. This design uses the design principle and the frequency of such precision 8051 soft nuclear do microprocessors.Through analyzing the origin of the Positive and negative got a new frequency measurement methods: checkingt measured and standard signal’s Phase,if the Phase is synchronous.then the counters start counting when the signal’s Phase is synchronous again. The counters to stopping working by Phase in一Phase to eliminate counting erors,then getting the real frequency through calculating. Make full use of the 8051 soft IP simplified peripheral circuit and reduce the complexity of the system design. the design of complete digital cymometer was successful using VHDL language, successful writing out design program, and in Qutus II software environment ,and procedures obtained good effect. The detail is presented, the design method and program design and commissioning of full results.Keywords:EDA、FPGA、、Complete ln-phase、DigtaICymomcter、VHDL、8051目录摘要..................................................................................................................................... I I ABSTRACT . (III)绪论 (1)第一章系统分析与方案论证 (3)第二章微处理器的简介 (5)2.1 FPGA简介 (5)2.1.1 FPGA的工作原理 (5)2.1.2 FPGA配置模式 (6)2.2 8051单片机IP软核应用系统构建 (7)2.2.1 8051单片机IP软核应用系统构建 (7)2.2.2 K8051单片机软核基本功能和结构 (7)第三章频率计的工作原理 (11)3.1 测频原理介绍 (11)3.2 测周原理 (13)第四章系统硬件的设计与实现 (14)4.1 系统的整体框图 (14)4.2 K8051单片机软核实用系统构建和软件测试 (14)4.3 测频模块的设计及调试 (15)第五章系统软件设计 (22)5.1 系统软件总体设计 (22)5.2 测频及测周程序设计 (22)5.3 显示程序设计 (24)第六章系统整体调试 (25)结束语 (26)致谢 (27)参考文献 (28)附录 (29)附件1.总体硬件图 (29)附件2 单片机控制程序 (30)绪 论随着 数 字 电路应用越来越广泛,传统的通用数字集成电路芯片已经很难满足系统功能的要求,而且随着系统复杂程度的不断增加,所需通用集成电路的数量呈爆炸性增长,使得电路板的体积迅速膨胀,系统可靠性难以保证。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PIC单片机等精度测量频率法
单片机测量频率,是一个比较常见但又不好解决的问题。

主要是测量频率是高端和低端不能兼顾的问题。

测量频率无非两种方法:
1.在一段固定的时间及脉冲的个数,然后除时间得到频率。

2.测量脉宽计算频率。

第一种方法,适合测频率在1KHz以上的脉冲信号。

因为要保证测量精度在0.1%,至少要保证脉冲个数在1000个,假设测10HZ左右的信号,则一个测试周期需要100秒,这显然不是我们所能接受的。

第二种方法,适合测频率小于1KHz的信号。

因为要保证测量精度在0.1%,在一个脉冲宽度(1ms)内,作为时标的定时器至少要走1000个数(此时PIC 的晶振理论上至少也要4MHz)。

事实上,想利用上述两种方法精确测量宽范围的频率,几乎是不可能的。

PIC系列特有的平级中断,也使其测量频率比51系列测量困难。

等精度数字测频基本框图
等精度数字测频基本框图如下
fx
图中的闸门G1、G2分别用来控制输入信号周期计数和闸门时间宽度计时。

其中,G1与输入信号同步,这样可使计数器N1的量化误差dN1=0。

计数器N2对标准时标信号Tc进行计数,并以此来测量实际的闸门宽度Tg,则输入信号的频率可表示为:
fx=N1/Tg=N1/(Tc*N2)
标准时标信号采用单片机自身的工作时钟,可看作常数。

因此fx的相对误差为:
dfx/fx=dN1/N1-dN2/N2=-dN2/N2
式中,dN2为计数器N2产生的量化误差,最大为±1个Tc,在实际设计中,选择适当的时标Tc和闸门宽度Tg可是N2始终足够大,以次在fx的全频段范围内得到足够高的精度。

等精度测量法的实质就是一种变相的测脉宽法。

在实际使用时(PIC为例),可将Timer0作计数器N1,Timer1作计数器N2,
外部中断INT0同T0连在一起,作为Tg信号,如图:
fx T0
INT0
PIC
首先打开INT中断,允许Timer0计数,当一个fx的上升沿来临时,触发INT中断。

在INT中断中,打开Timer1计数器,同时禁止INT中断。

延时0.5秒,打开INT中断,当INT中断再次发生后,关闭Timer1、Timer0计数器。

此时的频率为:
fx =fc* N1/N2
式中,fc为PIC的工作时钟,当时用4HMz晶体时,fc=1MHz。

相关文档
最新文档