漫天星yl 发表于 2025-4-29 19:46

I2C多主机与多从机的工作原理

多主机模式: I2C总线上可以有多个主设备,在任何时刻,只有一个主设备控制总线,发起数据传输,其他主设备需要等待当前传输完成后才能接管总线。

多从机模式: I2C总线上可以有多个从设备,每个从设备有唯一的地址。当一个主设备发起通信时,所有从设备都监听总线,只有地址匹配的从设备会响应。

iyoum 发表于 2025-5-3 21:58

仲裁过程透明,不影响其他设备通信,且仲裁失败的主机不会干扰总线。

mollylawrence 发表于 2025-5-3 23:03

主机发送起始条件和从机地址(写操作)。
从机接收到地址后,会发送一个应答信号(ACK)表示已接收。
主机开始发送数据,每发送一个字节,从机都会发送一个 ACK 进行确认。
主机发送停止条件(SCL 为高电平时,SDA 从低电平变为高电平)结束通信。

cashrwood 发表于 2025-5-4 00:36

响应主机请求,提供或接收数据,通过唯一地址识别。

pl202 发表于 2025-5-4 05:36

最终,只有一个主机能够成功控制总线,继续进行数据传输。

maqianqu 发表于 2025-5-4 19:43

若多个从设备地址相同,总线将无法正常通信

belindagraham 发表于 2025-5-4 22:45

通过额外的引脚配置从机地址            

qiufengsd 发表于 2025-5-6 10:11

SDA线采用“线与”连接,所有主机同时发送数据时,SDA线最终表现为各主机发送逻辑的“与”结果。

usysm 发表于 2025-5-6 12:02

允许多个主机共享总线,需通过总线仲裁避免冲突。

uptown 发表于 2025-5-6 13:50

I2C总线可以连接多个从机,每个从机都有唯一的7位或10位地址,用于在总线上寻址。

uiint 发表于 2025-5-6 15:40

所有从机地址唯一,或通过硬件跳线 配置。

ccook11 发表于 2025-5-6 17:46

在多从机系统中,主机可以通过发送不同的从机地址来与不同的从机进行通信。每个从机都会监听总线上的地址,只有当接收到自己的地址时才会响应主机的请求。

jonas222 发表于 2025-5-6 19:31

主机发送从机地址,从机通过比较地址来决定是否响应。

mollylawrence 发表于 2025-5-6 21:14

当主机想要发起通信时,会在 SCL 为高电平时将 SDA 从高电平拉到低电平,产生起始条件。如果多个主机同时产生起始条件,它们会继续发送数据。

abotomson 发表于 2025-5-11 10:04

主机通过向总线发送从机的地址来选择特定的从机进行通信。从机设备通过监视总线上的地址来判断是否需要响应。

dspmana 发表于 2025-5-11 11:46

I²C总线能够高效支持多主机与多从机协同工作

wwppd 发表于 2025-5-13 16:36

虽然I2C本身是串行协议,但可以通过时间片分配实现多个从机的并行访问效果

wengh2016 发表于 2025-5-13 18:55

总线电容应小于400pF,否则需缩短布线或增加驱动能力。

jimmhu 发表于 2025-5-13 21:00

I2C通信协议内置了冲突检测机制,以避免多个主机同时进行传输时的冲突。如果发生冲突,总线上的主机将停止发送数据以避免冲突。

febgxu 发表于 2025-5-14 21:52

I2C使用时钟来同步数据的传输。数据在每个时钟周期的边沿上进行采样和推送,确保数据的可靠传输。
页: [1] 2
查看完整版本: I2C多主机与多从机的工作原理