DSP28335PWM移相模块配置

做双有源桥DAB拓扑的控制,第一次使用DSP28335PWM移相功能,做个记录
PWM移相以Epwm1为基准,具体配置如下:

采用上下计数:
EPwm3Regs.TBPRD = period / 2;
EPwm3Regs.TBPHS.all = 0x0000;
EPwm3Regs.TBCTR = 0x0000;
EPwm3Regs.CMPA.half.CMPA = period / 4;
EPwm3Regs.CMPB = period / 4;

EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
EPwm3Regs.TBCTL.bit.PHSEN = TB_ENABLE;//使能移相
EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;
EPwm3Regs.TBCTL.bit.PHSDIR = TB_UP;//配置移相方向,超前或滞后
EPwm3Regs.TBPHS.half.TBPHS = 300;//设置移相值
EPwm3Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm3Regs.TBCTL.bit.HSPCLKDIV = TB_DIV2;
EPwm3Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm3Regs.TBCTL.bit.SWFSYNC = 1;


EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm3Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
EPwm3Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;

EPwm3Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;//
EPwm3Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;//DB_ACTV_LOC;//
EPwm3Regs.DBCTL.bit.IN_MODE = DBA_RED_DBB_FED;
EPwm3Regs.DBRED = EPWM_DeadBandTime;
EPwm3Regs.DBFED = EPWM_DeadBandTime;

EPwm3Regs.AQCTLA.bit.CAU = AQ_CLEAR;
EPwm3Regs.AQCTLA.bit.CAD = AQ_SET;
EPwm3Regs.AQCTLB.bit.CAU = AQ_CLEAR;
EPwm3Regs.AQCTLB.bit.CAD = AQ_SET;

主要是EPwm3Regs.TBCTL.bit.PHSEN, EPwm3Regs.TBCTL.bit.PHSDIR , EPwm3Regs.TBPHS.half.TBPHS这几个寄存器的配置。
至此,PWM移相功能就配置好了。
### DSP28335 PWM 配置 PWM (脉宽调制) 是一种用于控制功率转换器和其他应用的技术,在 TMS320F28335 中,通过特定寄存器可以实现精确的 PWM 输出和功能。 #### 寄存器设置 为了实现 PWM操作,主要涉及以下几个关键寄存器: - **TBPRD**: 定义周期计数值。 - **CMPA/CMPB**: 设置比较匹配值来决定占空比。 - **PHSDIR 和 PHSSHIFT**: 控制方向以及步长[^1]。 对于具体编程而言,可以通过修改 `ECAP` 或者 `EPWM` 模块中的这些参数来进行调整。下面是一个简单的 C 语言代码片段展示如何初始化 EPWM 并施加一定角度的: ```c // 配置 ePWM 模块以启用特性 EALLOW; Epwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // 设定上下计数模式 Epwm1Regs.PHSHFTREG.bit.DIVIDER = 7; // 分频系数, 取决于所需频率 Epwm1Regs.PHSHFTREG.bit.SHIFTDIR = 1; // 正向 Epwm1Regs.PHSDIR.all = 0x0001; // 启用正向 Edis; // 应用具体的量到指定通道上 void applyPhaseShift(int channel, float degree){ EALLOW; switch(channel){ case 1: Epwm1Regs.PHSHFTREG.bit.SHIFT = LtoX(degree * SCALE_FACTOR); break; ... } Edis; } ``` 此函数接受两个参数:要作用的目标通道号 (`channel`) 和期望的角度偏转量 (`degree`) 。注意这里假设存在一个名为 `LtoX()` 的辅助函数负责将逻辑单位转化为硬件所需的物理表示形式;而 `SCALE_FACTOR` 则是用来适配实际系统的比例因子。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值