The TCA9546A is a 4-channel, bidirectional translating switch for I 2 C buses that supports Standard-Mode (100
kHz) and Fast-Mode (400 kHz) operation

TCA9546A是一个4频道双向传输的i2c复用芯片,可以支持标准的100KHZ和高速传输的400KHZ.

The TCA9546A features I 2 C control using a single 8-bit control register
in which the four least significant bits control the enabling and disabling of the 4 switch channels of I 2 C data flow

TCA9546A使用一个8位的控制寄存器,其中的低4位来控制开关这4路i2c数据流频道.

The connections of the I 2 C data path are controlled by the same I 2 C master device that is switched to
communicate with multiple I 2 C slaves. After the successful acknowledgment of the slave address (hardware
selectable by A0 and A1 pins), a single 8-bit control register is written to or read from to determine the selected
channels

A0和A1是硬件连接,如果接地那么就全是0.

由于我遇到的情况,A2,A1,A0均接地,所以slave address = 0xE0.

下表是控制寄存器的情况.

0x01 channel0

0x02 channel1

0x04 channel2

0x08 channel3

当需要使用channel 0时,首先需要:
发送 tca9546a 的slave address: 0xE1(写模式).
然后发送Control register : 0x1.

然后再使用正常的i2c写,比如这个时候你连接的是一个camera sensor, slave 地址是0x70, 这个时候使用你当前芯片的正常写i2c的步骤即可.只是需要在执行之前设置好tca9546a的channel,好让它知道当前是使用哪个channel.

当你需要读设备的寄存器时,同样, 需要先发送:

tca9546a的slave address :0xE1(读模式),然后发送

0x1,选择channel.

然后调用当前芯片的i2c读api函数.

TCA9546A的更多相关文章

随机推荐

  1. hdu5548

    2015ACM/ICPC亚洲区上海站LCM WALK 题意:定义了一种走法,就是从当前的点为sx,sy,可以走到ex,ey;并且ex = sx + z,或者 ey = sy + z, 其中z为lcm( ...

  2. Android openGL ES 2.0里Surfaceview背景透明

    surfaceview的黑色背景会挡住其父的背景,现在把surfaceview的背景设为透明,既可以看到所绘的3D物体,又可以看到背景. 在onSurfaceCreated里,调用GLES20.glC ...

  3. 遍历DOM的所有节点,输出宽度高度都大于50的元素节点名称

    需要注意的问题有几点: 1.遍历所有元素节点的方式是:document.getElementsByTagName("*"),同时为了兼容性好可以再一句:document.all 2 ...

  4. Codeforces Round #209 (Div. 2)

    A: 要么是两次要么4次,判断是否在边界: #include<cstdio> using namespace std; int main() { int n,m,x; ; scanf(&q ...

  5. 想使用 MongoDB ,你应该了解这8个方面!

    应用性能高低依赖于数据库性能,MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案.MongoDB 是一个介于关系数据库和非关 ...

  6. 通过调用门进行有特权级变换的转移,详细注解 对pmtest5.asm解释很详细.

    http://www.myexception.cn/operating-system/484288.html http://www.myexception.cn/operating-system/44 ...

  7. easyui源码翻译1.32--EasyLoader(简单加载)

    前言 扩展自$.fn.datebox.defaults,使用$.fn.datetimebox.defaults重写默认值对象.下载该插件翻译源码 源码 /** * jQuery EasyUI 1.3. ...

  8. Android 设置控件可见与不可见

    通常控件的可见与不可见分为三种情况 第一种    gone         表示不可见并且不占用空间 第二种    visible       表示可见 第三种    invisible    表示不 ...

  9. asp.net web 开发登录相关操作的控件LoginName、LoginStatus和LoginView控件使用详解

    http://book.51cto.com/art/200909/154039.htm http://book.51cto.com/art/200909/154041.htm ASP.NET提供了一套 ...

  10. EF多数据库预热

    使用EF第一次加载程序会很慢,因为EF第一次会生成实体类和数据库的对应关系并做缓存,怎么解决这个问题呢?站在巨人的肩膀上将会省力很多,博客园的dudu已经给出了个解决方案(EF版本6.0以上) htt ...