Android系统中I2C信息

当前平台支持哪些I2C 总线

i2cdetect -l 命令用于列出系统中所有可用的 I2C 总线。

i2cdetect -l

这个命令的输出提供了关于系统中 I2C 适配器的详细信息。

输出示例:

i2c-0   i2c         bcm2708_i2c.0                     I2C adapter
i2c-1   i2c         bcm2708_i2c.1                     I2C adapter
i2c-2   i2c         i2c-1-mux (chan_id 0)             I2C adapter
i2c-3   i2c         i2c-1-mux (chan_id 1)             I2C adapter

解释:

  1. 第一列:I2C 总线编号

    • 例如:i2c-0, i2c-1, i2c-2, i2c-3
    • 这些是系统分配给每个 I2C 总线的唯一标识符
  2. 第二列:总线类型

    • 通常显示为 i2c,表示这是一个 I2C 总线
  3. 第三列:总线驱动或描述

    • 例如:bcm2708_i2c.0, bcm2708_i2c.1, i2c-1-mux (chan_id 0)
    • 这表示负责控制该 I2C 总线的驱动程序或硬件描述
    • 在这个例子中,bcm2708_i2c 是树莓派上使用的 I2C 控制器驱动
    • i2c-1-mux 表示这是一个通过多路复用器(multiplexer)创建的虚拟 I2C 总线
  4. 第四列:附加信息

    • 通常显示 “I2C adapter”,表明这是一个 I2C 适配器

某条I2C 总线下挂载了哪些设备

要Slave设备先上电,如果没有上电则探测不到

要查看 I2C 总线 1 上的设备:

i2cdetect -y 1

i2cdetect -y 1 命令用于扫描 I2C 总线 1 上的所有设备。这个命令的输出是一个地址矩阵,显示了在该总线上检测到的 I2C 设备。

输出示例:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

解释:

  1. 表头:

    • 第一行和第一列组成了一个十六进制地址矩阵。
    • 横轴(0-f)代表地址的最后一位。
    • 纵轴(00-70)代表地址的前两位。
  2. 矩阵内容:

    • -- 表示该地址没有检测到设备。
    • 数字或字母表示在该地址检测到了设备。
  3. 设备地址:

    • 在这个例子中,我们可以看到两个设备:
      • 地址 0x3c 有一个设备
      • 地址 0x50 有一个设备
  4. 地址范围:

    • I2C 地址范围通常是 0x00 到 0x7F(7位地址)。
    • 一些地址是保留的,比如 0x00-0x07 和 0x78-0x7F。
  5. -y 选项:

    • 这个选项禁用交互模式,直接执行扫描。
  6. 1 参数:

    • 这指定了要扫描的 I2C 总线号码(在这个例子中是总线 1)。

这种方法可以用来判断某颗Camera Sensor是否有正常上/下电。

老师 摄像头挂在CCI* 上面,但是实际 i2cdetect -l 只有
i2c-3 i2c sde_dp_aux I2C Adapter
i2c-1 i2c Geni-I2C I2C Adapter
i2c-2 i2c Geni-I2C I2C Adapter
i2c-0 i2c Geni-I2C I2C Adapter
这个怎么区分呢?

CCI 跟I2C是不同的硬件,不能用I2C工具来检测

老师有没有实用的工具可以提供一下吗?