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.

HRPWM高精度互补输出

Other Parts Discussed in Thread: C2000WARE

芯片信号F280049,发波方式与F28377也比较像,现在采用PWM上下互补方式发波,PWMA输出经过上升沿和下降沿死区后输出ePWMxA和ePWMxB,预留一定死区,配置为HRPWM后,ePWMxA输出可以实现HRPWM,但是ePWMxB没有实现,再配置HRCNFG寄存器中的SWAPAB位和SELOUTB位均无法实现ePWMxA和ePWMxB后高精度完全互补,要么只有一路高精度,要么高精度互补后没有死区,请问应当如何解决?

  • 请问你的DBCTL.bit.HALFCYCLE位设置的是什么?
  • 这一位,我设置为0

  • 带死区和互补HRPWM应该跟SWAPAB位和SELOUTB位没有关系,这两者是用于交换HRPWM输出和选择输出口A/B的。
    根据芯片技术手册1906页的NOTE中描述:
    HRPWM capabilities on Deadband Rising Edge Delay and Falling Edge Delay is applicable
    only during Dead Band half cycle clocking Operation. The number of MEP steps is half in
    size [ bits 15:9 ]than duty and phase high resolution registers for the same reason
    目前没有针对F280049带死区HRPWM输出的例程,不过你可以参考F28075的例程:
    C:\ti\c2000\C2000Ware_2_00_00_03\device_support\f2807x\examples\cpu1\hrpwm_deadband_sfo_v8
  • 我查看了这个例程,我的理解是:这个例程配置的是实现高分辨率的DB死区,是在原有的DB死区上再叠加一定的高分辨率延时。我的状态是不需要高分辨死区功能,我只是想实现互补的ePWMxA和ePWMxB,在我实现高分辨率的ePWMxA后,ePWMxB能与其互补。
    例如:周期1000ns,ePWMxA正常输出400ns,死区100ns,ePWMxB输出500ns。现在在ePWMxA上叠加2ns后输出402ns,我希望ePWMxB能够输出498ns。
  • 请问,F28377能否实现上述我所需求的功能?
  • 楼主是实现高分辨率占空比控制吗?请问,你是怎么判断输出的波形是高分辨率的,利用什么测试方法?
  • 直接上TI的例程,例如Example_F2803x_HRPWM,60Hz主频下配置PWM为6MHz(PRD=10),然后CMPA按整数只能生成10%,20%...100^%占空比,通过计算CMPAHR可以得到连续可调占空比PWM,这就是HRPWM的效果:极大的提高了分辨率。