主题中讨论的其他器件:MSPM0C1104、 SysConfig
工具/软件:
我将在双开关推挽式拓扑上使用 PWM 调制将 STM32 M0 内核迁移到 MSPM0C1104 以实现 SMPS 控制。
我需要在控制采样时间相应地更新占空比、它远大于 PWM 周期。
最初、我手动控制两个 PWM 通道的占空比。
它运行得很好、但有时 Counter Compare 似乎在寄存器上加载了错误的值或没有值
而且 PWM 有失真的脉冲、有时会重叠其输出、导致 SMPS 出现故障。
是否有办法强制安全加载比较寄存器、使其始终正确更新? 来实现这一应用的更好方法。
到目前为止、我已经测试了几个替代方案、但没有成功:
大量增加控制采样时间、以避免任何中断优先级问题或计算时间。
已测试死区模式、加载死区以获得所需的占空比、并显示相同的零星问题。
没有中断或控制的测试代码、仅更新占空比、它显示与移植的代码相同的问题。
.syscfg 文件有一个选择通道更新模式的选项、但它只允许我使用“Capture Compare Value Has Immediate Effect“选项、表明它仅在 TIMA0 上工作、但我已经将 TIMA0 用于该代码。
下面是 PWM 行为的一些图片。
感谢您的支持

