PCA9541调试记录
PCA9541简介以及工作原理
PCA9541A 是一款 2 对 1 的 2C 总线主选择器,专为需要高可靠性的双主 12C 总线应用而设计,适用于系统运行需求,即便其中一个主设备出现故障或控制器卡因维护而被移除。这两个主设备(例如,主设备和备用设备)位于不同的 12C 总线上,这些总线连接到相同的下游 I2C 总线从属设备。2C 总线命令由任一 I2C 总线主设备发送,并用于每次选择一个主设备。在任何时候,任何一个主设备都可以控制从属设备,只要另一个主设备被禁用或从系统中移除。故障的主设备会与系统隔离,不会影响在线主设备与下游 I2C 总线上的从属设备之间的通信。
版本
PCA9541/01 | 0通道在上电时被选中 |
PCA9541/03 | 上电后没有通道被选中,两个通道均可使用 |
最低的两位二进制位被用作一个指针,以确定要访问的是哪个寄存器。
主设备选择机制
PCA9541A 通过控制寄存器(Control Register) 实现主设备选择,关键位如下:
Bit | 符号 | 功能描述 |
---|---|---|
0 | MYBUS | 本主设备控制请求 (可写) |
1 | NMYBUS | 另一主设备状态 (只读) |
2 | BUSON | 本设备总线连接请求 (可写) |
3 | NBUSON | 另一设备总线状态 (只读) |
4 | BUSINIT | 总线初始化请求 (可写) |
选择逻辑:
控制权判定(相同为真):
“MYBUS”和“NMYBUS”这两个位决定了哪个主设备控制着总线。这里不存在仲裁机制。任何主设备都可以在自己想要的时候控制总线,而不管其他主设备是否正在使用它。
MYBUS == NMYBUS
→ 本设备有控制权MYBUS != NMYBUS
→ 另一设备有控制权
总线连接判定(相异为真):
BUSON != NBUSON
→ 总线已连接BUSON == NBUSON
→ 总线断开
典型应用电路