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.

[参考译文] TMS320F28069:如何验证2806x HR 模式下 C2000软件示例中的周期值?

Guru**** 2540720 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1196150/tms320f28069-how-to-verify-the-period-value-in-c2000-ware-example-for-2806x-hr-mode

器件型号:TMS320F28069
主题中讨论的其他器件:C2000WARE

您好!

我指的是位于以下位置的示例: C:\ti\c2000\C2000Ware_4_02_00_00\device_support\f28066\examples\c28\hrCAP_CAPTURE_HRPWM; example_2806xHRCap_Capture_HRPWM.c  
ePWM 具有400个周期、SYSCLK 为60MHz、这意味着 ePWM 将生成一个周期为6.67微秒的信号。

在同一示例中、当我在 CCS 中检查表达式"pulsewidthhigh"值时、我得到的值为 Q16格式的"17582918"、并将相同值转换为 uint16、然后得到的值为4292。 以 HCAPCLK 周期数表示、我将其转换为秒(示例中 HCAPCLK 频率为120MHz)、我得到的高脉宽值为35.76微秒。  

由于示例中的占空比为50,这意味着根据 CCS 计算的周期应为71.52微秒,这与 ePWM 生成的周期值不同(6.67微秒)  

我是否进行了错误的计算?

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

    您好!

    将此查询转发给 ePWM 专家。

    此致

    Siddharth  

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

    您好 Siddharth、

    感谢您选择查询、等待响应。

    此致、

    Aditya

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

    您好 Siddharth、

    感谢您选择查询、等待响应。

    此致、

    Aditya

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

    您好、Aditya、

    对于 F28069、您的 ePWM 由 TBCLK 计时、在本例中、SYSCLKOUT=90Mhz。 因为本示例中的 TBPRD 为400。  

    我们得到的周期~= 4us 一半、即~= 2us。

    EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
    EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;

    HRCAP 由 PLL2CLK 计时、并且 HCAPCLK = 120MHz

    //
    //在此示例中:
    // PLL2 = INTOSC1 (10MHz)* 12/2 = 120MHz
    //通常、为了获得更高的精度、使用晶体或来提供 PLL2
    //外部时钟源。
    //
    InitPll2 (PLL2SRC_INTOSC1、12、PLL2_SYSCLK2DIV2DIS);

    高电平脉冲以 Q16格式存储:Int + Fraction、因此我们得到 :17582918 (无符号32位)或 0x010C4B46 (十六进制)。

    高16位包含整数、低16位包含示例中注释表示的小数。

    //! -脉宽高
    //! -高脉冲的脉冲宽度(HCAPCLK 周期数- int + FRAC)
    //! Q16格式(即高16位整数、低16位小数)

    我们从您发布的上述值中得到的整数为 0x010C = 268 (十进制)

    通过转换该十进制数来找出脉宽周期、可以通过此操作完成

    268 *(1 /(120 * 10^6))=~= 2us

    这就是我们对占空比为50%的预期。