DSP28335控制单相逆变器双闭环控制程序


TMS320F28335控制单相逆变器的程序 采样实现双闭环控制
资源截图
代码片段和文件信息

#include “DSP2833x_Device.h“
#include “DSP2833x_Examples.h“

extern void Default_GPIO();
extern void Initial_Epwm1();
extern void Initial_Epwm2();
extern void Initial_GPIO();
extern void Initial_GPIOEpwm1();
extern void Initial_GPIOEpwm2();
extern void Initial_GPIOEpwm3();
extern void Initial_GPIOEpwm4();
extern void Initial_GPIOSpi();
extern void DAC_Update(int channel float input);
void Initial_SPI_DAC();

Uint32 N=600; //载波比
float M=0.8;  //调制度
//Uint32 i;


void main(void)
 {
// Part.1 Initialize the System Control

 InitSysCtrl();

  // Part.2 Initialize the GPIO

//  Default_GPIO();

 // Part.3 Clear all interrupts and initialize PIE vector table

    // NO.1 Disable the CPU interrupts

 DINT;

// NO.2 Initialize all the PIE registers to default states
// the default state is all PIE interrupt disabled and the flags cleared

 InitPieCtrl();

// NO.3 Disable all the CPU interrupts and clear all the flags

 IER = 0x0000;
 IFR = 0x0000;

// NO.4 Initialize the PIE vector table; Re-map the ISR function

 InitPieVectTable();

 EALLOW;

     // Re-map the SEQ1INT_isr(ADC interrupt) as the main_isr

//  PieVectTable.SEQ1INT = &main_isr;

     EDIS;

 // Part.4 Initialize all the Device Peripherals

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

     Initial_GPIO();
     Initial_GPIOEpwm1();
     Initial_GPIOEpwm2();
//      Initial_GPIOEpwm3();
//      Initial_GPIOEpwm4();
     // Epwm_initial
     Initial_Epwm1();
     Initial_Epwm2();
//      Initial_Epwm3();
//      Initial_Epwm4();

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

     // GPIO initial

//      Initial_GPIOEpwm3();
//      Initial_GPIOEpwm4();
     Initial_GPIOSpi();

     // ADC initial
//      InitAdc();
//      Initial_ADC();
     InitAdc();
     // SPI_DAC initial
     Initial_SPI_DAC();


 // Part.5 User specific coders

     // Variable initial
//      Initial_variable();

     // Wake up the DAC chip
     DAC_Update(0 0);

 // Part.6 Enable Interrupts

    //NO.1 Enable CPU interrupts

     // Include INT SEQ1INT
     IER |= M_INT1;

    //NO.2 Enable PIE interrupts

     // PIE INT SEQ1INT
     PieCtrlRegs.PIEIER1.bit.INTx1 = 1;

    //NO.3 global Interrupts and higher priority real-time debug events

     EINT;
     ERTM;


// Part.7 Loop forever

     while(1)
     {

//       if(run_state == STOP)
//       {
//       stop();
//       }
//       else if(run_state == START)
//       {
//       start();
//       }
    }
 }

void Initial_SPI_DAC(void)
 {
   // Part.1 Reset the SPI ; Output the data in rise step
 SpiaRegs.SPICCR.bit.SPISWRESET = 0;
 SpiaRegs.SPICCR.bit.CLKPOLARITY = 0;

   // Part.2 Ban the loop self-test; 16 bite;
 SpiaRegs.SPICCR.bit.SPILBK = 0;
 SpiaRegs.SPICCR.bit.SPICHAR = 15;

   // Part.3
     // Overflow interrupt enable is prohibited
 SpiaRegs.SPICTL.bit.OVERRUNINTENA = 0;
 // There is no delay of signals
 SpiaRegs.SPICTL.bit.C

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-13 22:16  spwm_two_close
     文件         517  2017-01-03 15:01  spwm_two_close.ccsproject
     文件       22788  2017-08-01 10:14  spwm_two_close.cproject
     目录           0  2018-12-13 22:16  spwm_two_close.launches
     文件        4120  2017-07-15 13:36  spwm_two_close.launchesDVR_1_3.launch
     文件        4587  2017-08-01 10:09  spwm_two_close.launchesspwm_28335_close.launch
     文件        4573  2017-08-02 14:52  spwm_two_close.launchesspwm_two_close.launch
     文件         844  2017-08-01 10:14  spwm_two_close.project
     目录           0  2018-12-13 22:16  spwm_two_close.settings
     文件          62  2017-08-01 10:14  spwm_two_close.settingsorg.eclipse.cdt.codan.core.prefs
     文件         123  2017-01-03 15:00  spwm_two_close.settingsorg.eclipse.cdt.debug.core.prefs
     文件         618  2017-07-15 11:11  spwm_two_close.settingsorg.eclipse.core.resources.prefs
     文件        7330  2016-01-11 16:45  spwm_two_close28335_RAM_lnk.cmd
     目录           0  2018-12-13 22:16  spwm_two_close28335_headers
     文件       10476  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_Adc.h
     文件        5881  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_CpuTimers.h
     文件       13987  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_DMA.h
     文件        6326  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_DefaultIsr.h
     文件        2901  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_DevEmu.h
     文件        6058  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_Device.h
     文件        2004  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_Dma_defines.h
     文件       45536  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_ECan.h
     文件        6117  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_ECap.h
     文件       16550  2016-01-08 14:42  spwm_two_close28335_headersDSP2833x_EPwm.h
     文件        7827  2017-08-02 14:32  spwm_two_close28335_headersDSP2833x_EPwm_defines.h
     文件       10061  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_EQep.h
     文件        5530  2016-01-04 15:54  spwm_two_close28335_headersDSP2833x_Examples.h
     文件        8431  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_GlobalPrototypes.h
     文件       15813  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_Gpio.h
     文件        7076  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_I2c.h
     文件        4079  2009-08-04 13:04  spwm_two_close28335_headersDSP2833x_I2c_defines.h
............此处省略150个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)