This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TCA9544A:I2C MUX通道选择

Guru**** 2382070 points
Other Parts Discussed in Thread: TCA9544A, TCA9554A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/587583/tca9544a-i2c-mux-channel-selection

部件号:TCA9544A
主题中讨论的其他部件: TCA9554A

您好,TI  

我们正在使用TCA9544A Mux来配置多个 具有相同地址的I2C从属设备

我们开发了自己的主板,I2C MUX,ch0,ch1,ch2用于3个从属设备  

我如何选择从从属设备读取/写入数据的特定通道

根据 数据表

 命令寄存器为INT3,INT2,INT1,INT0,X, B2,B1,B0 ,低位字节选择用于读/写数据操作的通道  

1. 根据数据表1 0 0,哪个ch0处于活动状态,因此我可以与ch0通信?  

 start,E8 (MUX_Addrs)+R,0x4, stop, 然后0x29 (Slave_Addrs) 此I2C命令是否与通道0通信?

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Vinod,

    感谢您的提问。  我希望我能帮您回答这些问题。  

    简短的回答是肯定的,我认为您的答案基本上是正确的,您的顺序将配置TCA9544A mux,以将通道0连接到总线。  

    我看到的唯一错误是您的陈述中的"E8 (MUX_Addrs)+R"部分。  如果地址为0xE8 (1110 1000)。  固定地址为1110,A2 = 1,A1 = 0,A0 = 0,R/W位= 0。  要指示写入操作,R/W位= 0。  要指示读取操作,R/W位= 1。  您已将该位设置为0进行写入,但在描述中,它被称为“R”进行读取。

    要配置TCA9544A设备以切换信道,您需要对控制寄存器执行写入操作。  您的E8值实际上是正确的。  一旦TCA9554A设备确认您的寻址写入,您就可以使用0x04 (0000 0100)写入控制寄存器。  这将选择通道0。  一旦TCA9544A设备确认控制寄存器写入,主控制器必须在总线上发出停止条件,然后才能继续与从属设备进行任何通信。  

    如果有需要从控制寄存器读取的中断,则主中继器需要使用"R/W =1"来寻址TCA544A,以指示即将进行控制寄存器的读取操作。  TCA9544A将发出寻址确认并返回控制寄存器内容。  读取操作完成后,主接收器必须通过在最后一个字节从从属字节计时结束后不生成确认(nack)来向发射器发送数据结束信号。  这是由保持SDA线高的主接收器完成的。  在这种情况下,发射器必须释放数据线,以使主控制器生成停止条件。  

    由于只有一个控制寄存器,因此只需要读取一个字节的数据。  数据表的编程部分对此进行了讨论,如第12页的图10所示。  

    但总之,顺序中的值应导致总线切换到通道0,并允许您与该设备通信。

    此致,

    乔纳森

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我明白了,  

    我想做的是,MUX与具有相同地址的ch0,ch1,ch2的3个颜色传感器相结合  

    我要从ch0,ch1,然后ch2获取颜色传感器数据

    正如您所说

    1.start, 0xE8 (Mux_ADRs + W),0x04,0x29 (彩色IC适配器),在  其他通道上以类似方式停止0x05 (CH1),0x06 (CH2)