打印
[开发资料]

I2C 总线协议

[复制链接]
266|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2024-1-3 08:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
I2C 总线使用两根信号线(数据线 SDA 和时钟线 SCL)在设备间传输数据。SCL 为单向时钟线,固定由主机驱动。SDA 为双向数据线,在数据传输过程中由收发两端分时驱动。

I2C 总线上可以连接多个设备,所有设备在没有进行数据传输时都处于空闲状态(未寻址从机接收模式),任一设备都可以作为主机发送 START 起始信号来开始数据传输,在 STOP 停止信号出现在总线上之前,总线一直处于被占用状态。

I2C 通信采用主从结构,并由主机发起和结束通信。主机通过发送 START 起始信号来发起通信,之后发送SLA+W/R 共 8bit 数据(其中,SLA 为 7bit 从机地址,W/R 为读写位),并在第 9 个 SCL 时钟释放 SDA 总线,对应的从机在第 9 个 SCL 时钟占用 SDA 总线并输出 ACK 应答信号,完成从机寻址。此后根据主机发送的第 1 字
节的 W/R 位来决定数据通信的发端和收端,发端每发送 1 个字节数据,收端必须回应 1 个 ACK 应答信号。数据传输完成后,主机发送 STOP 信号结束本次通信。

使用特权

评论回复
沙发
中国龙芯CDX| | 2024-1-9 15:08 | 只看该作者
单线传输速率应该不快吧

使用特权

评论回复
板凳
jf101| | 2024-2-25 18:01 | 只看该作者
SCL 为单向时钟线,固定由主机驱动。SDA 为双向数据线,在数据传输过程中由收发两端分时驱动。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1721

主题

12973

帖子

54

粉丝