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.

TMS320F28377D: HRPWM在updown模式下的分辨率问题

Part Number: TMS320F28377D

我将HRPWM配置为updown mode,在测试HRPWM的分辨率时发现,若将EDGMODE配置为BEP,那么分辨率还是updown模式下的20ns,说明BEP似乎仅是进行了位移,并没有高精度的MEP;若改为FEP,那么在CMPA保持不变,CMPAHR变化时,能达到150ps左右的精度,但只要CMPA进一,那么分辨率就由本身的150ps变为10ns,因此该配置下,分辨率的变化是非线性的。

请问updown模式下这个问题该怎么解决呢?

除此以外,还发现一个问题:当CMPA保持不变,仅变化CMPAHR时,当dutyfine增大,即CMPAHR增大,用示波器测量实际占空比,在BEP配置下,实际占空比不发生变化;在FEP配置下,实际占空比随CMPAHR的增大而增大;在REP配置下,实际占空比随CMPAHR的增大而减小,这是为什么呢?感觉逻辑上有点问题

  • 我将HRPWM配置为updown mode,在测试HRPWM的分辨率时发现,若将EDGMODE配置为BEP,那么分辨率还是updown模式下的20ns,说明BEP似乎仅是进行了位移,并没有高精度的MEP;若改为FEP,那么在CMPA保持不变,CMPAHR变化时,能达到150ps左右的精度,但只要CMPA进一,那么分辨率就由本身的150ps变为10ns,因此该配置下,分辨率的变化是非线性的。

    我还是不是很明白你的问题。高精度的值是由相应的HR寄存器配置的,比如高精度周期就是TBPRDHR,高精度比较值A就是CMPAHR。实际上的值就是普通值叠加高精度值,比如叠加了高精度之后的周期值就是TBPRD+TBPRDHR。你可以将它们理解成天平上的砝码,普通的值对应的是大砝码,高精度值对应的就是分度比较小的、比较精确的小砝码。

    当CMPA保持不变,仅变化CMPAHR时,当dutyfine增大,即CMPAHR增大,用示波器测量实际占空比,在BEP配置下,实际占空比不发生变化;

    这个是正常的,因为是上下计数模式,比如配置的是向上计数到CMPA时set,向下计数到CMPA时clear,此时若移动CMPAHR,比如增加CMPAHR,虽然set会推迟,但是clear也会推迟,这样一增一减,占空比就不会发生变化;

    在FEP配置下,实际占空比随CMPAHR的增大而增大;在REP配置下,实际占空比随CMPAHR的增大而减小,这是为什么呢?

    而从BEP改为单边沿触发时,因为肯定会有一个动作发生在另一个没有MEP的边沿,所以占空比就会发生变化,而且占空比变化的趋势就是和 比较点处的动作与MEP边沿的搭配 有关。

    所以是没有问题的。

    你第一个问题也可以从这个角度再考虑一下。

  • 所以说使用CMPAHR计数器,高精度PWM在上下计数的时候,是无法达到150ps左右精度的吗?只能用于up mode或者down mode?

  • 不是,你使能一个边沿就行。

    使能一个边沿就能实现高精度。反而假如高精度不是在普通的基础上叠加、也是像普通比较值一样两边都能使用,那精度反而成了300ps。

    你仔细想想是不是这么个道理