I2C通讯原理

1、I2C总线的物理结构

❶两条总线线路:一条串行数据SDA, 一条串行时钟线SCL来完成数据的传输及外围器件的扩展

❷I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的地址

❸I2C总线数据传输速率在标准模式下可达100kbit/s, 快速模式下可达400kbit/s, 高速模式下

可达3.4Mbit/s。一般通过I2C总线接口可编程时钟来实现传输速率的调整, 同时也跟所接的上拉电阻

的阻值有关。

❹I2C总线上的主设备与从设备之间以字节(8位)为单位进行单双工的数据传输。

2、I2C协议

❶I2C协议规定:总线上数据的传输必须以一个起始信号作为开始条件,以一个结束信号作为传输的停止条件。起始和结束信号总是由主设备产生。

❷空闲状态:SCL(时钟)和SDA(数据)都保持着高电平。

❸起始信号:当SCL为高电平而SDA由高到低的跳变, 表示产生一个起始条件

❹结束信号:当SCL为高而SDA由低到高的跳变, 表示产生一个停止条件

3、I2C通讯过程

❶起始信号:当SCL为高电平而SDA由高到低的跳变, 表示产生一个起始条件

❷从设备地址位:一般为7位

❸方向位:0表示主设备向从设备写数据,1表示主设备向从设备读数据

❹应答位:从设备可以进行操作拉低SDA(0);从设备不搭理,SDA保持高电平(1)

❺有效数据位:主设备进行读或者写操作

❻应答位:接收方向发送方应答,1为成功,0为失败

❽继续发送有效数据位:主设备进行读或者写操作

❾继续应答位:接收方向发送方应答,1为成功,0为失败

❿结束信号:当SCL为高而SDA由低到高的跳变, 表示产生一个停止条件

4、I2C数据采样时间

5、I2C典型的读和写步骤

主设备往从设备写数据

主设备读从设备数据

6、主设备读从设备的某个寄存器

7、I2C控制器

I2C总线规范rev 03兼容性:

❶从机模式和主机模式

❷多主机功能

❸标准模式(高达100kHz)

❹快速模式(高达400kHz)

❺超快速模式(高达1MHz)

❻7位和10位地址模式

❼软件复位

1字节缓冲带DMA功能

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旭啦啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值