当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于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上应用,有较大的实用价值。

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

东京2024年5月16日 /美通社/ -- 全球领先的工程热塑性塑料供应商宝理塑料株式会社(Polyplastics Co., Ltd.)宣布推出了新一代聚苯硫醚(PPS)等级。该等级显著提升了抗热冲击性,且在消费后回收...

关键字: PS IDE EV 组件

Clever.AI 将助力品牌将转化率提升 66%,运营效率提升 35% 旧金山和印度孟买2024年5月6日 /美通社/ -- 领先的一体化客户参与和留存平台之一 Clev...

关键字: EV 人工智能 智能驱动 AI

Holtek新推出BS67F2432具备触控按键、高精准度HIRC与LCD驱动器Flash MCU。主要特色为内建高精准度4MHz HIRC振荡电路、8路触控按键及最大支持4COM×15SEG LCD驱动器。适用于触控接...

关键字: MCU LCD驱动器 定时器

Holtek持续扩展Touch A/D Flash MCU产品,新增系列成员BS86C12CA,延续优良抗干扰特性,提供丰富的定时器资源并支持LXT振荡器。引脚与BS86C08C及BS86D12C相容,具高性价比,适合需...

关键字: MCU LXT振荡器 定时器

采用MCU(微控制器单元)模块实现定时器的设计是通过利用MCU内部的定时器/计数器资源来实现的。定时器是MCU中的一个重要功能模块,它可以在特定的时间间隔内执行特定的操作,如产生中断、更新定时器值、触发其他设备等。

关键字: mcu模块 定时器

单片机的外设是指与单片机核心处理部分相连的附加硬件模块,它们能够扩展单片机的功能和能力。这些外设包括各种模块和接口,用于处理特定的任务或实现特定的功能。

关键字: 单片机 定时器

——该收购旨在进一步扩大神经调控产品组合,为慢性腰疼患者提供更多治疗解决方案 马萨诸塞州马尔伯勒2023年9月20日 /美通社/ -- 波士顿科学公司(纽约证券交易所代码:BSX)宣布现已签订Relievant Med...

关键字: SYSTEMS 医疗技术 EV AN

上海2023年8月31日 /美通社/ -- 从《数据安全法》、《个人信息保护法》颁布实施以来,相关配套的法律、法规不断明确并细化要求,2023年6月又实施了《个人信息出境标准合同办法》。数据跨境合规已成为跨国药企目前纷纷...

关键字: 研讨会 EV CHINA 亚马逊

上海2023年8月24日 /美通社/ -- 云顶新耀(HKEX 1952.HK),一家专注于创新药及疫苗开发、制造及商业化的生物制药公司,今日公布2023年度中期业绩报告(截至2023年6月30日)及业务进展。...

关键字: BSP NDA EV 新加坡

(全球TMT2023年8月18日讯)人工智能驱动的全球企业云通信、视频会议、协作和联络中心解决方案供应商RingCentral,Inc宣布收购Hopin的部分资产。Hopin是一家领先的在线观众参与技术提供商,这次所收...

关键字: CENTRAL PI SESSION EV
关闭
关闭