• 大小: 1.88MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-02
  • 语言: 其他
  • 标签: TMS320F28335  

资源简介

CCS6.0的工程文件,适用于TMS320F28335,可以产生两路带死区的互补SPWM,适用于全桥逆变电源。

资源截图

代码片段和文件信息

#include “DSP28x_Project.h“

void InitEPwm1Example(void);    //初始化EPWM模块
__interrupt void epwm1_isr(void);  //中断声明
//Uint32  EPwm1TimerIntCount;
//Uint16  EPwm1_DB_Direction;

#define EPWM1_MIN_DB   10  //死区时间

#define DB_UP   1
#define DB_DOWN 0

const int sin[]={512544576607639670700729758786
812838862885906926944960975988
998100710141019102210241022101910141007
998988975960944926906885862838
812786758729700670639607576544
512479447416384353323294265237
2111851611381179779634835
2516941014916
253548637997117138161185
211237265294323353384416447479};   //PWM占空比按照正弦规律变化对应的表,在中断中改变CC模块的比较值,产生SPWM。
int i=0; //初始相位
void main(void)
{
InitSysCtrl();
//
// Configure GPIO34 as a GPIO output pin
//
InitEPwm1Gpio();
DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
EALLOW;    // This is needed to write to EALLOW protected registers
PieVectTable.EPWM1_INT = &epwm1_isr;//设置epwm1中断地址
EDIS;
InitEPwm1Example();//调用EPWM初始化函数
//EPwm1TimerIntCount = 0;
IER |= M_INT3;//CPU级中断使能
PieCtrlRegs.PIEIER3.bit.INTx1 = 1;//PIE级中断使能

//OLED_Init();
EINT;       // Enable Global interrupt INTM
ERTM;
while(1)
{
//OLED_PrintfAt(11“sadasfafa“);
}
}
__interrupt void
epwm1_isr(void)
{
    //EPwm1TimerIntCount++;
    EPwm1Regs.CMPA.half.CMPA = sin[++i];//改变比较器A的值
    if(i==100)i=0;//循环
    //
    // Clear INT flag for this timer
    //
    EPwm1Regs.ETCLR.bit.INT = 1;

    //
    // Acknowledge this interrupt to receive more interrupts from group 3
    //
    PieCtrlRegs.PIEACK.all = PIEACK_GROUP3;
}
void InitEPwm1Example()
{
    EPwm1Regs.TBPRD = 1024;                        // Set timer period
    EPwm1Regs.TBPHS.half.TBPHS = 0x0000;           // Phase is 0
    EPwm1Regs.TBCTR = 0x0000;                      // Clear counter

    EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; //
    EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;        // Disable phase loading
    EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV4;       // Clock ratio to SYSCLKOUT
    EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV4;

    EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;    // Load registers every ZERO
    EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
    EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
    EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;

    //
    // Setup compare
    //
    EPwm1Regs.CMPA.half.CMPA = sin[i];

    //
    // Set actions
    //
    EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET;             // Set PWM1A on Zero
    EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;

    //
    // Active Low PWMs - Setup Deadband
    //
    EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;//开启全部死区使能
    EPwm1Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;//输出PWM1A为高,PWM1B为低
    EPwm1Regs.DBCTL.bit.IN_MODE = DBA_ALL;//死区输入全是CC的PWM1A
    EPwm1Regs.DBRED = EPWM1_MIN_DB;//死区时间设置
    EPwm1Regs.DBFED = EPWM1_MIN_DB;
    //EPwm1_DB_Direction = DB_UP;

    //
    // Interrupt where we will change the Deadband
    //

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        563  2019-08-05 16:51  F28335的SPWM产生\f28335_SPWM\.ccsproject

     文件      23576  2019-08-06 17:07  F28335的SPWM产生\f28335_SPWM\.cproject

     文件       4547  2019-08-06 16:23  F28335的SPWM产生\f28335_SPWM\.launches\f28335_text01.launch

     文件       2779  2019-08-06 17:07  F28335的SPWM产生\f28335_SPWM\.project

     文件         62  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\.settings\org.eclipse.cdt.codan.core.prefs

     文件        123  2019-08-02 18:57  F28335的SPWM产生\f28335_SPWM\.settings\org.eclipse.cdt.debug.core.prefs

     文件        384  2019-08-05 11:49  F28335的SPWM产生\f28335_SPWM\.settings\org.eclipse.core.resources.prefs

     文件        377  2019-08-06 16:26  F28335的SPWM产生\f28335_SPWM\Debug\ccsObjs.opt

     文件       1368  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_ADC_cal.obj

     文件       1690  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_CodeStartBranch.obj

     文件       5955  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_CpuTimers.obj

     文件       3721  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_CpuTimers.pp

     文件      33859  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_DefaultIsr.obj

     文件       3749  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_DefaultIsr.pp

     文件      16375  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_EPwm.obj

     文件       3581  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_EPwm.pp

     文件     122336  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_GlobalVariableDefs.obj

     文件       3017  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_GlobalVariableDefs.pp

     文件      11721  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_Gpio.obj

     文件       3581  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_Gpio.pp

     文件       6002  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_PieCtrl.obj

     文件       3665  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_PieCtrl.pp

     文件      17975  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_PieVect.obj

     文件       3665  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_PieVect.pp

     文件      16867  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_SysCtrl.obj

     文件       3665  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_SysCtrl.pp

     文件       1381  2019-08-06 16:10  F28335的SPWM产生\f28335_SPWM\Debug\DSP2833x_usDelay.obj

     文件      29167  2019-08-06 16:26  F28335的SPWM产生\f28335_SPWM\Debug\f28335_text01.map

     文件     135915  2019-08-06 16:26  F28335的SPWM产生\f28335_SPWM\Debug\f28335_text01.out

     文件     135875  2019-08-06 16:26  F28335的SPWM产生\f28335_SPWM\Debug\f28335_text01_linkInfo.xml

............此处省略558个文件信息

评论

共有 条评论