我正在从事一个汽车项目,我需要在非常特定的时间处理一些关于电机角度的计算。到目前为止,我已经设置了我的外围设备 ADC、BCTU、DMA、TRGMUX、eMIOS、LCU 和其他……
我相信我可以使用 BCTU 触发器通知,以便在 BCTU 被触发的同时运行中断 CB,但似乎在触发器和正在执行的 CB 函数之间有一点延迟。
我使用了触发多路复用器来将 eMIOS MCL 信号驱动到一个引脚中。
我正在使用 SIUL2 来切换 BCTU 的触发 CB 功能中的另一个引脚,以检查时序。
我还更改了我正在使用的所有其他中断的优先级。我已将它们变为 5 和 4,并且 BCTU 触发器设置为 0。
我注意到的是下面的图片:
红线是来自触发器多路复用器的 eMIOS0_22 RELOAD_OUT 信号,蓝线是我在 CB 功能中打开/关闭的 IO。
我还在示波器中使用了持久性模式以查看时序差异。我的触发器取自红色线。
现在有一些问题:
1. 有人可以告诉我为什么从 eMios 信号到 CB 被调用之间有这么大的延迟吗?它就像定时器信号后的 32uS。
2. 信号 eMios0_22_RELOAD_OUT 是否与触发 BCTU 的信号相同?
3. 为了让 CB 运行 eMIOS MCL 定时器的 OverFlow 或 UnderFlow,你能给我什么建议吗?
4. 是否可以向我指出任何可能有帮助的额外文件?我已经阅读了参考手册和一些 BCTU、LCU ppts。