This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

F28035 HRpwm 在updown模式下的使用。



今天发现,F28035的PWM在updown模式下无法通过HRpwm模块来解决分辨率问题,当PWM采用updown模式时,如果高分辨率PWMD的边沿模式位EPwm1Regs.HRCNFG.bit.EDGMODE设置成0x02(HR_FEP),由于仅下降沿获得高分辨率,上升沿无法获得高分辨率,会导致PWM事实上的分辨率仍然只有1/60M。另一方面,如果EPwm1Regs.HRCNFG.bit.EDGMODE设置成0x03(HR_BEP),这种工况下,高分辨率的部分在上升沿和下降沿均为延迟,也就是说高分辨率的部分在HR_BEP模式下,只能造成相移,不能改变占空比。

从这一点来讲,TI提供的双向BuckBoost的例程应该是有问题的,无法实现高分辨率的PWM。各位大神,有没有人有遇到过这个问题,是否可以提供解决方案。

  • 感谢您对TI产品的关注!为更加有效地解决您的问题,我需要多一些时间查看这款芯片/由于问题比较复杂,我需要询问更了解这款芯片的TI资深工程师,再为您解答,一旦得到回复会立即回复给您。
  • 1.即使仅对下降沿应用边缘控制,与禁用HRPWM功能相比,您仍将具有更高的分辨率。
    2.如果将CTLMODE(HRCNFG寄存器的位2)设置为1,则这是正确的,这意味着TBPHSHR寄存器控制边沿位置。 如果将CTLMODE设置为0,表示CMPAHR或TBPRDHR寄存器控制边沿位置,则可以更改占空比。
  • 1.仅用下降沿应用边缘控制,在一半的范围获得高分辨率,另外一半的分辨率仍为1/60M,如果您同意这一点,那么我们在第一个问题上算是达成一致,只是对更高分辨率的定义略有不同。

    2.我的设置如下:

    EALLOW;
    EPwm1Regs.HRCNFG.all = 0x0;
    EPwm1Regs.HRCNFG.bit.EDGMODE = HR_BEP; // MEP control on both edges
    EPwm1Regs.HRCNFG.bit.CTLMODE = HR_CMP;
    EPwm1Regs.HRCNFG.bit.HRLOAD = HR_CTR_PRD;

    EPwm1Regs.HRCNFG.bit.AUTOCONV = 1; // Enable autoconversion

    EPwm1Regs.HRPCTL.bit.HRPE = 0;
    EDIS;

    为了对比,PWM1和2分别设置如下

    实测波形如下

  • 如果你们查到问题,请回复我哦

  • 好的,我在咨询其他工程师,收到答案会尽快回复你。