paradoxfx

【原创】TI C2833x介绍---HRPWM(3)

0
阅读(6471)

上次提到了HRPW使用基于微边沿定位(micro edge positionerMEP)的技术来提高输出的PWM分辨率。MEP技术将一个时钟周期分解为许多个更小的步长,叫“微步长”,它的典型值是150ps。在SYSCLKOUT=(60-150MHz)时,MEP的步长在150-310ps之间。MEP的详细特性在HRPWM的用户指南里是没有的,要到28335datasheet里面去找。针对MEP的步长,器件手册中提到:

最大MEP步长基于最差情况过程、最大温度和最大电压。MEP步长将随着低电压和高温度而增加,随着电压和冷却温度而降低。使用HRPWM特性的应用应该使用MEP缩放因子优化器(SFO)近似软件函数。在最终应用中使用SFO函数的细节请见TI软件库。SFO函数有助于在HRPWM运行时动态地估计每个SYSCLKOUT周期内的MEP步数量。

MEP的原理可以从下图中分析得出:

1 MEP的原理

1中最上面、周期最大的波形为正常情况下需要输出的PWM脉冲,第二行波形为器件的时钟脉冲,第3行的竖线条则为每个器件时钟脉冲的下降沿(或者上升沿)。MEP的用武之地就在于,将每个下降沿(上升沿)之间的时间间隔,又分成了以MEP步长为间隔的校正逻辑,如下图所示:

2 MEP校正逻辑

在图2中,我们就可以分析出普通PWMHRPWM的区别了。

普通PWM的产生中,使用了一个相对稀疏(coarse)的步长,其个数为:

稀疏步长的个数=取整(PWM占空比*PWM周期值)

对应的16位的比较寄存器CMPA的值就等于稀疏步长的个数。

HRPWM的产生中,使用了MEP技术,其个数为:

MEP的个数=取小数部分(PWM占空比*PWM周期值)*MEP定标因子

这里的MEP定标因子为一个稀疏步长中MEP步长的个数。

对应的16位的比较寄存器CMPAHR的值为:

CMPAHR=( MEP的个数+1.5)<<8

这里左移8位是在以Q8格式进行转换的时候使用的。

Baidu
map