大家好、支持团队
我的客户有以下问题:
我遇到了一个问题、即有时微处理器 SCI-A RX 中断上电时无法正常工作。 在大多数上电周期中、微处理器工作正常、但偶尔(每五个周期中有一个)会发生故障。 为了排除电源定序规则、我已经能够在 F2812的 eZdsp 评估板上重现此问题、并且还可以使用调试器上的 TI Code Composer 中的 CPU 复位来重现此问题。 SCI-A 被设置为以38、400波特运行、奇偶校验、FIFO 使能、RX 和 TX 中断被置位的 UART。
发生故障时、系统的状态如下。
PIE 确认在 IER 9中启用 SCI-A RX 和 TX。 IFR #9一直读取为0。
SCI-A RX FIFO 状态显示数据存在、FIFO 深度满16、溢出被置位。 此外、RXINT 激活(1)。
在尝试启动时、我强制清空 FIFO 并像在 ISR 中那样确认中断。 完成后、我可以确认(在示波器上使用 GPIO) RXINT 复位。 但是、在接收到新数据后、PIE 无法设置中断。
在我复位电源之前、这种情况是永久性的。 是否有任何想法正在发生什么? 我不明白 PIE 是如何完全冻结还是忽略 SCI-A RXINT 的? 在此期间、系统中的计时器中断行为正常。 建议的修复?
如果需要、我可以为您提供显示 PIE、SCI-A 初始化以及用于故障排除的 ISR 例程的代码片段。
非常感谢。
此致、
Yuki