Texas Instruments 28xxx, TMS320x28xx manual Example 3-4. Code Snippet for Configuration in Figure

Page 83

www.ti.com

Controlling Dual 3-Phase Inverters for Motors (ACI and PMSM)

Example 3-4. Code Snippet for Configuration in Figure 3-9

//=====================================================================

//Configuration //=====================================================================

//Initialization Time

//========================// EPWM Module 1 config

 

 

EPwm1Regs.TBPRD = 800;

//

Period = 1600 TBCLK counts

EPwm1Regs.TBPHS = 0;

//

Set Phase register to zero

EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;//

Symmetrical mode

EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;

//

Master module

EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;

 

 

EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;

//

Sync down-stream module

EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;

 

 

EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;

 

 

EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; //

load on CTR=Zero

EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; //

load on CTR=Zero

EPwm1Regs.AQCTLA.bit.CAU = AQ_SET;

//

set actions for EPWM1A

EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR;

 

 

EPwm1Regs.DBCTL.bit.MODE = DB_FULL_ENABLE;

//

enable Dead-band module

EPwm1Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;

//

Active Hi complementary

EPwm1Regs.DBFED = 50;

//

FED = 50 TBCLKs

EPwm1Regs.DBRED = 50;

//

RED = 50 TBCLKs

// EPWM Module 2 config

 

 

EPwm2Regs.TBPRD = 800;

//

Period = 1600 TBCLK counts

EPwm2Regs.TBPHS = 0;

//

Set Phase register to zero

EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Symmetrical mode

EPwm2Regs.TBCTL.bit.PHSEN = TB_ENABLE;

//

Slave module

EPwm2Regs.TBCTL.bit.PRDLD = TB_SHADOW;

 

 

EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;

//

sync flow-through

EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;

 

 

EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;

 

 

EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; //

load on CTR=Zero

EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; //

load on CTR=Zero

EPwm2Regs.AQCTLA.bit.CAU = AQ_SET;

//

set actions for EPWM2A

EPwm2Regs.AQCTLA.bit.CAD = AQ_CLEAR;

 

 

EPwm2Regs.DBCTL.bit.MODE = DB_FULL_ENABLE;

//

enable Dead-band module

EPwm2Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;

//

Active Hi complementary

EPwm2Regs.DBFED = 50; // FED = 50 TBCLKs

 

 

EPwm2Regs.DBRED = 50; // RED = 50 TBCLKs

 

 

// EPWM Module 3 config

 

 

EPwm3Regs.TBPRD = 800;

//

Period = 1600 TBCLK counts

EPwm3Regs.TBPHS = 0;

//

Set Phase register to zero

EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;//

Symmetrical mode

EPwm3Regs.TBCTL.bit.PHSEN = TB_ENABLE;

//

Slave module

EPwm3Regs.TBCTL.bit.PRDLD = TB_SHADOW;

 

 

EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;

//

sync flow-through

EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;

 

 

EPwm3Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;

 

 

EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; //

load on CTR=Zero

EPwm3Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; //

load on CTR=Zero

EPwm3Regs.AQCTLA.bit.CAU = AQ_SET;

//

set actions for EPWM3A

EPwm3Regs.AQCTLA.bit.CAD = AQ_CLEAR;

 

 

EPwm3Regs.DBCTL.bit.MODE = DB_FULL_ENABLE;

//

enable Dead-band module

EPwm3Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;

//

Active Hi complementary

EPwm3Regs.DBFED = 50; // FED = 50 TBCLKs

 

 

EPwm3Regs.DBRED = 50; // RED = 50 TBCLKs

 

 

//Run Time (Note: Example execution of one run-time instant) //========================================================= EPwm1Regs.CMPA.half.CMPA = 500; // adjust duty for output EPWM1A EPwm2Regs.CMPA.half.CMPA = 600; // adjust duty for output EPWM2A EPwm3Regs.CMPA.half.CMPA = 700; // adjust duty for output EPWM3A

SPRU791D–November 2004–Revised October 2007

Applications to Power Topologies

83

