当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于TMS320F2812事件管理器的一种测频方法

引言

    频率测量是电力系统测量中一个十分重要的环节。电力系统中采样对测频要求有一定的实时性。电网频率范围在45Hz与55Hz之间,一般在49.5与50.5之间波动。在精度要求不需要特别高的电网频率测量中,本文给出一种基于DSP芯片TMS320F2812的一种简易测频方法。该方法有效利用F2812的片内外设事件管理器(EV)的捕获功能,在被测信号的有效电平跳变沿捕获计数,电路实现多靠软件设置,运算简单,实时性好,精度达10-3,完全能够满足要求。

1 测频原理及常用方法

   测频是电子测量技术中最基本的测量之一,通常采用的直接测频方法有测频法和测周法两种。

   测频法就是在确定的闸门时间Tw内,记录被测信号的变化周期数(或脉冲个数)Nx,则被测信号的频率为:fx=Nx/Tw。测周期法需要有标准信号的频率fs,在待测信号的一个周期Tx内,记录标准频率的周期数Ns,则被测信号的频率为:fx=fs/Ns。这两种方法都会产生±1误差(计数脉冲和门控信号不同步而产生)和标准频率误差(所使用的晶振不稳定引起),且±1误差较标准频率误差更大。为了保证测试精度,一般采用低频端测周高频端测频。电网频率在50Hz左右,采用测周法能达到较高的精度。捕获测频原理波形图见图1。精度更高的等精度测频方法有多周期同步测频法和多周期完全同步测频法。但这两种方法实现都比较复杂,可参看参考文献[5].

2 测频的硬件设计

 

2.1 TMS320F2812芯片简介

   TMS320F2812是TI公司2000系列的新型DSP芯片,具有32位低功耗定点处理器,最高主频150MHz,有强大的操作能力和迅速的中断响应处理能力。片内有18K字高速RAM,128K字的可加密Flash ROM。片上还集成了丰富的片内外设,有SPI、SCI、eCAN和McBSP等多个串口外围设备,16通道的12位模数转换器(ADC),两个事件管理器(EVA,EVB),56个独立的可编程、多用途通用I/O口(GPIO)。该DSP芯片集成了大量工业控制领域应用的外设接口,能大大简化电路设计,同时它也具有足够的处理能力,是应用于控制领域的一款高性能DSP处理器。

 

2.2 事件管理器及其捕获单元

   其片内外设事件管理器含有两个模块EVA和EVB,每个模块都包括2个通用目的(GP)定时器、3个全比较/PWM单元、3个捕捉单元和1个正交编码脉冲电路。事件管理器为用户提供了众多的功能和特点,在运动控制和马达控制中特别有用。图2是捕获单元模块图,标出了一些相应的寄存器设置。

[!--empirenews.page--]

这里利用EV模块的定时器,可以节省一个CPU定时器去处理其他工作。捕获单元捕捉被测信号的有效电平跳变沿,由内部的计数器记录一个周波内标频脉冲个数,并通过相应的运算来得到被测频率的大小。频率测量时应在接入DSP前接一比较电路,将被测信号整形为方波信号后输出到DSP捕获引脚。图3为硬件电路模块图。

捕获单元可以记录捕获单元引脚的变化,用户可以指定诊断变化的方式(上升沿、下降沿或两个边沿)。当捕捉输入引脚CAPx(x=1、2、3属于EVA;x=4、5、6属于EVB)检测到变化时,它将捕捉所选择的GP定时器的当前计数值,并把该计数值存储在两级深度的16位FIFO堆栈中。这里每个捕捉单元都有一个专用的2级深度FIFO堆栈,顶层堆栈由CAPFIFOx组成,底层由CAPxFBOT组成。测频分两次捕捉,第一次捕捉到引脚发生的指定变化时,捕获单元将捕捉所选用计数器的计数值并把该值写入FIFO堆栈的上层寄存器(如果堆栈为空)。如果在第一次捕捉的值读取之前发生第二次捕捉,一个新的捕捉值会被送入底层寄存器。捕获单元捕捉到数值后,相应的中断标志位置1,如果没有屏蔽中断,就会产生外围设备中断请求。这里第一次捕捉屏蔽中断,第二次设置为和第一次捕捉相同的跳变沿捕捉,并开中断。响应中断,就可以通过中断服务程序读出一对捕捉的数值。这样的一对捕捉值正好是一个被测频率周期的两次计数。堆栈中的数值个数可以通过16位的FIFO状态寄存器CAPFIFOA(或CAPFIFOB)检测到。读出堆栈中两次存入的新旧捕获值,就能计算出一个周波内的标频脉冲数,进而得出被测周波的频率。

3 测频软件设计

3.1 事件管理器的初始化

初始化事件管理器时,在EVA的定时器1控制寄存器(T1CON)中设为连续增计数模式,64分频(由于被测的电网频率范围在45Hz-55Hz,而TMS320F2812主频为150MHz,计数器最大计数为0xFFFF,即65535.为使精度最高,选64分频,150M/64/50=46875),并使能定时器T1。通过设置捕获单元控制寄存器A(CAPCONA)的相应位来选用EVA模块的CAP1和GP定时器T1,并设为上升沿捕获。这里选用连续增计数模式,写0xFFFF到周期寄存器T1PR以使两次捕获的计数值之差尽可能大。GP定时器T1根据输入时钟进行增计数直到计数器的计数值与周期寄存器(T1PR)的值相等时为止,在产生匹配后的下一个输入时钟上升沿定时器复位为0并重新开始计数。捕获前要清中断标志位,开捕获中断。初始化子程序下所示。

void InitEv(void)

{

EvaRegs.T1PR = 0xFFFF;        //周期寄存器设为FFFF

       EvaRegs.T1CNT=0;

       EvaRegs.T1CON.all=0;          //定时器控制寄存器

       EvaRegs.T1CON.bit.TMODE=2;    //连续增计数模式

       EvaRegs.T1CON.bit.TPS=5;      //4分频

       EvaRegs.T1CON.bit.TENABLE=1;  //使能定时器

       EvaRegs.CAPCON.all=0;         //捕捉控制寄存器

       EvaRegs.CAPCON.bit.CAPQEPN=1;  //使能捕捉

       EvaRegs.CAPCON.bit.CAP1EDGE=1;    /检测上升沿

       EvaRegs.CAPCON.bit.CAP12TSEL=1;  //选定时器1

       EvaRegs.CAPFIFO.bit.CAP1FIFO=0; //CAP1FIFO空

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

       EvaRegs.EVAIMRC.bit.CAP1INT=1; //捕获1中断使能

}     

3.2 捕获中断子程序[!--empirenews.page--]

   进入捕获中断子程序时,保护现场后首先清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上应用,有较大的实用价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