Other Parts Discussed in Thread: AM3352, TL16C754B
器件型号: AM3352
主题: TL16C754B 中讨论的其他器件
您好:
背景:
我叫 Everett Sykes。 我是西部远程信息技术股份有限公司 (WTI) 的设计工程师。 我们生产的一系列产品使用基于 Beagle Bone Black 的 CPU 板。 我们的电路板使用 AM3352 ARM 处理器。 我们使用的是 TI 提供给我们的较旧版本 Linux (v5.4)。
我们的配置:
我们的电路板使用多个四通道 UART。 我们使所有中断都通过开门逆变器运行、这些逆变器以线方式连接到进入处理器的单个中断。 我们最近从 EXAR 器件切换到了 TI TL16CP754C 器件。 因为我们注意到开关、当对 UART 施加压力时、单元挂起。 我们确定代码滞留在中断服务例程中、持续读取 IIR。
我们找到了一个勘误表 (SLLZ048)、其中列出了此夸脱的几个已知问题。 其中一个似乎符合我们的问题。 我已经在读取 IIR 之前尝试读取 LSR、以确定在通过读取 IIR 将其清除之前是否存在中断。 但这只是导致单元缺少中断并默认进入轮询模式。
勘误表 (SLLZ048):
3.问题:如果 IIR 读取与重合、TL16C754B 可以清除仅设置的中断条件
THRE 设置。 由于 IIR 读取通常相对于 THRE 设置是异步的、因此这种可能性也是如此
因为这样会导致该问题发生、尽管这种情况不太可能发生。 读取 IIR 是正常清除之一
三个中断机制。 大多数软件只会将 IIR 读取为对 INT 置为有效的响应
这意味着不会发生这种重叠。 此问题只能在逻辑或的系统上看到
四个单独的 INTA、B、C 和 D 信号组成一个向上信号。 检测哪个通道有中断、
有必要读取所有四个通道的 IIRS、此时可能发生重叠。
解决方法:只读取与生成中断的通道相对应的 IIR。
严重程度:次要
问题:
1.你听说过这个问题吗?
2.那么,你有什么建议来防止这种中断锁定发生?