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.

TMS320F28035: 28035中EPWMB有HRPWM功能吗

Part Number: TMS320F28035

请问:

       28035中EPWMB能配置HRPWM功能吗?查看Ti例程和寄存器都是配置CMPAHR,CMPB没有相应的寄存器。是EPWMB没有HRPWM这个功能?还是说配置好CMPAHR之后,EPWMB自动就实现HRPWM的功能了?

       期待大神的恢复。

  • 有的。

    看起来你是把两个ePWM的两路输出(ePWMA/ePWMB)与两个比较点(CMPA/CMPB)搞混了。

    你是不是觉得CMPA用来产生ePWMA,而CMPB用来产生ePWMB?两者之间没有一一对应的关系。ePWMA可以选择在CMPA产生动作,也可以在CMPB产生动作;ePWMB也是一样的。

    这个器件上确实只有比较点CMPA具备高精度功能。但两路输出均可以使用。

  • 感谢您的回复,是不是用CAU和CAD来生成ePWMB的占空比,这样就实现ePWMB的高精度输出,我理解的对吗?期待您的回复!

  • CAU和CAD分别表示的是,在向上-向下计数模式(up-down counter mode)中,计数器向上计数到等于比较值CMPA(CAU, CMPA-Up)、计数器向下计数到等于CMPA(CAD, CMPA-Down)这两个事件,可以为这两个事件配置相应的动作,比如置高或置低。因为向上-向下计数模式存在两个计数方向,所以计数器分别会从两个方向计数到等于相应的比较值。同理CMPB也存在CBU和CBD。这是ePWM模块生成PWM波的基本部分,与高精度输出并没有关系。

    在普通模式下,一个最精细的TBCLK是16.67ns(60MHz),通俗点讲就是计数器的步长(时基)是16.67ns,这个是你可以调的构成占空比的最小的单位;而高精度的步长的典型值是150ps,相差了100多倍。

    实现高精度PWM就是在普通PWM波的基础上,叠加高精度的步长。比如配置高精度占空比,配置了CMPA作为比较点先生成普通的PWM波,再配置HRCMPA叠加到这个普通的占空比上,实现更高的精度。

    就像使用天平称量物体一样,先放10g的砝码。等放到某一个的时候,就会出现少一个不够,多一个太多的情况。这个时候再通过放置1g的砝码,实现对于物体质量的高精度计量。