在 IIC 总线与 EEPROM 的交互中,Slave 地址
(从机地址)和 reg 地址
(寄存器地址)分别承担不同角色,其作用及必要性可归纳如下:
1. Slave 地址
1.1 定义与作用
1.设备唯一标识
Slave 地址是 IIC 总线上每个从设备(如 EEPROM)的唯一硬件标识。主设备通过发送 Slave 地址选择目标设备进行通信。
- 示例:某 EEPROM 的默认 Slave 地址为 0xA0(含读写位)。
2.多设备共存
当总线上挂载多个从设备时,Slave 地址用于区分不同设备,避免冲突。
- 例如,通过配置 EEPROM 的地址引脚(如 A0/A1/A2)可扩展不同 Slave 地址。
3.Slave 地址 是否必须?
* 必须存在: IC 协议强制要求主设备在启动通信时发送 Slave 地址,否则无法建立通信链路。
* 唯一性约束: 同一总线上所有从设备的 Slave 地址必须唯一。
2. reg 地址(寄存器地址)
2.1 定义与作用
1.内部存储定位
reg
地址指向 EEPROM 内部的具体存储单元
,用于定位读/写操作的起始位置。
- 示例:向 EEPROM 写入数据时,需先发送目标 reg 地址(如 0x01F0),再传输数据。
2.支持随机访问
通过指定 reg 地址,可实现非连续地址的精准读写操作。
3.reg 地址是否必须?
1. 依赖操作类型:
- 随机读写: 必须指定 reg 地址以确定操作起始点。
- 顺序读写: 可省略 reg 地址,按当前地址指针递增操作。
3. 对比与协作
Slave | reg | 地址 |
---|---|---|
层级 | 设备级标识 | 设备内部存储定位 |
发送时机 | 通信起始帧(地址帧) | 数据帧中紧随控制字之后 |
必要性 | 必须(总线仲裁基础) | 部分场景可选 |