基于CS5451A的三相多功能电表设计_第1页
基于CS5451A的三相多功能电表设计_第2页
基于CS5451A的三相多功能电表设计_第3页
基于CS5451A的三相多功能电表设计_第4页
基于CS5451A的三相多功能电表设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于CS5451A的三相多功能电表设计基于CS5451A的三相多功能电表设计随着电子技术的飞速发展,电能表的集成度越来越高,在三相多功能电表市场上,主要有两种架构:1、电能计量芯片加微控制器。2、A/D转换芯片加微处理器。第一种方案成本比较低,功能主要取决于电能芯片,微控制器不能进行复杂的数据处理,所以不具有谐波分析功能。第二种方案可以通过复杂的数据处理,实现非常多的功能。本文主要介绍基于CS5451A+TMS320C2801的三相多功能电表设计。芯片介绍:CS5451A是CirrusLogic公司为能源测量工业设计的高度集成的Delta-Sigma模拟至数字(A/D)转换器。CS5451A在

2、一个芯片上结合了6个Delta-Sigma模数转换器、滤波器和一个与微控制器或DSP相联接的串行接口。CS5451A与一个变流器或可测量电流的分流器和电阻分割器或测量用变压器直接连接。同时该产品已被初始化和功能完全设置,并包括一个电压参考。框图如下。VREFENVRErOUTVIN1-VINZ*VIN2-VIN3*VIN3-JthOrd&rMModulftorDeimati口nFillert4l*iOrderModulatorDecimationFill日L4*1Order、二MixiulatarDecunationFilter*t4lhOrder吃LfodulatorDEcimstionFi

3、ll&r4111OrdsrModulatorDECimstionFibert申hOrdeTT.37F|D&FTCEU盟0皿】GaDT?awLa血Wdmm回iasmvnnvnti.+EEFETrGHLFC52H(WETT;W2ure+UN和VIH2-ViH3-V&E+DN3-VA-DHHgV&lj.VREFOUTVM1+VREFSTDWRS玮SFTEACH呦维CFDFSOSDDVtiD5E1K104、TMS320F2801有两个SPI接口,一个作为从SPI接收CS5451A数据,另一个作为从SPI与MCU通讯。24C04用来保存设置数据,校准数据。软件设计:软设计分两大部份,TMS320F280

4、1的软件和MCU软件。MCU软件主要是从TMS320F2801种读取数据、显示和与PC机通讯,本文不作介绍。TMS320F2801的软件实现对CS5451A的数据采集、电量计算、谐波分析、与89C52通讯、脉冲输出。软件主流程图如下:初始化系统配置寄存器,包括系统频率设置、Flash寄存器初始化,SPIA和SPIB的使能。SPIA用来接收CS5451A的数据,SPIB用于89C52通讯。外部中断用来捕捉CS5451A的同步信号,在捕捉到同步信号以后,初始化并启动SPIA模块,SPIA模块在接收到12个字节数据以后产生中断,把数据保存到缓存中。流程图如下:谐波分析方法:由于电网频率是变化的,采样

5、频率是固定的,所以每个周波采集到的瞬时值个数是不固定的。要进行64点FFT计算,必须把采集到的瞬时值转化成64点瞬时值,转化方法有多种,本设计采用的是拉格朗日二次差值法,精度比线性差值法高,计算量也可以达到要求。/*拉格朗日定理(lagrange):若函数f(x)满足:(l)f(x)在闭区间a,b上连续;(2)f(x)在开区间(a,b)可导;则在开区间(a,b)必存在S,使得f(b)-f(a)二f(s)(b-a).拉格朗日二次插值公式:已知曲线上三点(x0,y0),(xl,yl),(x2,y2);则该二次曲线为:L(x)=(x-x1)(x-x2)f(x0)/(x0-x1)(x0-x2)+(x-

6、x0)(x-x2)f(x1)/(x1-x0)(x1-x2)+(x-x0)(x-x1)f(x2)/(x2-x0)(x2-x1);*/Ta是周期值/Points是要抽取的点数,本系统进行64点FFT计算,Points取64floatfft_buf128;/保存CS5451A采集的128点数据floatdataR128;/保存抽出来的64点数据voidDataChange(floatTa,intPoints)inti,j,k;intindex;/offset;floatp=1.0;/初始化pfloatc=1.0;floatyE=0;floatm;intT0=25;/To单位为10us.for(i=0

7、;iPoints;i+)/找到所需的三个点的第一个点.整除的状况要考虑.index=(floor(i*Ta*100)/(Points*T0);/若所求的点为已知点则跳过.if(i*Ta*100)/(Points*T0)-floor(i*Ta*100)/(Points*T0)=0)dataRi=fft_bufindex;continue;/用lagrange计算出所求的点for(j=0;j3;j+)p=1;c=1;for(k=0;k3;k+)if(k=j)continue;/判断是否为同一个数m=index+k;m=m*T0*Points;p=p*(Ta*i*100-m);p=p/Points;c=c*(index+j)*T0-(index+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论