一 目标
完成两路PWM移相输出,固定频率100kHZ,占空比自定,设置中断,在中断回调函数里改变移相角。本次暂缓理论部分输出,直接寻找方法搭模型。
二 设计步骤—实验
不对称模式允许两个中心对齐的PWM信号通过可编程相移产生。频率由TIMx_ARR寄存器的值决定,而占空比和相移则由一对TIMx_CCRx寄存器决定。一个寄存器在向上计数时控制PWM,第二个在向下计数时控制PWM,因此PWM每半个PWM周期调整一次,其中:
tim_oc1refc(或tim_oc2refc)由TIMx_CCR1和TIMx_CCR2控制
tim_oc3refc(或tim_oc4refc)由TIMx_CCR3和TIMx_CCR4控制
非对称PWM模式可以在两个通道上独立选择(每对CCR寄存器有一个tim_ocx输出),通过在TIMx_CCMRx寄存器中的OCxM位中写入“1110”(非对称PWM模式1)或“1111”(非对称PWM模式2)。由于兼容性的原因,OCx M [ 3:0 ]位域被拆分为两部分,最重要的位与最不重要的3个位不相邻。
当给定通道作为非对称PWM通道时,也可以使用其互补通道。例如,如果在通道1 (不对称PWM模式1)上产生一个tim _ oc1refc信号,则可以在通道2上输出一个tim _ oc2ref信号,也可以在不对称PWM模式1上输出一个tim _ oc2refc信号。下图为一个可以使用非对称PWM模式(通道1至通道4采用非对称PWM模式2配置)产生信号的例子。与死区发生器一起,这允许全桥移相DC - DC变换器被控制。
文章同样提到了该移相方法(35条消息) 基于STM32高级定时器的全桥移相PWM发波方案_strongerHuang的博客-CSDN博客
OC1REFC由TIMx_CCR1(向上)与TIMx_CCR2(向下)控制
OC2REFC由TIMx_CCR2(向上)与TIMx_CCR1(向下)控制
OC3REFC由TIMx_CCR3(向上)与TIMx_CCR4(向下)控制
OC4REFC 由TIMx_CCR4(向上)与TIMx_CCR3(向下)控制
尝试用以上链接,输出PWM的同时移相角和占空比同时改变,故此采用第二种方案。
关键代码如下:CCR1\CCR2为基准值、CCR3\CCR4为移相后的比较值
之后即可生成2路任意移向角的PWM波