【AD2426/7/8_A2B收发器技术参考手册】第四章 系统调试
A2B IIC功能介绍,推荐参考B站视频:《A2B IIC功能介绍》
五,A2B 系统调试
以下部分提供有关用于故障隔离和纠正的系统诊断信息。除了 A2B 线路故障检测之外,还提供了一种回环测试模式,以验证主节点和从节点中的 I2S/TDM 连接。
5.1 线路故障诊断
本节讨论 A2B 线路故障诊断。它提供了不同故障的描述以及关于如何在软件中对线路故障事件做出反应的编程说明。线路故障在发现期间被检测到,但也可能在发现后出现(延迟故障)。
注意:仅在定位故障时,A2B_SWCTL.DIAGMODE 位必须设置为 1。在所有其他情况下,该位必须设置为 0 以确保设备的正常运行。
5.1.1 发现期间的诊断
线路故障表显示了不同类型的线路故障以及受故障影响的引脚。在总线发现期间,可以检测和定位所有故障。当在发现期间检测到故障时,为下一个串联节点提供偏置电流的开关会自动断开。
开路导线由 A2B_INTTYPE 寄存器值 0x0C 指示。
导线意外连接到下一个节点的错误端口(端口 B 而不是端口 A)也会产生相同的响应或向 A2B_INTTYPE 寄存器设置标志 0x0D。
当一个节点的正导线意外连接到下一个串联节点的负输入时,会发生反向导线故障。此事件由 A2B_INTTYPE 寄存器值 0x0D 标记,或者在等待发现完成响应时出现超时(A2B_INTTYPE = 0x18)指示。
当向 A2B_DISCVRY.DRESPCYC 位字段编程无效值时,或者如果下一个串联节点存在物理缺陷导致节点无法响应时,也会在发现期间出现超时。
需要特定软件流程进行检测和定位的故障在表中用阴影显示。
注意:当线路故障打开偏置开关时,A2B_SWCTL.ENSW 位不会自动清除;这必须在软件中完成。在出现严重线路故障的情况下,主收发器中的 A2B_SWCTL.ENSW 位应设置为 0,以断开对任何总线段的总线偏置。
警告:接地短路和接 VBAT 短路是严重故障,会导致整个总线关闭。正常的 A2B 总线操作应始终停止,包括由主节点移除总线幻象电源(与线路故障位置无关)。在故障被纠正之前,将主收发器的 A2B_SWCTL.ENSW 位编程为 0。
对于以下故障,在位于线路故障位置上游的主节点和从节点之间,部分 A2B 总线操作可以继续。
• 开路
• 错误端口
• 反向导线
• 有缺陷的节点
• 下一个节点的错误发现参数
• 导线相互短路。
5.2 用于线路诊断的寄存器
以下寄存器用于诊断 A2B 总线上的线路故障。有关详细信息,请参阅寄存器描述部分。
• A2B_SWCTL 寄存器控制偏置电压切换到下一个串联节点的 B 侧 A2B 总线链路。该寄存器还提供特殊的线路故障检测模式。
• A2B_SWSTAT 寄存器提供线路诊断状态信息。
• A2B_INTSRC 寄存器包含有关活动中断源的信息,即哪个从节点生成了它,或者中断是否源自主节点。可以使用此寄存器定位线路错误。
• A2B_INTTYPE 寄存器存储有关当前中断请求类型的信息。读取此寄存器将清除相应的中断。
5.2.1 开路故障
“开路故障”图显示了“从节点 0”和“从节点 1”之间的开路故障。当在“从节点 0”和“从节点 1”之间发生此故障时,“主节点”和“从节点 0”之间的通信继续。
5.2.2 导线短路故障
“导线短路故障”图显示了“从节点 0”和“从节点 1”之间的导线相互短路故障。当在“从节点 0”和“从节点 1”之间发生此故障时,“主节点”