首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >IIc通信协议(一)[通俗易懂]

IIc通信协议(一)[通俗易懂]

作者头像
全栈程序员站长
发布2022-08-11 19:37:21
发布2022-08-11 19:37:21
1.2K0
举报

大家好,又见面了,我是你们的朋友全栈君。

–>物理结构:

–>通信原理:通过对SCL和SDA线高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。

–>iic总线协议:

1】起始和结束信号总是由主设备产生。

起始信号:SCL高电平空闲,SDA由高变低;(SDA拉低后SCL再拉低)

结束信号:SCL高电平空闲,SDA由低变高;(SCL拉高后SDA再拉低)

2】数据传输:SDA的数据在SCL高电平期间被写入从机。所以SDA的数据变化要发生在SCL低电平期间。

3】应答位由从设备发出。

一个字节按数据位从高位到低位的顺序传输完后,紧接着从设备将拉低SDA线,回传给主设备一个应答位, 此时才认为一个字节真正的被传输完成。并不是所有的字节传输都必须有一个应答位,比如:当从设备不能再接收主设备发送的数据时,从设备将回传一个否定应答位。

4】从设备地址选取:I2C总线上的每一个设备都对应一个唯一的地址,主从设备之间的数据传输是建立在地址的基础上,也就是说,主设备在传输有效数据之前要先指定从设备的地址,地址指定的过程和上面数据传输的过程一样,只不过大多数从设备的地址是7位的,然后协议规定再给地址添加一个最低位用来表示接下来数据传输的方向,0表示主设备向从设备写数据,1表示主设备向从设备读数据。

数据格式:每一小包数据由9位bit组成。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/131054.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月2,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档