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.
大家好、
我们在客户中遇到了 PWM 丢失问题。 详细信息如下:
1:背景:
如图所示、这四个 PWM 输出 EPWM1A/B (通道1/2) EPWM3A/B (通道3/4)。
它们需要在1/2和3/4之间切换死区。 在每个开关之间、它们将使所有 ePWM 跳闸、作为下图中的消隐。
2.问题:
在跳闸后的第一个 PWM 周期中、仅在通道1上观察到一半 PWM。 在以下时间段内、它正常运行。 这仅在 EPwm1Regs.HRPCTL.bit.HRPE = 1时发生。 我知道、F28035 HRPWM 有一些缺陷、您能不能帮助确定这是否是一个不完美的地方?
详细信息:
对于 PWM 跳闸、它们通过配置 AQCTL 实现了这一点。 对于死区、它们也通过 AQCTL 实现、例如:
EPwm1Regs.CMPA = CMP1 - CMPdelta、
EPwm3Regs.CMPA = CMP1
为了明确、我必须强调、只有 当 EPwm1Regs.HRPCTL.bit.HRPE = 1时才会发生这种情况。
请提供一些建议吗?
根据我的了解、以下是可能的原因:
当前 AQ 配置为:
EPwmRegs.AQCTLA.bit.CAD = AQ_SET;
EPwmRegs.AQCTLA.bit.CAU = AQ_CLEAR;
因此、不带 HR 的 PWM 应该类似于图1中的上波形。
启用 HR 后、系统通知我所有内部寄存器仅在 CTR=0时加载。 因此、PWM 不会在第一个 CMPA 下降事件时设置。
加载 AQ 时、在 CTR =0之前不会设置 PWM。 这可能是第一个 PWM 丢失一半的原因。
但在 CTR = 0时、CMPA 下降事件已通过、此时是否能够设置 PWM?
感谢您的友好支持。
Weiqi、
在 HRPWM 中使用向上/向下计数模式时、缺少 CAD 事件是一个已知问题。 这会导致错过 CAD 上的操作、信号将保持不变、直到下一个周期。
现在、为什么您的信号在 CTR = 0时变为高电平?
我想您必须有其他东西可以在 CTR=0时将 PWM 设置为高电平。 您是否在 CTR = 0时设置了操作? 或者、对于以 CTR = 0结束的跳闸、可能会有一个消隐窗口? 请确认、但 CAU 或 CAD 以外的器件正在将 PWM 输出设置为高电平。
最后、如何解决此问题? 您需要将脉冲围绕 PRD 而不是围绕零进行置中。 更改 CAU 以将 PWM 设置为高电平、更改 CAD 以将 PWM 设置为低电平、这将确保在使用 HR 模式时、两个值在 CTR=0处正确加载。
此致、
Cody
Weiqi、
在该器件上使用 HRPWM 时、无法在向上/向下计数模式中将脉冲置于0附近。 不过、我们可能有一些选择。
查看之前的回复、客户需要:
上面的项目符号是否正确?
一些选项:
许多权变措施取决于您的系统。 如果不是、请告诉我、以上任意一项都能为您服务。
此致、
Cody
感谢 Cody、
实际上、我说服我的客户不要使用 HRPWM 来避免这个问题。
客户需要在高分辨率模式下工作的两个互补 PWM 通道。 这意味着、即使我们设法将一个通道置于 PRD 周围、另一个通道仍需要置于零附近。 所以我相信我们不能满足这项要求。
由于他们的系统在非常高的开关频率下不工作、我认为他们不需要高分辨率模式。 我将支持他们进一步测试和评估不使用 HR 模式的可能性。
感谢您的热情和技术支持。