基于DSP的频率采集计算方法

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:Gaosboy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:嵌入式系统中,频率采集是一个非常重要和普遍的功能,信号采集的精确性和可靠性对系统应用至关重要。该文针对基于DSP的频率捕获单元,通过数频,计算和滤波,提出了一种通用的计算方法。并通过实际激励信号,进行测试和验证,结果表明该频率计算方法有效,测量精度高。
  关键词:频率;DSP;捕获单元
  中图分类号:TP391 文献标识码:A
  文章编号:1009-3044(2019)12-0276-02
  开放科学(资源服务)标识码(OSID):
  Calculating Methods of Frequency Based on DSP
  WANG Jiao, REN Xiao-kun
  (AVIC ACTRI,Xi’an 710065, China)
  Abstract: In an embedded system, Frequency acquisition is a very important and universal feature. The accuracy and reliability of signal acquisition is critical to system applications This article is for DSP based frequency capture unit.it Proposed ageneral calculation method by calculation and filtering. This method was tested and verified by actual excitation signal. The result show that the frequency calculation method is effective and accurately.
  Key words: frequency; dsp; capture unit
  1 背景
  当今时代,嵌入式系统已无所不在。从早期的汽车工业,国防工业,通信设备,工业控制,医疗器械等领域已很快扩展到与人们日常生活密切相关的电子产品中。以DSP为核心的嵌入式系统更是成为现代人生活的一部分。在这种以微处理器为硬件平台的系统中,频率采集是系统应用中非常常见的一种需求。而由于DSP的型号种类繁多,外部设备激励也千差万别。因此,提出一种通用,精度高的频率采集方法。该方法通过DSP的捕获单元获得时间值,并经过软件采频算法计算出最终频率值。
  2 频率捕获单元设计原理
  DSP的捕获单元是挂在内部事件管理器EV下,EV具有自己通用定时器,捕获单元通过获取外部输入脉冲波形的上升沿或者下降沿,统计脉冲的间隔,,以及脉冲的个数。图1为EVA组成框图。
  2.1 通用定时器配置
  通用定时器的数值根据外部晶振,PLL寄存器,高速预定标寄存器,以及TPS因子设置而来,如图2所示。
  其中,
  SYSCLKOUT=OSCCLK(m=0)
  SYSCLKOUT=OSCCLK*m/2(m[≠]0)
  HSPCLK= SYSCLKOUT(n=0)
  HSPCLK= SYSCLKOUT/2n(n[≠]0)
  TCLK= HSPCLK/[2p]
  2.2 捕獲单元
  捕获单元能够捕获外部输入引脚的电平变化,其原理图如图3所示:
  每个捕获单元都有一个捕获引脚,当捕获引脚输入脉冲波形时,捕获单元就能够捕获指定的电平变化,当捕获到脉冲指定的电平变化时,捕获单元就记录下定时器的时间。捕获到第一个脉冲时定时器的时间为[tk-1],捕获到第2个脉冲定时器的时间为[tk],那么脉冲的宽度就为[tk]-[tk-1]。由此便可计算出频率值。
  3 数频计算设计
  本文中使用TMS2812,在CCS中进行DSP的初始化和数频计算,其中设置参
  数如表1所示:
  软件算法中每50ms计算一次频率值,每个周期中最大收取20次脉冲时间值,达到20次后,关中断。不再进行脉冲时间的收集。每50ms将收集到的脉冲时间值存入FIFO中,并记录收集到的中断次数。由于时间是累加增长的,所以通过前后两次的时间差和脉冲次数便可计算出频率值,考虑到计时器有可能翻转的情况,当前后脉冲时间差值为负数时,加上计数器翻转一圈的最大值。代码实现如下:
  IF FREQCOUT11>=20 THEN
  For(i=0;i<19;i )
  {
  IF 后一次采集值<=前一次采集值 THEN
  (JZ*PLL*HSPCLK*TCLK*1000)/(后一次采集值 0xffff—前一次采集值)
  ELSE
  (JZ*PLL*HSPCLK*TCLK*1000)/(后一次采集值—前一次采集值)
  END IF
  }
  频率滤波(19)
  ELSE
  IF FREQCOUT11==0 THEN
  频率=0
  ELSE IF FREQCOUT11==1 THEN
  频率=10
  ELSE
  For(i=0;i< FREQCOUT11-1;i )
  {
  IF 后一次采集值<=前一次采集值 THEN
  (JZ*PLL*HSPCLK*TCLK*1000)/(后一次采集值 0xffff—前一次采集值)
  ELSE
  (JZ*PLL*HSPCLK*TCLK*1000)/(后一次采集值—前一次采集值)
  END IF
  }
  频率滤波(FREQCOUT11-1)
  4 测试结果分析
  使用频率发生器,实际测量结果如表2所示,当频率低于10Hz时,采集频率均为0,该数据是因为采集周期为50ms,时间过短原因,实际使用中,如果对于低频信号有系统需求,可加长采集周期时间。当高于10Hz时,采集精度误差小于1%,符合预期要求。
  参考文献:
  [1] 梁波. 飞机电动静液防滑刹车系统额仿真研究[D]. 西安: 西北工业大学, 2009.
  [2] 范启亮. 一种简易数字频率计的设计与实现[J]. 科技风, 2014(20).
  [3] 白勇. 基于FPGA的飞机轮速测量系统设计[J]. 微处理机, 2011, 32(3): 16-19.
  [4] 陈勇, 洪传文. 基于LabVIEW 的水轮机振动信号采集与处理[J]. 水电与新能源, 2010(5): 27-29.
  [5] 葛君, 王旭柱. 基于TMS320C6713B 的实时数据采集与处理系统[J]. 微计算机信息, 2010, 26(12): 111-113.
  【通联编辑:谢媛媛】
其他文献
摘要:为了对宁波地区城市化进程中的热岛效应进行研究,利用Landsat数据对宁波市的地表温度进行计算,然后分析宁波地区地表温度变化及其与土地利用类型的关系。分析结果表明:1995-2015年宁波地区老城区等城市中心有着明显的城市热岛效应现象。且随着宁波市中心到城市边缘距离的增加,地表温度明显减少。对NDBI、NDVI与LST进行相关性分析可知,NDVI与LST间存在显著负相关关系,NDBI与LST
提高时空信息的查询效率可有效提高时空信息的价值。已有的时空查询方法在构造本体时只构造了时间本体,忽略了时间区间本体的构造,因此导致该方法在查询某段时间的时空信息时效率有待提高,该文在该方法的基础上,增加时间区间本体的构造过程,通过对比可知该文方法在一定程度上减少查询次数,从而提高查询效率。