首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于TMS320F2812事件管理器的一种测频方法
来源:本站整理  作者:佚名  2009-03-31 16:45:50



   进入捕获中断子程序时,保护现场后首先清CAP1中断标志位,从2级深度FIFO中依次读出两次捕获的计数值capnum1和capnum2。如果capnum2大于capnum1,则直接相减,之差即为在被测频率的一个周波内记的定时器T1脉冲数t。若capnum2小于capnum1,则说明在计数过程中有计数溢出,即计数到周期寄存器T1PR内写入的0xFFFF后回零重新计数,因此在求脉冲数t时要在capnum2与capnum1之差上加上0xFFFF。被测的信号频率:f = 时基T1的频率/ t,这里时基T1的频率为时钟主频除以分频系数,即fT1=150M/64,因此所测频率f=150M/64t。下面为捕获中断子程序。

unsigned  int capnum1;

unsigned  int capnum2;

float f;

  float pinlvf[5];

  int fnum=0;

 interrupt void CAPINT1_ISR(void)    // EV-A捕获中断子程序

{

unsigned int temp;

       EvaRegs.EVAIFRC.bit.CAP1INT=1;// 清捕获中断1标志位

       capnum1=EvaRegs.CAP1FIFO;

       capnum2=EvaRegs.CAP1FIFO;

       if(capnum2 > capnum1)

              temp = capnum2-capnum1;

       else

              temp = capnum2+(0xFFFF-capnum1);

       pinlvf[fnum++] =temp;

       if(fnum>4) fnum=0;//取5个数值后回零

       f= 2343750.0/(float)temp;//f= 150M/64/temp

       PieCtrl.PIEACK.bit.ACK3 = 1;//开外设中断应答

}

结语

本文给出了基于DSP芯片TMS320F2812的一种测频方法,主要利用了其自带的片内外设事件管理器的捕获功能。方法简单,实时性好,所测频率精度达到10-3,完全能够满足电力系统中经常要用到的测频精度。并已在电网自动化FTU上应用,有较大的实用价值。

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:111,429.70000 毫秒