工具/软件:
我正在使用 德州仪器(TI) F28379D 微控制器 Simulink Embedded Coder 以捕获 1kHz PWM 信号 最大电流 TAS (扭矩角度传感器) 使用了 中断模式下的 eCAP 模块 。
系统设置:
-
输入: 来自 TAS 传感器的1kHz PWM 信号(干净的信号、在示波器上进行了验证)
-
采集: 将 ECAP 模块与结合使用 启用中断
-
Simulink 任务速率: 100kHz (10 µs 基本速率)
-
数据访问: ECAP 值在 ISR 中读取或传递到 Simulink 进行处理或 CAN 传输
-
发现的问题: 间歇性 也就零尖峰 脉冲宽度中的值
-
使用的工具: Monitor & Tune (Simulink)和 CAN 输出(两者都出现相同的尖峰)
- 目前、我在 无中断的情况下运行的采样时间为20kHz。
发现的问题:
尽管输入信号干净且 eCAP 配置通过中断进行了正确、但测得的脉冲宽度偶尔会下降至 做出响应 意外变化。 这些尖峰不存在于实际信号中、并随机出现。
即使在使用时也是如此 触发的子系统 或 中断驱动的捕获例程 、则问题仍然存在。 脉冲宽度通常正确、但有时系统会记录 A 零宽度脉冲 、导致下游问题。
问题:
-
Simulink 的最佳实践有哪些 安全访问 ECAP 数据 使用慢速输入 PWM 和快速采样环路时?
-
我是否应该在 ISR 内缓冲 ECAP 数据并使用 "新数据可用"标志 主要环路吗?
-
使用 由 ECAP 中断触发的函数调用子系统 比触发子系统更可靠?
-
在 Simulink 中使用 ECAP 捕获低频 PWM (例如1kHz)时、是否有已知的最佳实践或常见缺陷? 感谢您的任何指导或建议!



