热搜关键词: 电路基础ADC数字信号处理封装库PLC

pdf

dsp28335svpwm例程

  • 1星
  • 2014-08-12
  • 286.61KB
  • 需要1积分
  • 6次下载
标签: 28335

28335

svpwm波

svpwm波

dsp    dsp28335svpwm例程

南京研旭电气科技有限公司
介绍
dsp
知识,为大家提供最新的
dsp
资讯,更多内容可以去南京研旭电气科技有限公司
的官½
www.njyxdq.com www.f28335.com
或者官方论坛,嵌嵌
dsp
论坛
www.armdsp.net
进行交流学习
欢迎大家收听嵌嵌
dsp
论坛的官方微博
http://t.qq.com/qianqiandsp
还需要什么
dsp
资料欢迎加
QQ 1318571484
QQ:1318571484
DSP28335SVPWM
例程,仅供供大家参考:
//---------------T1UFINT_ISR------------------------------------------------------
float Sin_Value(Uint16 Degree)//suitable for N=6,12,18,24
{
int Sign=1;
Uint16 Degree_Index;
float SinValue;
if(Degree>=360)Degree-=360; //for Cos
if(Degree>=180)
{
Degree-=180;
Sign=-1;
}
Degree_Index=Degree/5;
SinValue=Sign*Sin180_Table[Degree_Index];
return(SinValue);
}
Uint16 *SoftSvpwmGen(Uint16 *Pa,Uint16 Tpwm,Uint16 Sita,float VectTime)//SW_SVPWM
{ //Vref.Angle<=360degree;Tpwm(Carrier Period Number):Ts/TpwmClk
volatile float T0,T1,T2,B0,B1,B2;//
Uint16 Sector=0,alfa=0,k;
k=Sita/60;
alfa=Sita-60*k;
南京研旭电气科技有限公司
if(k==0)Sector=3;
if(k==1){Sector=1;alfa=60-alfa;}
if(k==2)Sector=5;
if(k==3){Sector=4;alfa=60-alfa;}
if(k==4)Sector=6;
if(k==5){Sector=2;alfa=60-alfa;}
if(k>5)Sector=3;
T1=VectTime*Sin_Value(60-alfa);//Cos(alfa+30)=Sin_Value(alfa+120)=Sin_Value(60-alfa)
T2=VectTime*Sin_Value(alfa);
if((T1+T2)>Tpwm)
{
//T0=T1+T2;
T1*=(Tpwm/(T1+T2));
//T2*=(Tpwm/T0);
B0=0;
//Taon
B1=T1/2;
//Tbon
B2=Tpwm/2;
//Tcon
}
else
{B0=(Tpwm-T1-T2)/4; //Taon
B1=B0+T1/2;
//Tbon
B2=B1+T2/2;
//Tcon
}
switch(Sector)
{case 1://b,a,c
{
*(Pa+0)=B1;
*(Pa+1)=B0;
*(Pa+2)=B2;
}
break;
case 2://a,c,b
{
*(Pa+0)=B0;
*(Pa+1)=B2;
*(Pa+2)=B1;
}
南京研旭电气科技有限公司
break;
case 3://a,b,c
{
*(Pa+0)=B0;
*(Pa+1)=B1;
*(Pa+2)=B2;
}
break;
case 4://c,b,a
{
*(Pa+0)=B2;
*(Pa+1)=B1;
*(Pa+2)=B0;
}
break;
case 5://c,a,b
{
*(Pa+0)=B2;
*(Pa+1)=B0;
*(Pa+2)=B1;
}
break;
case 6://b,c,a
{
*(Pa+0)=B1;
*(Pa+1)=B2;
*(Pa+2)=B0;
}
break;
default: {// Sector=0:Vref.Mag=0
*(Pa+0)=B0;
*(Pa+1)=B0;
*(Pa+2)=B0;
}
}
return(Pa);
}
interrupt void _EPWM1_UFINT_ISR(void)
{
// EV-A
南京研旭电气科技有限公司
Uint16 CMPR[3];
Uint16 *Pcmpr;
//GpioDataRegs.GPATOGGLE.bit.GPIOA15=1;//XOR(PA15):Communication LED Flash !!
Vref.Angle+= 360/N;
if(Vref.Angle>=360)Vref.Angle-=360;
//if(Starting!=0x55 )//(Starting!=0x55) ||(Vref.Mag>=2000.0)||(Vref.Mag<=0)
//Vref.Mag=2000.0;//FOR TEST!!! 2007.7.21:50->AC:5v
PwmCount++;
if(PwmCount>=N)PwmCount=0;
//Temp=PwmCount&0x1;
//if(Temp==0x1)AdcRegs.ADCTRL2.bit.SOC_SEQ1 = 1;// Enable SW To SOC to start
SEQ(SEQ1/SEQ2)
if(PwmCount==0)
{//:½ PwmCount=N(Tr=2.5ms),更新
//TpwmNum=TPWM_NUM;move to main 2007.8.26
//Ud=2800;// 2007.12.23
if(Vref.Mag<0)Vref.Mag=0;
UoutTime=(SQRT2*TpwmNum*Vref.Mag)/(Ud);
if(UoutTime>TpwmNum)UoutTime=TpwmNum;
}
Pcmpr=SoftSvpwmGen(CMPR,TpwmNum,Vref.Angle, UoutTime);
EPwm1Regs.CMPA.half.CMPA = *(Pcmpr+0);
EPwm2Regs.CMPA.half.CMPA = *(Pcmpr+1);
EPwm3Regs.CMPA.half.CMPA = *(Pcmpr+2);
//EPwm4Regs.CMPA.half.CMPA = *(Pcmpr+0);//FOR THREE LEVEL SVPWM
//EPwm5Regs.CMPA.half.CMPA = *(Pcmpr+1);
//EPwm6Regs.CMPA.half.CMPA = *(Pcmpr+2);
// Clear INT flag for this timer
EPwm1Regs.ETCLR.bit.INT = 1;
PieCtrlRegs.PIEACK.all |= PIEACK_GROUP3; // Acknowledge interrupt to PIE
// Uncomment this line after adding ISR Code
//return;
}
南京研旭电气科技有限公司
相信对½有帮助的:
最实惠的
f28335
系列开发板
基于
dsp
spwm
程序
基于
TMS320F28335
SVPWM
实现方法
DSP28335
生成
SPWM
方法
介绍
dsp
知识,为大家提供最新的
dsp
资讯,更多内容可以去南京研旭电气科技有限公司
的官½
www.njyxdq.com www.f28335.com
或者官方论坛,嵌嵌
dsp
论坛
www.armdsp.net
进行交流学习
欢迎大家收听嵌嵌
dsp
论坛的官方微博
http://t.qq.com/qianqiandsp
还需要什么
dsp
资料欢迎加
QQ 1318571484
QQ:1318571484
展开预览

