新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于DSP的简易数字频率计

基于DSP的简易数字频率计

作者:姜鹏 胡俊 王文静 徐科军 合肥工业大学电气与自动化工程学院(安徽合肥 230009)时间:2008-08-15来源:电子产品世界收藏

摘要: 采用12 芯片为控制单元,在无需任何门控器件控制的情况下,利用 2812丰富的软件资源实现了。根据每个门闸时间内高频标准脉冲的个数与已知被测信号的个数,求得被测信号频率,再通过多次平均得到最终结果。

关键词: 

本文引用地址:http://www.eepw.com.cn/article/87009.htm

  * 本作品获得2008年德州仪器(TI) C2000 DSP大奖赛命题组一等奖,并得到合肥工业大学2008年大学生创新性实验计划项目的资助

作品的意义与概况

  随着微电子技术和计算机技术的飞速发展, 各种电子测量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化, 特别是DSP技术诞生以后,电子测量技术更是迈进了一个全新的时代。近年来,DSP逐渐成为各种电子器件的基础器件,逐渐成为21世纪最具发展潜力的朝阳行业,甚至被誉为信息化数字化时代革命旗手。在电子测量技术中,频率是最基本的参数之一,它与许多电参量和非电量的测量都有着十分密切的关系。例如,许多传感器就是将一些非电量转换成频率来进行测量的,因此频率的测量就显得更为重要。是用数字来显示被测信号频率的仪器,被测信号可以是正弦波、方波或其它周期性变化的信号。

  广泛采用了高速集成电路和大规模集成电路,使得仪器的体积更小、耗电更少、精度和可靠性更高。而传统的频率计测量误差较大,范围也较窄,因此逐渐被新型的数字频率计所代替。基于DSP的等精度频率计以其测量准确、精度高、方便、价格便宜等优势将得到广泛的应用。

  我们设计的简易数字频率计在未采用任何门控器件控制的情况下,在很宽的范围内实现了等精度频率测量,0.5Hz~10MHz的范围内测量方波的最大相对误差小于2e-6,测量正弦波的最大相对误差小于3.5e-5;结果通过RS232通讯显示在计算机上,可以很方便地监测数据。

方案设计

  总体介绍
  传统的等精度测频法使用门控器件产生门控信号,从而实现实际门闸信号与被测信号同步,消除对被测信号计数产生的一个脉冲的误差,其原理图如图1所示。



图1 传统的原理

  由硬件控制计数的门闸时间,当预置们信号(即定闸门信号)为高电平时,基准信号计数器CNT1和被测信号计数器CNT2并不启动,而是等被测信号的上升沿来到时才同时开始计数;当预置们信号为低电平时,两个计数器并不马上关闭,同样要等到被测信号上升沿来到后再关闭;于是,实际闸门时间就是被测信号周期的整数倍,从而实现了闸门与被测信号的同步。但是,实际的门闸时间并不固定,与被测信号的频率有关。此外,无论是采用计数器还是单片机,在实现等精度测量时总是离不开门控器件。

  本设计基于DSP丰富的软件资源,经过判断和处理,完成了对被测信号频率的等精度测量。硬件上无需任何门控器件,简化了电路。系统框图如图2所示,信号处理部分以12 DSP芯片作为控制和测量的核心;信号调理部分主要是完成对信号的放大、整形和限幅;标准频率信号由30MHz有源晶振产生,作为高频标准填充脉冲;通过DSP的SCI模块与上位机实现通信,结果显示在上位机上。



图2 系统框图

  频率/周期测量
  在对被测信号频率和周期的测量中,等精度测量是基于DSP比较匹配时T1PWM引脚输出电平的跳变作为门闸信号的开启和关闭,由于比较匹配发生在被测信号的上升沿,从而实现了门闸时间与被测信号的同步。原理图如图3所示。



图3 本等精度频率测量原理

  通用定时器T1时钟输入选择外部定时器时钟,此处用调理后的被测信号作为定时器T1的时钟输入,定时器T2时钟输入选择内部CPU时钟,用来产生高频标准填充脉冲。F2812片上EVA中通用定时器T1在发生比较匹配事件时,其比较输出引脚T1CMP输出信号会自动改变电平状态,产生PWM波。捕获单元CAP1设置为上升沿捕获,T1PWM输出的PWM波上升沿被CAP1捕获到,读取此时定时器T2的计数值,同理在下一次比较匹配时再次读取定时器T2的计数值。通过两次T2CNT值的相减,即可获得该门闸时间内标准填充脉冲的个数,然后求出被测信号频率。

  基于DSP比较匹配时T1PWM引脚输出电平的跳变作为门闸信号的开启和关闭,由于比较匹配发生在被测信号的上升沿,从而实现了门闸时间与被测信号的同步。两个相邻的比较匹配产生的PWM波的上升沿分别作为门闸信号的开启和关闭信号,其中被测信号的个数为整数,并且是由我们自己任意设定的。定时器T2时钟输入选择内部CPU时钟,用来产生标准填充脉冲。设定捕获单元CAP1为上升沿捕获,当其捕获到上升沿时读取堆栈CAPFIFO内的值,在下一次捕获到时再读堆栈内的值,计算出标准填充脉冲的个数Ny,保证Ny的个数不小于一定的值,即可保证门闸时间大于一定的值。假设现在希望一个门闸时间内高频填充脉冲的总数不小于n,当Ny>n时,就增大定时器T1的定时周期,即增大定时器T1周期寄存器TIPR的值。存在公式T1PR+1=n/Ny,由于n/Ny不一定为整数,假a<n/Ny<a+1(a为整数),则取n/Ny=a+1,表现在被测信号上,则与传统的用硬件控制一样,用下一个被测信号的上升沿作为门闸信号的关闭信号,只不过该上升沿发生在下一次的比较匹配时。然后,再在该门闸时间内读取高频填充脉冲的个数,有Ny≥n,从而得出高精度的被测信号频率。在本设计中,定时器T1并不关闭,前一门闸时间的关闭信号同时作为下一门闸信号的开启信号。

  周期测量与频率测量的基本原理完全相同,测出信号频率,根据公T=1/f即可得出被测信号的周期。

  误差分析
  定时器T1计数的启停时间都是由该信号的上升沿触发的,在一次测量时间内对被测信号的计数无误差;在此时间内标准频率脉冲的计数个数Ny,最多相差一个脉冲,故理论误差为:

  |d|≤1/Ny

  显然,测量精度仅仅与Ny有关,只要Ny值足够大,就能保证精度。

脉冲点火器相关文章:脉冲点火器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