嵌入式通信总线协议IIC

IIC是一种用于近距离、低速芯片间通信的协议,使用两根线——SDA数据线和SCL时钟线。通信中,上拉电阻确保总线空闲时为高电平。每个设备有唯一的7位地址,可以是主机或从机。主机发起和结束通信,从机响应。IIC具有冲突检测和仲裁机制,确保多主机环境下的正确通信。通信涉及起始和停止信号,字节以8位传输,每个字节后跟随1位应答位。
摘要由CSDN通过智能技术生成

串行、同步、半双工

主要用于近距离、低速的芯片之间的通信

两根双向的信号线SDA数据线和SCL时钟线

上拉电阻作用:控制总线空闲时为高电平

IIC总线上可以连接多个器件,分为主机和从机

主机有权发起和结束一次通信,而从机只能被主机呼叫。当多个主机同时启用总线进行IIC通信时,IIC具备冲突检测和仲裁的功能来防止错误产生。

每个连接到IIC总线上的器件都有一个唯一的地址(7bit),且每个器件都可以作为主机也可以作为从机(同一时刻只能有一个主机)

1、此时总线被占用,不会有别的主机启用总线

2、该字节包括想要通信的七位从机地址,加上一位传递方向(0为主->从,1为从->主)

3、告诉主机该从机存在并且可开始传递信息

4、第一个字节(2)一定是主机发给从机的后续的这些不一定

5、每个字节都要回应

n、表示通信结束,其他主机也可以启用总线了

起始信号与停止信号

空闲时SCL和SDA都是高电平

SCL为高电平时,SDA由高变低表示起始信号

SCL为高电平时,SDA由低变高表示停止信号

起始信号和停止信号都是由主机发出,起始信号产生后总线处于占用状态

停止信号产生后总线处于空闲状态

字节传送与应答

IIC总线通信时每个字节为8位长度,数据传送时,先传送最高位,后传送低位,发送器发送完一个字节数据后接收器必须发送1位应答位来回应发送器即一帧共有9位

同步信号

IIC总线在进行数据传送时,时钟线SCL为低电平期间发送器向数据线上发送一位数据,在此期间数据线SDA上的信号允许发生变化,时钟线SCL为高电平期间接收器从数据线上读取一位数据,在此期间数据线SDA上的信号不允许发生变化,必须保持稳定

典型IIC时序

  1. 主机向从机发送数据

  1. 从机向主机发送数据

  1. 主机先向从机发送数据,然后从机再向主机发送数据。必须重新发送起始信号开始,中间不会有终止信号P,从而使得总线不会被其他设备占用

注:阴影部分表示数据由主机向从机传送,无阴影部分则表示数据由从机向主机传送;A表示应答, A非表示非应答,S表示起始信号,P表示终止信号

EEPROM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值