ZHCADI9 December 2023 TMS320F280023C , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320F28P650DK
一些应用会在谐振模式期间调整 SR PWM 的最长导通时间,以提高效率或补偿谐振回路的元件变化,如在 C2000™ 4 类 PWM 上实现三相交错型 LLC 中所述。指示计数器 0 和计数器 1 的匹配 1 REF 值需要在运行时进行调整。该调整是通过高级控制器 (HLC) 完成的。HLC 提供 CPU 和 CLB 之间的通信和数据交换。CPU 可以写入通用 HLC 寄存器 R0,以进一步将 R0 值移动到计数器的匹配 1 REF 值。
与大多数 EPWM 寄存器不同,匹配 1 REF 值本身不提供影子加载模式选项。但是,可以使用 HLC 实现类似的影子模式。图 2-3 将计数器 0 的零事件展示为 HLC 的事件 0,因为 HLC 是与 EPWM1A 上升沿对齐的基于事件的系统。计数器和 EPWM1 模块的匹配 1 REF 值的更新同时生效。
以下示例代码可用于更新和调整 SR PWM 钳位时间。
//before update R0 register, set in4=0
CLB_setGPREG(CLB_SR_BASE, 0x00);
//update the clamp duty cycle for EPWM2A and EPWM2B
CLB_writeInterface(CLB_SR_BASE, CLB_ADDR_HLC_R0, clamp_duty);
//set input4 to 1 allow copy of R0 to counter match1 register
CLB_setGPREG(CLB_SR_BASE, 0x10);