TI专家,
您好!
我们现在需要用到多个温度传感器IC,传感器IC型号为ADT7420,使用I2C通信协议,并有A0,A1地址线。打算使用至少8个该传感器,最好具有扩展功能(比如打算再增加两个该传感器,直接挂接到I2C总线上即可)。要求只使用一个MCU获取这些传感器的数据。所以请问一下TI公司有没有I2C扩展之类的芯片可以使用我们需要的功能呢?
感谢您的任何建议!
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.
你可以考虑TCA9554这款I2C 拓展芯片:
谢谢您的提示. 我刚找到了ADG795A这种类型的芯片是不错的。可能考虑使用这一种类型。我们需要的I2C从器件可能不止8个,所以需要找一个能够扩展能达到12个以上的。如果TI公司有A类似DG795A这种类型的芯片,可以推荐,
再次感谢!@
TI目前的I2C switch最多只能拓展8个,PCA9548A和TCA9548A两款,以下链接是I2Cswitch的所有产品,你可以参考一下:
http://www.ti.com/lsds/ti/interface/i2c-multiplexer-switch-products.page
Hi,Kailyn
谢谢您的指导!觉得PCA9548A这款芯片不错。但我有几个问题想请教一下。
(1)PCA9548A的datasheet里面有下图所示的应用实例,我发现A2,A1,A0都接地去了,那是不是这个电路中只有channel 0是有效的?其他通道不用?
(2)如果PCA9548A的通道0(channel 0)挂接一个I2C设备,假设这个I2C设备地址为0x48。PCA9548A的通道0也有一个地址(0x70),那么如果我要访问该I2C设备,在MCU里面如何才能访问它呢?即这个I2C设备的最终地址是多少呢?是I2C设备地址0x48与PCA9548A的通道0地址0x70进行“相与”操作吗?这个地方有点疑惑。
(3)请问下图所示的接法可以吗?
1)是的,PCA9548A是一款8选1的I2C多路开关,A2A1A0=000说明channel 0导通,这个图里也就是说master和后面拓展的8个设备中的接chanel 0的设备导通。如果A2A1A0=001的话,那么就是和接channel 1的设备导通。
2)datasheet中你也看到了这8个地址,chanel 0挂接的I2C设备的地址就是0x70.主机进行访问时,channel 0的从机地址即为0x70.
3)看了你的这种接法也理解了你的第二个问题,这种接法是不可行的,每个channel只能挂接一个I2C设备,也只能有一个从机地址呢,像你的这种解法,当A2A1A0=000时,channel 0导通,主机只能和地址为0x70的一个从机进行通讯。
Hi,Kailyn
谢谢!现在全明白了,我昨天已经把方案确定好了,准备采用像LTC4314这种专用类型的芯片。如果TI公司有此类型芯片更好(如有可提供型号,呵~)。
再次感谢您一直的指导!