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.

[参考译文] TMS320F280049C-Q1:Tpwm & amp;TBCTR HiResolution

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1004039/tms320f280049c-q1-tpwm-tbctr-hiresolution

器件型号:TMS320F280049C-Q1

您好、专家、

我的客户参考 TMS320F004x 数据表中的7.11.3增强型脉宽调制器(SPRS945F)

ePWMxA/ePWMxB 信号可由 HRPWM 模块通过高分辨率步长(150ps 最小值)进行控制。
此外、时基周期可由 TBPRD 和 TBPRDHR 寄存器设置。

客户问题是:
1) 1)用户能否通过 TBPRD 和 TBPRDHR 设置 PWM 周期 Tpwm 或 PWM 频率 Fpwm、以及高分辨率步长(150min)?
2)下面的 TBCTR 是否有分辨率步骤(最小150ps)?

此致、
Saito

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

    您好!

    [引用 userid="44649" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1004039/tms320f280049c-q1-tpwm-tbctr-hiresolution ]]用户可以通过 TBPRD 和 TBPRDHR 的高分辨率步长(150min)设置 PWM 周期 Tpwm 或 PWM 频率 Fpwm?

    是的、可以通过高分辨率步骤控制周期。

    [引用 userid="44649" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1004039/tms320f280049c-q1-tpwm-tbctr-hiresolution ]2)下面的 TBCTR 是否具有 HiResolution 步骤(最小150ps)?[/quot]

    否、TBCTR 只以 SYSCLK 速率的最大值计数。 使用 TBCTR 生成低分辨率 PWM、并 使用 不同的电路(7.11.4高分辨率脉宽调制器(HRPWM))应用高分辨率

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

    谢谢、Subrahmanya。

    让我再问一个问题。 我需要更深入地理解、因为客户要求更多。

    我也指的是 F28004x TRM 中的18.15.1.5.4高分辨率周期(aprui33d.pdf)。

    我知道 ePWMxA 的 Tpwm 可以通过以高分辨率步骤设置 TBPRD 和 TBPRDHR 来控制。 (最小150ps)。
    另一方面、TBCTR 以常规步骤在 TBCLK 上计数。 (当 TBCLK=100Mhz 时、常规 PWM 步长为10nsec)

    不过、我认为 ePWMxA (具有高分辨率)是由 TBCTR 递增或递减计数所产生的。 我的理解似乎是错误的

    问题:
    如何在高分辨率步骤中制作 ePWMxA 的 Tpwm? 它是仅基于 TBCTR 还是也基于附加计数器?
    -我是说,除了 TBCTR 外,还有其它高分辨率步进的小数计数器,TBCTR 是内部的,隐藏在时基或 HRPWM 子模块中吗?

    此致、
    Saito

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

    您好!

    [引用 userid="44649" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1004039/tms320f280049c-q1-tpwm-tbctr-hiresolution/3711596 #3711596"]-如何在高分辨率步骤中制作 ePWMxA 的 Tpwm? 它是仅基于 TBCTR 还是也基于附加计数器?[/QUERT]

    是的、它是由额外的逻辑完成的、而不是 TBCTR 计数器。 使用基于专有延迟线的架构可获得高分辨率。  

    [引用 userid="44649" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1004039/tms320f280049c-q1-tpwm-tbctr-hiresolution/3711596 #3711596"]-我是说,除 TBCTR 外,还有其他任何高分辨率步骤的小数计数器,TBCTR 是内部的,隐藏在时基或 HRPWM 子模块中?

    它不是一个额外的小数计数器、但在功能上它是等效的基于微步进延迟的架构、正如我在前面所说的那样。 从用户的角度来看、这可被视为提供超出 TBCTR 的高精度逻辑器件。

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

    您好、Subrahmanya、

    客户仍感到困惑。

        苏布拉赫曼尼亚说:
        它(用于高分辨率 Tpwm 的 ePWMxA 信号)由额外的逻辑完成、 而不是 TBCTR 计数器。  
        使用基于专有延迟线的架构可获得高分辨率。  

    针对高分辨率(如 CMPA/CMPB)的事件触发器如何?
    CMPA/CMPB 与 TBCTR 进行比较以产生触发事件。 CMPA/CMPB 或 TBCTR 是否也使用延迟线来实现高分辨率?
    我还对如何使用 CMPA/CMPB 在 ePWMxA Tpwm 高分辨率和事件触发器之间同步感到困惑。

    e2e.ti.com/.../E2E_5F00_Tpwm-TBCTR-HiResolution.xlsx

    此致、
    Saito

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

    您好!

    [引用 userid="44649" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1004039/tms320f280049c-q1-tpwm-tbctr-hiresolution/3715710 #3715710">如何使用事件触发器实现 CMPA/CMPB 等高分辨率?
    CMPA/CMPB 与 TBCTR 进行比较以产生触发事件。 CMPA/CMPB 或 TBCTR 是否也使用延迟线来实现高分辨率?[/QUERP]

    使用 CMPA/CMPB 的事件触发器不处于高分辨率模式。 这些事件将只处于低分辨率模式- w.r.t TBCLK of PWM。
    CMPA:CMPAHR (或 CMPB:CMPBHR)一起确定边沿位置。
    CMPA 与 TBCTR 一起用于边沿生成、然后使用使用 CMPAHR 的 delaylines 进一步应用、以确定边沿的精细位置。

    [引用 userid="44649" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1004039/tms320f280049c-q1-tpwm-tbctr-hiresolution/3715710 #3715710"]我还不知道如何使用 CMPA/CMPB 在 ePWMxA Tpwm 高分辨率和事件触发器之间同步。

    PWM 输出将为高分辨率 、但事件不会为高分辨率。 通常、事件是在 PWM 的开启时间中间生成的、用于 ADC 采样等 这可以生成 CMPA/B/C/D、计数器零/PRD 匹配事件。 这些事件基于 TBCTR (无 HR)。  

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

    你好,苏布拉赫曼尼亚

    很抱歉 问了很多次、 因为我需要更深入的演讲。

    “PWM 输出 ePWMxA 将具有高分辨率,但事件不会具有高分辨率,因为事件基于 TBCTR。”
    我明白了。 但细节不清楚。

    我不清楚的一点是:
      ePWMxA 由延迟线延迟、延迟线由 TBPRD 和 TBPRDHD 寄存器计算。
      另一方面、TBCTR 仅由 TBPRD 递增或递减计数。

    例如)

     18.15.1.5.4高分辨率周期(sprui33d.pdf)
       TBCLK                    = 10ns (100MHz)
       所需的 PWM 频率    = 175kHz (周期为571.428)
       180ps (MEP_ScaleFactor) =  55 (10ns/180ps)时每个粗略步进的 MEP 步进数
       将 TBPRDHR 保持在1-255和小数范围内的值        = 0.5 (Q8格式为0080h)
       舍入常量(默认值)

     在这种情况下、
        -  ePWMxA 周期  = 1/175kHz = 5.71428 usec = 571.428 * 10nsec -->(TBPRD=570:(整数周期值)-1,TBPRDHR= Frac (571.428)<<8)
        -  TBCTR 周期   = 5.71 μ s               = 571 * 10nsec -> (TBPRD = 570)

    因此、ePWMxA 周期与 TBCTR 周期不同。 不完全相同。

    “C2000如何在 ePWMxA 周期和 TBCTR 周期之间实现相同的周期?”
    这仍然是不清楚的。

    请问可否解释一下这些机制?  

    此致、
    Saito

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

    您好!
    多个问题没有问题、可以随时提出并澄清您的理解。

    [引用 userid="44649" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1004039/tms320f280049c-q1-tpwm-tbctr-hiresolution/3717388 #3717388)]我不清楚的一点是:
      ePWMxA 由延迟线延迟、延迟线由 TBPRD 和 TBPRDHD 寄存器计算。
      另一方面、TBCTR 仅由 TBPRD 递增或递减计数。[/引用]

    没错。 TBPRD 用作粗略计数器 TBCTR 的周期。 TBPRDHR 用于通过延迟机制获得高分辨率。

    [引用 userid="44649" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1004039/tms320f280049c-q1-tpwm-tbctr-hiresolution/3717388 #3717388"]

    因此、ePWMxA 周期与 TBCTR 周期不同。 不完全相同。

    “C2000如何在 ePWMxA 周期和 TBCTR 周期之间实现相同的周期?”
    这仍然是不清楚的。

    请问可否解释一下这些机制?  

    [/报价]

    是的、TBCTR 周期(使用的是 TBPRD)与输出 PWM ePWMxA 周期不同。 因为 ePWMxA 周期将同时对应 TBPRD:TBPRDHR (即整数部分和小数部分)。 正如我之前所说的、在高分辨率周期控制模式下、基于延迟线的算法将生成最终的 PWM、其中包含周期的小数分量包含在 ePWMxA 输出中。 在模块的设计中已经解决了这一问题。 这是一种在硬件中实现的算法、对用户来说是透明的-它不是一个简单的线性延迟。 从使用的角度来看、您应该会看到包含小数分量的高分辨率 ePWMxA 输出。
    您是否观察到任何特定问题? 如果是、请强调同样的内容、以便我们能够具体讨论这些方面。