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.
我正在编程一个直流/直流转换器控制器、该控制器具有两个与 TMS320F280049M 进行交错的全桥 LLC、我打算使用 HRPWM。
通过两个 LLC 交错、ePWM1和 ePWM2用于生成两个相移为90度 的 PWM 信号、以单独驱动 LLC。 LLC 是一款谐振转换器、因此周期和相位都需要每几个 PWM 周期修改一次它的模块。
由于上-下计数占空比范围限制示例(HRPCTL[HRPE]=1)、TRM 图18-89、CTR=ZRO & CTR=PRD 不能用于 AQ 生成 PWM 操作。 因此,为什么仍然可以使用 CTR=ZRO/CTR=PRD 触发中断? 由于周期和零包含两个部分(PRD:PRDHR 或 TBPHS:BPHSHR)、因此中断发出的确切时间是多久?
当 AQ 在 CTR=ZRO 上生成动作时、中断触发时间是否也会像 PWM 抖动一样变化?
是的、您可以在设置中使用 CTR=ZERO 生成中断。
这是 TBCTR 的粗略步进=零事件。 它与 ePWM 的高分辨率部分无关。
中断恰好在 TBCTR = 0时触发、当然、在 ISR 处理程序开始执行之前、也要经过几个周期。
同样、如果抖动是 HR 的一部分、并且不存在于 ePWM 中的 OUTH HR、则在生成 ISR 时不会出现抖动。
通常、如果您使用具有周期和相位控制的 HRPWM、您可能希望稍后添加死区等... 确保在 ZRO/PRD 处不使用 AQ。 使用 AQ 在 CMPAU/CMPAD 中生成操作。
NIMA
你好、Nima、
感谢你的答复。
是的、我尝试使用 HRPWM、通过修改 TRREM 来实现由 ePWM1 CTR=ZRO 触发的中断例程中的相移、从而实现周期和相位控制。 主器件(ePWM1)看起来不错、但我发现从器件(ePWM2)在某些特定微步进上存在一些抖动、例如 PRD:PRDHR = 20.2看起来不错、但 PRD:PRDHR = 20.6将在从器件 PWM 信号上显示一些抖动(CMPA = PRD/2、AQ 使用 CAU 设置和 CAD 清除 PWM)。
如上所述。
'中断恰好在 TBCTR=ZERO 时触发、当然、在 ISR 处理程序开始执行之前、要经过几个周期。'
在 ISR 处理中、ePWM1和 ePWM2的 TRREM 值将按下图所示进行修改。 我想知道、当 CPU 以100MHz 运行时、如何及时修改 TRREM 值、在 ISR 处理程序之前有几个周期、并在修改 TRREM 寄存器之前有几个指令要运行? 或者 TRREM 是否有影子寄存器?
EALLOW; 如果(LoadAction = 1) { // //这也应该写入 PWM2的 GLDCTL2 // (* ePWM[1]).GLDCTL2.bit.OSHTLD = 1; // 同步时// TBCTR 相位负载(用于向上计数 HR 控制所需) // (* ePWM[2]).TBCTL.bit.PHSEN = TB_ENABLE; // 同步时// TBCTR 相位负载(用于向上计数 HR 控制所需) // (* ePWM[2]).TBPHS.bit.TBPHS = TEMP_PHS; (* ePWM[2]).TRREM.BIT.TRREM = 0x100 + TEMP_REM; (* ePWM[1]).TRREM.BIT.TRREM = 0x100; LoadAction = 0; } 其他 { (* ePWM[2]).TBCTL.bit.PHSEN = TB_DISABLE; } EDIS;
此致、
Rj
TRREM 没有影子寄存器。
Subrahmanya Akshaya Jain Manish Bhardwaj
您能评论 TRREM 值更新吗? 我没有关于 TRREM 解决方法的技术信息。
你好、Nima、
对于中断触发时间、我仍然有一些疑问、我认为周期的小数部分有一些不同的用法。
如您 在此处所述 :
因此、HRPWM 使用"延迟"元素工作。 这意味着 HRPWM 延迟未连接到时钟。 有一些实际的延迟元件会延迟信号、您可以启用不同数量的元件来延迟 PWM 信号的边沿。"
及以上:
'这是 TBCTR 的粗略步进=零事件。 它与 ePWM 的高分辨率部分无关。
同样、如果抖动是 HR 的一部分、并且不存在于 ePWM 中的 OUTH HR、则在生成 ISR 时不会出现抖动。 "
看起来 MEP 与正常分辨率 PWM 模块独立工作。 周期的整数部分由带有一个时钟的定时器计数器和 TBPRD 寄存器确定、周期的小数部分由 MEP 延迟确定(在 REM 中显示数字)。
考虑这样的情况:PRD:PRDHR = 10.1、整数部分为10、因此不带 HR 的 PWM 的工作方式类似于带10的周期。 然而、实际完整周期为10.1、随着时间的推移、小数部分将在每个周期累积、并最终大于1、如下所示。
粗调部分是否将处理小数的累积部分生成的整数? 这会影响中断触发周期吗?
此致、
Rj
Ruj、
在这一级别的细节方面、让我将其用于设计、以便为您的特定问题获得准确的答案。
NIMA
您好!
是的、分数在多个周期内累积。 粗阶跃变化间歇性、当该分数累积超过粗阶跃边界时。
中断总是在粗略值上生成(分数部分在中断生成中没有意义。
Nina 和 Subrahmanya、非常感谢您的讲解。
您好!
谢谢你。 请关闭该主题。