微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一款基于单片机的基2同步数据采集系统设计

一款基于单片机的基2同步数据采集系统设计

时间:05-26 来源:互联网 点击:

摘要:介绍了一款基于单片机的倍频电路。该电路能够实现对准周期信号的整周期同步采样,具有倍频精度高、跟踪速度快、能对准周期信号进行预测和补偿等特点;同时介绍了一种周期预测的方法和原理以及基于PC总线实现准周期信号的同步数据采集系统。 关键词:准周期信号 整周期采样 单片机 预测 数据采集及其傅立叶分析是信号处理的重要环节和基本手段。众所周知,利用FFT技术对信号进行频谱分析时,其精度受谱泄漏和栅栏效应等因素的制约。理论研究和实验均表明:对周期或准周期信号实行按基频整周期同步采集2n个数据,即整周期基2同步采样,可以减小傅立叶分析中的固有误差——谱泄漏和栅栏效应 [1]。 对周期信号,通常可采用由锁相环和分频器组成的锁相倍频电路[2],实现对信号的整周期基2同步采样。但对周期缓慢变化的准周期信号,要实现整周期基2同步采样,则非易事。一文提出一款基于单片机周期预测和补偿,从而实现对准周期信号整周期基2号同步采样的倍频电路。该电路倍频精度高、跟踪速度快,能对准周期信号进行预测和补偿,在信号处理和数据采集领域有较好的应用前景。最后给出了基于PC总线实现同步要样的数据采集系统。

1 准周期信号基2倍频电路的实现 1.1 准周期信号基2倍频原理 设待采集的准周期信号的频率为fx,周期Tx。为了实现对输入信号的整周期同步采样,要求对输入信号N倍频,即产生一个频率为Nfx的A/D采样脉冲。又设某基准时钟脉冲信号的频率为fo(fo>>fx),周期为To,对fo进行M分频后,使其恰好等于输入待采集周期信号频率fx的N倍,即: Nfx=(f0)/M (1) 或 Tx=M%26;#183;NT0=N%26;#183;MT0 (2) 为了实现基2同步采样,通常取: N=2 n (3) 式(3)中n=4,5,...8。显然,当n的位数确定后,改变M,使M随Tx的变化而变化,就能保证整周期基2同步采样。 1.2 准周期信号基2倍频电路的硬件实现 为了保证对准周期信号基2整周期同步采样有较高的精度,笔者提出一款基于双单片机的基2倍频电路如图1所示。它由过零比较器、二分频器、单片机和或门组成,其中单片机选用AT89C2051,外部晶振频率为12MHz,内部计数频率fo为1MHz,输入信号fx经整形和二分频后直接与两单片机的外中断 INT0和INT1相连。图1中A、B、C、D、E、F、G各点波形如图2所示。

其工作原理是:在信号的奇周期Tx1期间,单片机(1)定时器To由输入信号Tx1的上升沿启动,并对Tx1填脉冲计数,Tx1的下降沿关闭定时器To; 借助单片机的运算功能,确定M值,并利用定时器T1产生频率为Nfx的输出脉冲信号。定时器To设为内部计数形式,工作方式1(16位计数,初值为 0),GATE位为1,利用外部中断INT0引脚上的电平Tx1,直接启动和关才计数器。其计数结果是16位二进制数HL,其中高位为H,低位为L值。 当输入信号频率较低时,计数器T0会溢出触发中断,在中断服务程序中使用单片机内部寄存器(R4)记灵中断次数,以扩展计数范围。利用外部中断INT0引脚上Tx1电平的下降沿产生中断,读取T0的计数值HL和R4的值。通常(3)式中的n可根据输入信号的频率,智能地选取4到8位的二进制数,(2)式中的M值由下式给出: M=R4HL N (4) 显然M为16位二进制数,因此设置定时器T1为内部计数方式,GATE位为1。当输入信号频率较高时,选工作方式2(8们,初值自动重装载);当输入信号频率较低时,选工作方式1(16位)。定时器T1的初值取决于上一奇周期期间测得的M值,当计数溢出中断时,在中断服务程序中使PLO输出电平翻转,即获得fx的N倍频的方波信号。

同理,可实现单片机(2)在偶周期Tx2期间,输出N倍频的方波信号。可见当输入单片机的外部信号?x每产生一个周期脉冲,在其输出端就会有N个输出脉冲,用输出脉冲去触发A/D板卡采集,即实现了N倍频的整周期采样。 1.3 准周期信号的周期预测 上述方法实现整周期采样时,是把这一周的周期值作为下一周的周期来计算采样脉冲输出频率的。对周期性信号,周期固定不会影响结果;但对准周期信号,周期是渐变的,会带来较大的误差。为了减少或补偿这种误差,本设计借助单片机的运算和数据处理功能,分别对下一周期进行周期预测。即利用前m个周期的T值,对下一个周期作出预测,再以预测的M来设置定时器T1的初值。用拉格朗日线性插值法可预测周期[3],如图3所示。提取最近两周的周期值,推算下一周的周期值。 图3中Tj为第j周终了时刻测得的周期值,Tj-1为第j-1周终了时刻测得的周期值,Tj+1为要预估的下一周终了时刻的周期值,则可得预估公式: Tj+1=2Tj-Tj-1=Tj%26;#177;ΔTj (

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top