找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] MSP430在频率测量系统中的应用

[复制链接]
admin 发表于 2013-3-26 05:38:33 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  1 概述
     在通信系统中,频率测量具有重要地位。近几年来频率测量技术所覆盖的领域越来越广泛,测量精度越来越高,与不同学科的联系也越来越密切。与频率测量技术紧密相连的领域有通信、导航、空间科学、仪器仪表、材料科学、计量技术、电子技术、天文学、物理学和生物化学等。
     频率测量一般都是由计数器和定时器完成,将两个定时/计数器一个设置为定时器,另一个设置为计数器,定时时间到后产生中断,在中断服务程序中处理结果,求出频率。这种方法虽然测量范围较宽,但由于存在软件延时,尽管在高频段能达到较高的精度,而低频段的测量精度较低。所以利用单片机测频时,如果选择不好的测量方法,可能会引起很大的误差。测量频率时如果不是真正依靠硬件控制计数或定时,而是由软件查询或中断响应后再停止计数,虽然理论上能达到很高的精度,但实际测量中由于单片机响应有一定的时间延迟,难以做到精确测量。本系统设计以MSP4130单片机为核心,在软件编程中采用C430语言,采用硬件逻辑和软件指令相结合的方法,取代单纯用软件指令控制闸门,使闸门的开启与计数同步。这种测量方法保证了测量误差与被测频率无关,实现了高低频段的等精度测量。
     2 工     
   作原理
   
     频率是微波仪器的重要参数。微波频率测量是检测仪器是否正常运行的有效手段,而提高频率测量精度是微波频率测量可靠性的保证。
     本频率计主要是针对微波微扰法单腔测湿系统而设计的,频率测量范围由微扰测湿系统的混频器输出范围确定。
     整个测湿系统如图1所示,在没有湿蒸汽流过谐振腔时,其谐振频率为9.6 GHz,此频率较高,一般不能直接测量,而是采用混频的方法。输入压控振荡器(VCO)的电压范围为0 V~10 V,其工作特点是电压每变换1 V,将产生1 MHz的频偏,调整VCO的中心频率为9.6 GHz,则压控振荡器VCO的输出频率范围为9 600 GHz~9 610 GHz。再设置本地振荡器频率为9.6 GHz,经混频后对0 MHz~10MHz的差频信号进行实时测量。因此,频率计的频率范围为0 MHz~10 MHz。
   
     2.1 频率计原理
     等精度频率计的硬件逻辑原理图如图2所示,主要由MSP430单片机、标准晶振、1个D触发器、2个与非门、复位电路、显示电路等组成。其中MSP430单片机是由德州仪器公司推出的16位超低功耗高性能产品,它内部具有丰富的定时资源,内含看门狗定时器(WDT)和基本定时器,定时器A(Timer_A)和定时器B(Timer_B)结构基本相同,都是16位定时器。本设计选用定时器A和定时器B分别对待测频率FX和标准频率F0计数,在预定的闸门时间内,如果计数器A的计数值为N1,计数器B的计数值为N0,则待测频率为:
    2012110704563355197306.jpg
     为了减少误差,应确保闸门的开启和关闭与待测信号同步。单片机的标准频率为8 MHz,其计数最高可达到8 MHz,(一个时钟周期可以执行一条指令,传统的MCS51单片机需要12个时钟周期才可执行一条指令),而测量范围是0 MHz~10 MHz,故计数时需要先对计数器分频,MSP430系列单片机内部定时器Timer_ A和Timer_ B自带分频器,可以对所测频率进行1、2、4、8分频,使设计电路简单,并且能达到测量要求。
     2.2 系统工作原理
     为了实现高精度、等精度的双计数频率测量,计数相关器是关键,所谓计数相关器就是使门信号和待测信号同步。当按下S1、S2、S3三个按键中的任一按键时,与门U1(图2中未给出)输出0信号使D触发器清零,Q端输出0信号使与非门U2和U3封锁。与此同时,软件指令设置TACTL和TBCTL使定时器A和定时器B清零,做好计数准备。单片机的P5.1口和D触发器的D端相连.在计数前P5.1口输出始终为零,这样计数信号不能通过与非门到达计数器,然后用软件指令向P5.1口写入信号1,当被测信号Fx的第一个上升沿到达时,与非门U2和U3开启,标准信号和待测信号同时计数。当计数满时,TBIFG1置位,产生中断,在中断服务程序中对P5.1口写入“0”信号,做好关闭闸门的准备,但这时闸门并没有真正关闭,等待被测信号的上升沿到来,闸门关闭,停止计数。由此可知,在整个计数过程中,从闸门开启到闸门关闭,实际闸门开启时间是被测信号计数周期的整数倍,避免了由于非整数周期造成的误差,实现了闸门开启和关闭与待测信号的同步。由于计数器Timer_B至少产生一次中断才能关闭闸门,理论上在此期间基准脉冲数为NB=8×65 536(8为计数器Timer_B的分频系数)。图3是等精度实现原理图。
    2012110704563358322307.jpg
     2.3 寄存器设置
     定时器基本操作的控制包含在定时器控制寄存器TACTL和TBCTL中,因此在利用定时器Timer_A和Timer_B计数之前,必须根据需要设置TACTL和TBCTL,其中SSEL1和SSEL0选择定时器输入分频器的时钟源,ID1和IDO选择输入的分频系数,MC1和MC0位选择计数模式。TACTL和TBCTL的设置如表1所列。
  
     3 等精度测量的实现
     N1和N0分别为计数器Timer_A和Timer_B记得的数值,F0为标准晶体的频率,Fx为待测信号的频率,T闸门时间,则:
    2012110704563359884308.jpg
   
     由于计数器A的计数脉冲与闸门同步,因而不存在±1的误差。对于标频计数器B,由于门控启闭的随机性以及T/TC(TC为标频信号的周期)之比为非整数,时间零头无法计入,故存在±1的误差。对(3)式求导,则
    2012110704563363009309.jpg
     故精度为:
   
     由(6)式可知,测得的精度与被测信号无关,仅与标准信号和闸门时间有关,故可实现测量范围内的等精度测量。而且闸门时间越长,标准频率越高,精度也就越高。标准频率可由稳定度好,精度高的高频率晶体振荡器产生,在保证测量精度不变的前提下,提高标准信号频率,可使闸门宽度缩短,即可提高测试速度。
     误差来源:
     (1) 实际闸门对标准频率的随机性导致计数值NB的±1误差是主要误差。
     (2) 时钟脉冲产生的标准频率F0的稳定度产生的测量误差。时钟脉冲由晶体振荡器产生。由于目前晶体振荡器主要分为温补晶体振荡器和恒温     
   晶体振荡器两大类,其中,温补晶体振荡器体积小,开机时间短,稳定度一般在10-7数量级以上。而恒温晶体振荡器的稳定度更高,因而相对于量化误差,标准频率误差可以忽略。公式(6)就是在忽略标准频率误差的情况下得到的。由于分频系数为8,则测频精度为1/(8×65 536)=1.907e-6。若要进一步提高频率测量的精度则可以增加分频系数。
   
     4 CPLD设计
     本系统设计采用Altera公司生产的CPLD器件EPM7128实现其中的逻辑部分。用MAXPLUS+11软件工具开发,采用Verilog语言编程。设计输人完成后,进行整体的编译和逻辑仿真,然后进行转换、布局、延时仿真生成配置文件和下载文件,最后下载至EPM7128器件,实现其硬件功能。仿真波形如图4所示,其参数为:beice=8 MHz,biaozhun=50 MHz。结果表明各信号的逻辑功能和时序配合都达到了期望指标。不同被测频率的仿真值如表2所列。
2012110704563366134311.jpg
     5 结束语
     本频率计的设计将MSP430单片机的计数器Timer_A和Timer_B均设置为计数方式,比以往一个定时/计数器作定时器,另一个定时/计数器作计数器的方式计数精度要高,并且测量精度与被测信号无关,实现了0 MHz~10 MHz频率范围内的等精度测量,智能闸门控制方式使测量方便、灵活。本频率测量系统还能实现更高频率测量范围的等精度测量,这时要根据不同测量系统的要求选择24位、32位计数器。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-28 20:47 , Processed in 0.055772 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表