• 大小: 1023KB
    文件类型: .zip
    金币: 2
    下载: 2 次
    发布日期: 2023-08-28
  • 语言: 其他
  • 标签: DSP28335  svpwm  

资源简介

基于DSP28335的SVPWM,下载在MCU中即可生成SVPWM算法可靠,具有很好的参考价值,需要的请自行下载

资源截图

代码片段和文件信息

#include “DSP2833x_Device.h“     // DSP2833x Headerfile Include File
#include “DSP2833x_Examples.h“   // DSP2833x Examples Include File
#include “math.h“
#include “float.h“
/*经典SVPWM算法程序*/
void InitEPwm1(void);
void InitEPwm2(void);
void InitEPwm3(void);

#pragma CODE_SECTION(epwm1_isr “ramfuncs“);// 将中断服务函数转移到RAM
interrupt void epwm1_isr(void);

#define PRD  7500                // PWM周期寄存器
#define PI 3.1415926
#define N 200
#define delta 2*PI/N

float VaVbVct1t2TaTbTcXYZUalfaUbeta;
Uint16 DADBDCDD;
float M=0.9;
float Data[200] = {0};
Uint16 sectorCAL=0;
int i=66;

void main(void)
{
   InitSysCtrl();

   DINT;
   InitPieCtrl();
   IER = 0x0000;
   IFR = 0x0000;
   InitPieVectTable();

   EALLOW;
   PieVectTable.EPWM1_INT = &epwm1_isr;
   EDIS;

   EALLOW;
   SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0;
   EDIS;

   InitEPwm1Gpio();
   InitEPwm2Gpio();
   InitEPwm3Gpio();
   InitEPwm1();
   InitEPwm2();
   InitEPwm3();

   EALLOW;
   SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1;
   EDIS;

   memcpy(&RamfuncsRunStart &RamfuncsLoadStart (Uint32)&RamfuncsLoadSize);
   InitFlash();

   IER |= M_INT3;   //EPWM1的中断
   PieCtrlRegs.PIEIER3.bit.INTx1 = 1;

   EINT;   //开中断
   ERTM;   //使能调试事件

   for(;;)
   {
      /*****调试使用******/
DA = EPwm1Regs.CMPA.half.CMPA/2;
    DB = EPwm3Regs.CMPA.half.CMPA/2;
    DC = EPwm2Regs.CMPA.half.CMPA/2;
    DD = Ubeta*300+1000;
   }
}

void InitEPwm1()
{
   // 配置时钟
   EPwm1Regs.TBPRD = PRD;                         // 设置周期
   EPwm1Regs.TBPHS.half.TBPHS=0x0000;             //phase is 0
   EPwm1Regs.TBCTR = 0x0000;                      // Clear conuter

   // Setup TBCLK
   EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;             //增减计数模式
   EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;        // Disable phase loading
   EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;       // Clock ratio to SYSCLKOUT  /1
   EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;          //TBCLK=SYSCLKOUT/(HSPCLKDIV*CLKDIV)=150MHz
   EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;         //The period register (TBPRD) is loaded from its shadow register
   EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;    // Sync down-stream module,同步输出选择设定

   // Setup shadowing
   EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
   EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
   EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;          // Load on Zero
   EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;

   // Set actions
   EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR ;
   EPwm1Regs.AQCTLA.bit.CAD = AQ_SET ;             // Set PWM1A on event A up count

   // 配置死区
   EPwm1Regs.DBCTL.bit.IN_MODE = DBA_ALL; // enable Dead-band module
   EPwm1Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC; // Active low complementary (ALC) mode. EPWMxA is inverted.
   EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE; //低电平有效,互补输出。
   EPwm1Regs.DBFED = 300; // FED = 300 TBCLKs
   EPwm1Regs.DBRED = 300; // RED = 300 TBCLKs
   // 配置中断
   EPwm1R

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-14 17:16  SVPWM\
     文件         563  2016-09-01 19:15  SVPWM\.ccsproject
     文件       22356  2017-06-09 22:02  SVPWM\.cproject
     目录           0  2019-04-14 17:16  SVPWM\.launches\
     文件       10340  2018-12-11 18:13  SVPWM\.launches\SVPWM.launch
     文件         835  2016-08-24 17:05  SVPWM\.project
     目录           0  2019-04-14 17:16  SVPWM\.settings\
     文件          62  2016-08-24 16:05  SVPWM\.settings\org.eclipse.cdt.codan.core.prefs
     文件         220  2016-08-24 16:17  SVPWM\.settings\org.eclipse.cdt.core.prefs
     文件         123  2016-08-24 16:05  SVPWM\.settings\org.eclipse.cdt.debug.core.prefs
     文件         293  2016-08-24 16:16  SVPWM\.settings\org.eclipse.core.resources.prefs
     文件        7270  2017-01-02 09:01  SVPWM\28335_RAM_lnk.cmd
     目录           0  2019-04-14 17:16  SVPWM\Debug\
     文件         505  2018-12-11 18:12  SVPWM\Debug\ccsObjs.opt
     文件       35118  2018-12-11 18:12  SVPWM\Debug\main.obj
     文件        3895  2018-12-11 18:12  SVPWM\Debug\main.pp
     文件        5181  2018-12-11 18:12  SVPWM\Debug\makefile
     文件         250  2018-12-11 18:12  SVPWM\Debug\objects.mk
     文件        2026  2018-12-11 18:12  SVPWM\Debug\sources.mk
     目录           0  2019-04-14 17:16  SVPWM\Debug\src\
     文件       13485  2016-08-24 17:06  SVPWM\Debug\src\DSP2833x_Adc.obj
     文件        2810  2016-08-24 17:06  SVPWM\Debug\src\DSP2833x_Adc.pp
     文件        1534  2018-12-11 18:12  SVPWM\Debug\src\DSP2833x_ADC_cal.obj
     文件        1842  2018-12-11 18:12  SVPWM\Debug\src\DSP2833x_CodeStartBranch.obj
     文件        6334  2018-12-11 18:12  SVPWM\Debug\src\DSP2833x_CpuTimers.obj
     文件        3977  2018-12-11 18:12  SVPWM\Debug\src\DSP2833x_CpuTimers.pp
     文件         858  2018-12-11 18:12  SVPWM\Debug\src\DSP2833x_CSMPasswords.obj
     文件        1624  2016-08-24 17:06  SVPWM\Debug\src\DSP2833x_DBGIER.obj
     文件       32929  2018-12-11 18:12  SVPWM\Debug\src\DSP2833x_DefaultIsr.obj
     文件        4005  2018-12-11 18:12  SVPWM\Debug\src\DSP2833x_DefaultIsr.pp
     文件        1699  2016-08-24 17:06  SVPWM\Debug\src\DSP2833x_DisInt.obj
............此处省略96个文件信息

评论

共有 条评论