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.
大家好、香榭丽舍、
我的客户正在使用 F28377D、他们现在已耗尽 ePWM 模块、因此他们使用 ECAP 在 APWM 模式下工作以进行断路器控制。
它们希望使用立即模式更新 CAP2寄存器中的比较值、而 F2837xD TRM (SPRUHM8F) 16.4捕获和 APWM 操作模式确实提到了写入 CAP2活动寄存器将模拟立即模式:
b 在 APWM 模式下、向 CAP1/CAP2活动寄存器写入任何值也会向相应的寄存器写入相同的值
影子寄存器 CAP3/CAP4。 这模拟立即模式。 写入影子寄存器 CAP3/CAP4会调用
影子模式。
但是、他们的测试结果表明、它不能按预期工作、因为它仅在下一个周期生效。
随附的是他们的代码配置和捕获的波形、您能否检查是否存在任何错误或误解?
通道1是 APWM 输出、周期为1ms、占空比为99%。 CAP2寄存器将在通道4上升沿和下降沿更新。
此致、
张卫健
您好 Ricky、
根据 CAP2寄存器的配置、行为符合预期、并且会立即更改 ACMP 的值、 但是、对输出的影响仅在下一个周期内可见、因为 CAP2的初始值(ACMP)、即在通道4触发并更改了 CAP2上的值之前已经发生了"0"。 这将仅在下一个周期生效。
如果您看下图(它来自 TRM)、TSTCR 计数器会一直计数、直到达到 CAP1 (即 APRD)值、并且占空比由 CAP2 (ACMP 寄存器)定义、其中输出极性变为 TSTCR=CAP2。 根据客户的配置、周期开始时极性会发生变化、因为 CAP2=0、因此在整个周期内保持高电平。 现在、根据通道4触发条件写入 CAP2 (99%占空比)的新值发生在 TSTCR=CAP2 (初始)=0之后、因此一旦 TSTCR 复位、它将在下一个周期生效。 为了能够立即看到效果、以下关系必须保持为真:
TSTCR (电流)应小于 CAP2 (新)和 CAP2 (以前)、这很难根据外部异步事件进行计时。
如果您仍有任何疑问、请告诉我。
此致、
Nirav
Baskaran、Richard、Nirav、
感谢您的快速响应、您的解释是合理的。 这一点已经很清楚了、现在可以解决这个问题。
再次感谢您的友好支持。
此致、
张卫健