MSP430在频率测量系统中的应用

2019-08-02 15:45发布

 1 概述
  在通信系统中,频率测量具有重要地位。近几年来频率测量技术所覆盖的领域越来越广泛,测量精度越来越高,与不同学科的联系也越来越密切。与频率测量技术紧密相连的领域有通信、导航、空间科学、仪器仪表、材料科学、计量技术、电子技术、天文学、物理学和生物化学等。
  频率测量一般都是由计数器和定时器完成,将两个定时/计数器一个设置为定时器,另一个设置为计数器,定时时间到后产生中断,在中断服务程序中处理结果,求出频率。这种方法虽然测量范围较宽,但由于存在软件延时,尽管在高频段能达到较高的精度,而低频段的测量精度较低。所以利用单片机测频时,如果选择不好的测量方法,可能会引起很大的误差。测量频率时如果不是真正依靠硬件控制计数或定时,而是由软件查询或中断响应后再停止计数,虽然理论上能达到很高的精度,但实际测量中由于单片机响应有一定的时间延迟,难以做到精确测量。本系统设计以MSP4130单片机为核心,在软件编程中采用C430语言,采用硬件逻辑和软件指令相结合的方法,取代单纯用软件指令控制闸门,使闸门的开启与计数同步。这种测量方法保证了测量误差与被测频率无关,实现了高低频段的等精度测量。
  2 工



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
1988020566
1楼-- · 2019-08-02 16:37
  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分频,使设计电路简单,并且能达到测量要求。
1988020566
2楼-- · 2019-08-02 21:18
 精彩回答 2  元偷偷看……
1988020566
3楼-- · 2019-08-03 03:16
 2.3 寄存器设置

  定时器基本操作的控制包含在定时器控制寄存器TACTL和TBCTL中,因此在利用定时器Timer_A和Timer_B计数之前,必须根据需要设置TACTL和TBCTL,其中SSEL1和SSEL0选择定时器输入分频器的时钟源,ID1和IDO选择输入的分频系数,MC1和MC0位选择计数模式。TACTL和TBCTL的设置如表1所列。
1988020566
4楼-- · 2019-08-03 03:27
3 等精度测量的实现
  N1和N0分别为计数器Timer_A和Timer_B记得的数值,F0为标准晶体的频率,Fx为待测信号的频率,T闸门时间,则:




1988020566
5楼-- · 2019-08-03 05:34
 由于计数器A的计数脉冲与闸门同步,因而不存在±1的误差。对于标频计数器B,由于门控启闭的随机性以及T/TC(TC为标频信号的周期)之比为非整数,时间零头无法计入,故存在±1的误差。对(3)式求导,则


  故精度为:


  由(6)式可知,测得的精度与被测信号无关,仅与标准信号和闸门时间有关,故可实现测量范围内的等精度测量。而且闸门时间越长,标准频率越高,精度也就越高。标准频率可由稳定度好,精度高的高频率晶体振荡器产生,在保证测量精度不变的前提下,提高标准信号频率,可使闸门宽度缩短,即可提高测试速度。
1988020566
6楼-- · 2019-08-03 07:15
 误差来源:
  (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所列。

一周热门 更多>