Image 83
Contents Reference Guide Submit Documentation Feedback Contents Controlling a 3-Phase Interleaved DC/DC Converter List of Figures Event-Trigger Socb Pulse Generator Simplified ePWM Module List of Tables Submit Documentation Feedback Peripheral Guides Related Documentation From Texas InstrumentsData Manuals CPU Users GuidesApplication Reports Tools GuidesTMS320C28x, C28x are trademarks of Texas Instruments TrademarksSubmit Documentation Feedback Introduction Submodule Overview IntroductionMultiple ePWM Modules ∙ Peripheral Bus ∙ PWM output signals EPWMxA and EPWMxB∙ Trip-zone signals TZ1 to TZ6 ∙ ADC start-of-conversion signals EPWMxSOCA and EPWMxSOCBRegister Mapping EPWM Submodules and Critical Internal Signal InterconnectsCounter-Compare Submodule Registers Offset Size NameDescription Time-Base Submodule RegistersEPWM Submodules Overview Submodule Configuration ParametersSubmodule Configuration Parameter or Option Tbup Example 2-1. Constant Definitions Used in the Code ExamplesChpenable Purpose of the Time-Base Submodule Time-Base TB SubmoduleRegister Controlling and Monitoring the Time-base SubmoduleTime-Base Submodule Registers ∙ Down-Count Mode Key Time-Base Signals∙ Up-Down-Count Mode ∙ Up-Count Mode∙ Active Register ∙ Time-Base Period Shadow Mode∙ Time-Base Period Immediate Load Mode Time-Base Period Shadow RegisterTime-Base Counter Synchronization Scheme Time-Base Counter SynchronizationEPWM11SYNCO EPWM11SYNCI∙ Software Forced Synchronization Pulse ∙ EPWMxSYNCI Synchronization Input PulseTime-base Counter Modes and Timing Waveforms Phase Locking the Time-Base Clocks of Multiple ePWM ModulesTime-Base Down-Count Mode Waveforms 11. Counter-Compare Submodule Counter-Compare CC SubmoduleRegister Name Address Offset Purpose of the Counter-Compare SubmoduleControlling and Monitoring the Counter-Compare Submodule Counter-Compare Submodule Registers∙ Immediate Load Mode Count Mode Timing WaveformsCounter-Compare Submodule Key Signals ∙ Shadow ModeCTR=CMPB CTR=CMPACTR = Cmpb Action-Qualifier Submodule Registers Action-Qualifier AQ SubmodulePurpose of the Action-Qualifier Submodule ∙ Toggle Action-Qualifier Submodule Possible Input Events∙ Set High ∙ Clear LowTB Counter equals Actions Action-Qualifier Event Priority Action-Qualifier Event Priority for Up-Down-Count ModeAction-Qualifier Event Priority for Up-Count Mode 10. Action-Qualifier Event Priority for Down-Count ModeWhen using up-count mode to generate an asymmetric PWM Waveforms for Common ConfigurationsUse up-down-count mode to generate a symmetric PWM Use up-down-count mode to generate an asymmetric PWM20. Up-Down-Count Mode Symmetrical Waveform Tbctr Example 2-2. Code Sample for FigureValue EPWMxA EPWMxB Tbclk = Sysclkout Example 2-3. Code Sample for FigureEdgePosA Example 2-4. Code Sample for FigureExample 2-5. Code Sample for Figure Tbctr Example 2-6. Code Sample for FigureEPWMxA EPWMxB Example 2-7. Code Sample for Figure12. Dead-Band Generator Submodule Registers Dead-Band Generator DB SubmodulePurpose of the Dead-Band Submodule Controlling and Monitoring the Dead-Band Submodule∙ Polarity Control ∙ Output Mode ControlOperational Highlights for the Dead-Band Submodule ∙ Input Source Selection13. Classical Dead-Band Operating Modes Mode Description29. Dead-Band Waveforms for Typical Cases 0% Duty 100% FED = Dbfed × Ttbclk RED = Dbred × Ttbclk Dead-Band Delay in μSOperational Highlights for the PWM-Chopper Submodule PWM-Chopper PC SubmodulePurpose of the PWM-Chopper Submodule Controlling the PWM-Chopper Submodule31. PWM-Chopper Submodule Operational Details WaveformsOSHTWTHz One-Shot Pulse16. Possible Pulse Width Values for Sysclkout = 100 MHz Period Duty Cycle ControlPurpose of the Trip-Zone Submodule Trip-Zone TZ Submodule∙ Cycle-by-Cycle CBC Controlling and Monitoring the Trip-Zone SubmoduleOperational Highlights for the Trip-Zone Submodule 17. Trip-Zone Submodule RegistersScenario B Example 2-8. Trip-Zone Configurations18. Possible Actions On a Trip Event Scenario aGenerating Trip Event Interrupts 36. Trip-Zone Submodule Mode Control Logic37. Trip-Zone Submodule Interrupt Logic Event-Trigger ET SubmoduleOperational Overview of the Event-Trigger Submodule CTR=CMPB CTRD=CMPB 19. Event-Trigger Submodule Registers41. Event-Trigger Interrupt Generator 42. Event-Trigger Soca Pulse Generator Submit Documentation Feedback Controlling Multiple Buck Converters With Independent Applications to Power TopologiesOverview of Multiple Modules Key Configuration CapabilitiesCTR=0 EPWM1B CTR=CMPB Control of Four Buck Stages. Here FPWM1≠ FPWM2≠ FPWM3≠ FPWM4 Buck Waveforms for -3Note Only three bucks shown here 500 Example 3-1. Configuration for Example in FigureControl of Four Buck Stages. Note FPWM2 = N x FPWM1 Controlling Multiple Buck Converters With Same FrequenciesBuck Waveforms for -5Note FPWM2 = FPWM1 Example 3-2. Code Snippet for Configuration in Figure Control of Two Half-H Bridge Stages FPWM2 = N x FPWM1 Controlling Multiple Half H-Bridge HHB ConvertersHalf-H Bridge Waveforms for -7Note Here FPWM2 = FPWM1 Example 3-3. Code Snippet for Configuration in Figure Controlling Dual 3-Phase Inverters for Motors ACI and PmsmEPWM1A 10 -Phase Inverter Waveforms for -9Only One Inverter Shown Example 3-4. Code Snippet for Configuration in Figure 11. Configuring Two PWM Modules for Phase Control Controlling a 3-Phase Interleaved DC/DC Converter Controlling a 3-Phase Interleaved DC/DC Converter13. Control of a 3-Phase Interleaved DC/DC Converter 14 -Phase Interleaved DC/DC Converter Waveforms for Figure Example 3-5. Code Snippet for Configuration in Figure 15. Controlling a Full-H Bridge Stage FPWM2 = FPWM1 16. ZVS Full-H Bridge Waveforms Example 3-6. Code Snippet for Configuration in Figure Submit Documentation Feedback Trip-Zone Submodule Control and Status Registers Proper Interrupt Initialization ProcedurePWM-Chopper Submodule Control Register Time-Base Counter Register Tbctr Field Descriptions Time-Base Phase Register Tbphs Field DescriptionsTime-Base Submodule Registers Time-Base Period Register Tbprd Field DescriptionsBit Field Value Description Time-Base Control Register Tbctl Field DescriptionsSoftware Forced Synchronization Pulse Bit Field Counter-Compare Submodule RegistersTime-Base Status Register Tbsts Field Descriptions Bits Name Description Counter-Compare a Register Cmpa Field DescriptionsCounter-Compare B Register Cmpb Field Descriptions Counter-Compare Control Register Cmpctl Field Descriptions Action-Qualifier Submodule RegistersCBD CBD CBU CAD CAU PRD ZROBits Name 10. Action-Qualifier Output B Control Register Aqctlb Csfb Csfa Rldcsf Otsfb Actsfb Otsfa ActsfaRldcsf Inmode Polsel Outmode Dead-Band Submodule RegistersCsfb Inmode Reserved PWM-Chopper Submodule Control Register16. PWM-Chopper Control Register Pcctl Bit Descriptions Name Value DescriptionChpduty Trip-Zone Submodule Control and Status RegistersPWM-Chopper Control Register Pcctl Bit Descriptions CBC6 OSHT6 OSHT5 OSHT4 OSHT3 OSHT2 OSHT1CBC6 CBC5 CBC4 CBC3 CBC2 CBC1 OSHT6OST CBC 18. Trip-Zone Control Register Tzctl Field DescriptionsTZB TZA TZBOST CBC INT 20. Trip-Zone Flag Register Tzflg Field Descriptions22. Trip-Zone Force Register Tzfrc Field Descriptions Event-Trigger Submodule Registers21. Trip-Zone Clear Register Tzclr Field Descriptions 23. Event-Trigger Selection Register Etsel Name Description 24. Event-Trigger Prescale Register Etps Field DescriptionsSocb Soca 24. Event-Trigger Prescale Register Etps Field DescriptionsSocb 25. Event-Trigger Flag Register Etflg Field Descriptions26. Event-Trigger Clear Register Etclr Field Descriptions 27. Event-Trigger Force Register Etfrc Field Descriptions Proper Interrupt Initialization Procedure116 Location Modifications, Additions, and Deletions Table A-1. Changes for Revision DAppendix a Important Notice