MSP430在频率测量系统中的应用 | ||||||||||
王红云,张淑娥 | ||||||||||
(华北电力大学 信息与通信工程系,河北 保定 071003) | ||||||||||
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,则待测频率为: 为了减少误差,应确保闸门的开启和关闭与待测信号同步。单片机的标准频率为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是等精度实现原理图。 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闸门时间,则: 由于计数器A的计数脉冲与闸门同步,因而不存在±1的误差。对于标频计数器B,由于门控启闭的随机性以及T/TC(TC为标频信号的周期)之比为非整数,时间零头无法计入,故存在±1的误差。对(3)式求导,则: 故精度为: 由(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所列。 5 结束语 本频率计的设计将MSP430单片机的计数器Timer_A和Timer_B均设置为计数方式,比以往一个定时/计数器作定时器,另一个定时/计数器作计数器的方式计数精度要高,并且测量精度与被测信号无关,实现了0 MHz~10 MHz频率范围内的等精度测量,智能闸门控制方式使测量方便、灵活。本频率测量系统还能实现更高频率测量范围的等精度测量,这时要根据不同测量系统的要求选择24位、32位计数器。 | ||||||||||
本文摘自《国外电子元器件》 |
文章评论(0条评论)
登录后参与讨论