paradoxfx

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

0
阅读(6590)

上次提到了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格式进行转换的时候使用的。