猜您喜欢

评论

JHGJHJG
看样子好像还可以
2019-07-17 23:05:10
登录/注册

意见反馈

求资源

回顶部

推荐内容

热门活动

热门器件

随便看看

  • 合理选择高速ADC实现欠采样
    欠采样或违反奈奎斯特(Nyquist)准则是 ADC 应用上经常使用的一种技术。射频(RF)通信和诸如示波器等高性能测试设备就是其中的一些实例。在这个“灰色”地带中经常出现一些困惑,如是否有必要服从 Nyquist 准则,以获取一个信号的内容。对于 Nyquist 和 Shannon 定理的检验将证明:ADC 采样频率的选择与最大输入信号频率对输入信号带宽的比率有很强的相关性。
  • 关于RGB转YUV的问题
    论坛里有谁搞过RGB24转YUV422吗??在网上搜了一下,资料不是很多而且讲的不是很清楚。我看到以下公式,但是YUV的U、V分量不是只有Y的一半吗?按照公式的话U、V分量和Y一样多啊,谁能点拨下我,不胜感激。Y=0.299R+0.587G+0.114BU=-0.1687R-0.3313G+0.5B+128V=0.5R-0.4187G-0.0813B+128R=Y+1.402(V-128)G=Y-
  • CPLD编程问题
    我的CPLD在编程的时候总是出现如下错误:Unrecognized device or socket is empty我用Max plussII 10.2,Altera下载线,EPM7128SLC84-15;系统是WIN XP,下载线驱动已装好,可以在硬件管理器里看到;JTAG 接口电路检查过几遍了,没有发现错误;PROGRAMM的时候,板子也加了电;片子的VCCINT 和 VCCIO接+5V,所
  • 基于MSP430的新型自报式水文遥测终端机设计
    水文遥测系统通常由终端机、中继站和中心站三部分组成。由于终端机是用来直接测量雨量、水位等水文数据,是整个遥测系统信息的来源,故其设计成为整个遥测系统的关键。遥测终端机一般处于河流上游或者湖泊边缘,分布分散,维护起来很不方便,需要长期工作在无人值守的环境中,并且往往无交流电源提供,需要靠太阳能浮充和免维护蓄电池供电,因此在终端机的设计过程中低功耗和高可靠性尤为重要。现有的遥测终端机通常采用MCS51
  • 什么是嵌入式技术嘛?
    说半天,什么是嵌入式技术呢?,那位大侠解释一下?
  • 何为4200-SCS集成ACS软件?
  • 北京 急招高级嵌入式系统开发者 2 个职位
  • 【PSoC4心得】LCD1602显示,不费力
  • 单对以太网在楼宇自动化中的应用
  • Keil 公司简介

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
×