TI中文支持网
TI专业的中文技术问题搜集分享网站

关于BLDC的PWM调制的问题

  在BLDC控制的PWM调制示例代码中,有一段代码不太明白,请教一下各位:

   Tmp = (int32)Period*(int32)GPR0_BLDC_PWM

   GPR0_BLDC_PWM=DutyFunc是占空比调制系数,是int16格式的。

   Period是int16格式的。

   而初始化时,DutyFunc=0x0500,那么int16格式的Period再乘以一个'0x0500'表达的是个什么意思啊?

 

Eric Ma:

周期值乘以占空比,不就是等于比较寄存器的值吗?至于初始值,则是给比较寄存器的初始值。DutyFunc应该是有Q格式的,你查一下。

Eric

  在BLDC控制的PWM调制示例代码中,有一段代码不太明白,请教一下各位:

   Tmp = (int32)Period*(int32)GPR0_BLDC_PWM

   GPR0_BLDC_PWM=DutyFunc是占空比调制系数,是int16格式的。

   Period是int16格式的。

   而初始化时,DutyFunc=0x0500,那么int16格式的Period再乘以一个'0x0500'表达的是个什么意思啊?

 

Xiaojie Xu:

       在计数器的周期寄存器知一定时,PWM波的占空比由计数器的比较寄存器值决定,当计数值与比较寄存器值发生匹配时,PWM输出产生触发,所以在控制系统中,只要将数字PI调节计算出的结果,按一定系数转换成对应的占空比值,乘以周期值后存入比较寄存器就可获得所需的开关管控制信号。

赞(0)
未经允许不得转载:TI中文支持网 » 关于BLDC的PWM调制的问题
分享到: 更多 (0)