I2C(Inter-Integrated Circuit)通信协议支持多个内部地址,允许在总线上连接多个设备。每个设备都有一个唯一的地址,主设备通过发送设备地址来选择与之通信的从设备。以下是有关I2C内部地址的详细信息:
I2C地址类型
- 7位地址:这是标准的地址长度,范围从0x00到0x7F(0至127)。
- 10位地址:通过扩展地址空间,允许更多的设备连接。10位地址由7位设备地址和3位扩展地址组成,范围从0x000到0x7FF(0至2047)。
保留地址
- 通用调用地址:地址0,用于向所有连接到I2C总线上的设备发出指令。
- C-Bus协议地址:地址01,预留给C-Bus协议。
- 不同的总线格式地址:地址02,保留给不同的总线格式。
- 高速模式控制码:地址04到07,用于高速控制器代码。
- 设备ID地址:地址7C至7F,保留用于设备ID。
10位地址的使用
使用几个保留地址来扩展地址到10位,可以扩展设备数量。在保留地址中,78h到7Bh的最后两位代表用于扩展地址空间的前两位。
地址分配和冲突
- 地址分配:每个设备在出厂时都会被分配一个唯一的地址,确保在总线上不会发生地址冲突。
- 冲突检测:I2C协议包含仲裁机制,以决定多个主设备同时尝试控制总线时哪个设备获得控制权。