您的位置:首页 > 运维架构 > Linux

linux驱动开发之i2c时序简析

2018-02-02 00:39 162 查看
先看i2c基本协议帧:



结合时序图理解:



SCL时钟频率是固定的

sda默认为高电平,从高电平变化到低电平,表示开始;接着发送7bit从设备地址,接着区分读写位,sda高电平时候读数据,sda低电平时候写数据, 第9个周期(不包括起始周期)是ACK,接下来8个周期发送8bit数据,接着又一个ACK(强行拉高。然后拉低点平),接下来8个周期发送8bit数据,接着又一个ACK(强行拉高。然后拉低电平)……..当SCL为高电平,sda从低电平变化成高电平,表示停止位。

规则:SCL为高电平的时候,sda数据才有效,即只看SCL为高电平时候,如果sda稳定为某一个值,则sda数据有效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: