I2C通信


简介:

I2C(Inter-Integrated Circuit),中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,是由飞利浦公司在1980年代初设计的,方便了主板、嵌入式系统或手机与周边设备组件之间的通讯。由于其简单性,它被广泛用于微控制器与传感器阵列,显示器,IoT设备,EEPROM等之间的通信。

1.物理接口

1.SCL(serial clock)时钟线传输CLK信号,一般是I2C主设备向从设备提供时钟的通道;
2.SDA(serial data)数据线,传输通信数据。

2.通信特征


 1. 串行、同步、非差分、低速率、电平协议,所有数据以位为单位在SDA线上串行传输;
 2. 同步通信就是通信双方工作在同一个时钟下,一般是通信的A方通过一根CLK信号线传输A自己的时钟给B,
 	B工作在A传输的时钟下,通信线中有CLK是同步通信的显著特征;
 3. I2C适合通信双方近距离通信,使用电平信号。
 4. I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的地址
 5. I2C总线上的主设备与从设备之间以字节(8)为单位进行双向的数据传输。
 6. 主设备+从设备,谁主谁从是由通信双方来定的,I2C协议并无规定
 7. 可以多个设备挂在一条总线上,可以一对一也可以一对多。

3.主要用途

 1. Soc和周边外设之间的通信,典型的如EEPROM、电容触摸IC、各种sensor等 

4.IIC协议规定:


 1. 每一支IIC设备都有一个唯一的七位设备地址
 2. 数据帧大小为8位的字节
 3. 数据(帧)中的某些数据位用于控制通信的开始、停止、方向(读写)和应答机制
 

5.通信过程


 1. 主设备发一个START信号,通知其它设备开始监听总线以准备接收数据
 2. 主设备发送一个7位设备地址加一位的读写操作的数据帧,当所设备接收数据后,比对地址自己是否目标设备,
 	2.1 如果比对不符,设备进入等待状态,等待STOP信号的来临,
 	2.2 如果比对相符,设备会发送一个应答信号——ACKNOWLEDGE作回应
 3. 当主设备收到应答后便开始传送或接收数据。(数据帧大小为8位,尾随一位的应答信号)
 4. 当数据传送完毕,主设备发送一个STOP信号,向其它设备宣告释放总线,其它设备回到初始状态
 
 补充说明:主设备发送数据,从设备应答;相反主设备接数据,主设备应答。

6.时序


 1. 起始位是一个时间段,总线Clock线维持高电平,SDA线由高变低
 2. 结束位,SCL线维持高电平,同时SDA线发生一个从低到高的上升沿。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Ai_Sj

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

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

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

打赏作者

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

抵扣说明:

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

余额充值