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.
您好、专家、
我的客户参考 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 计数器。 使用基于专有延迟线的架构可获得高分辨率。
它不是一个额外的小数计数器、但在功能上它是等效的基于微步进延迟的架构、正如我在前面所说的那样。 从用户的角度来看、这可被视为提供超出 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 的事件触发器不处于高分辨率模式。 这些事件将只处于低分辨率模式- w.r.t TBCLK of PWM。
CMPA:CMPAHR (或 CMPB:CMPBHR)一起确定边沿位置。
CMPA 与 TBCTR 一起用于边沿生成、然后使用使用 CMPAHR 的 delaylines 进一步应用、以确定边沿的精细位置。
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
您好!
多个问题没有问题、可以随时提出并澄清您的理解。
没错。 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 输出。
您是否观察到任何特定问题? 如果是、请强调同样的内容、以便我们能够具体讨论这些方面。