我正在研究将 LCU 用于 PWM,为此我计划使用上升和下降滤波器从单个 eMIOS PWM 输入创建互补 PWM。我有一个工作设置,它大部分都按预期工作。
但是,对于此设置,我希望在操作期间更新滤波器值(从而改变死区时间)。为了可视化我创建了不同场景的更新,请参见下面的时序图。
现在我不清楚的事情是:当尚未达到下降过滤器值并且下降过滤器值减少到低于当前下降过滤器计数时会发生什么。关于我认为的两种可能结果,请参阅红色插图。
1. fall filter 值的更新发生在匹配之前——因为没有匹配,输出仅在下一个周期的下一个匹配时无效。
2. 下降过滤器值的更新发生在匹配之前——因为新的下降过滤器值小于当前下降过滤器计数,所以输出立即无效。
RM 内容如下:
每个过滤器在关联的 LUT 事件发生时开始累积时钟周期。上升滤波器从输出断言开始计数,下降滤波器从输出无效开始计数。当时钟周期数达到过滤器阈值(匹配指定的过滤器值)时,输出翻转到新状态。例如,如果您指定上升滤波器值为 100h,并且 LUT 事件触发输出断言,则输出信号直到事件发生后的第 256 个时钟周期才会断言。
RM 明确声明“匹配指定的过滤器值”并且不大于或等于指定的过滤器值。这让我怀疑我的第一个选择会是这样。