我将 TMS320F28377S 器件与 CLA 中运行的控制环路一起使用、并更新 ePWM CMPA 寄存器。 在主处理器内核的后台循环中、每隔100ms 调用一次 SFO V8库。 CLA 代码经过定时、可在新的 ePWM 周期开始之前提供 CMPA 寄存器更新。 在随机时间、我看到 CLA 花费了高达25ns 的额外时间(200MHz 时)来完成所有 CMPA 寄存器的更新。 我已经跟踪了当 CLA 尝试更新 CMPA 寄存器时、当 SFO 库在主内核上执行时将发生的延迟。
我无法找到有关 SFO 库及其执行时间和状态的详细信息、而不是其初始调用时间。 在后台周期性调用 SFO 库期间、预期不会对 ePWM 访问或中断操作产生任何影响。
如何最好地消除 SFO 库的活动或使其与 CLA 同步?
SFO 库是否会干扰中断和/或包含会延迟中断的任何 REP 指令?
是否有可能执行 SFO 库并且 ePWM 更新会导致中断例程中的延迟?