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.

[参考译文] TMS320F2812:关于SPRC178 F281x PMSM3_3的问题:使用解析器的PMSM的含传感器FOC

Guru**** 2337880 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/577294/tms320f2812-the-question-about-sprc178-f281x-pmsm3_3-sensored-foc-of-pmsm-using-resolver

部件号:TMS320F2812

在该对象中,我们可以找到名为  f281xpwm.c.的文档   

有一个功能用于更新PWM。问题使我感到困惑。

为什么p->PeriodMax   被放大到Q15

在函数开始时,p->PeriodMax  被放大到Q15。tmp被缩小到Q0。在我看来,EvaRegs.T1PR=p->PeriodMax。

  无需充分利用p->PeriodMax. p->PeriodMax可以  直接向EvaRegs.T1PR分配。因此,它可以提高效率。

代码如下所示:

void F281x_EV1_PWM_Update (PWMGEN *p)
{       
  Int16 MPeriod;
       Int32 tmp;

//从周期调制输入(Q15)计算计时器周期(Q0)
       Tmp =(Int32)p->PeriodMax*(Int32)p->MfuncPeriod;          // Q15 = Q0*Q15
       MPeriod =(Int16)(tmp>>16)+(Int16)(p->PeriodMax>>>>1);//    Q0 =(Q15->Q0)/2 +(Q0/2)
       EvaRegs.T1PR = MPeriod;  

....

}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,赵:

    我正在查看您引用的代码,并将很快回复您。

    此致,
    克里斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的帮助! 我很期待这件事。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    还有什么答案吗? 我也对答案感兴趣。