IIC通讯协议

目录

IIC通讯协议

IIC通讯协议概念

IIC协议物理层

IIC协议协议层 

设备地址和存储地址 

设备地址 

存储地址 

 IIC的读写操作

单字节写操作

页写操作 

 随机读操作

顺序读操作


IIC通讯协议

IIC通讯协议概念

IIC通讯协议:一种简单、双向二线制同步串行总线,只需要两根管脚即可在连接于总线上的器件之间传送信息;

应用:数据采集领域的串行AD、图像处理领域的摄像头配置、工业控制领域的X射线管配置;

优点:引脚少、硬件实现简单、可扩展性强、可靠性强。 

IIC协议物理层

  •  IIC总线可以连接多个从设备,如图中EEPROM、SENSOP、RTC;
  • 每个从设备都有一个地址,主设备即图中FPGA会发出一个地址,所有从设备接收到此地址后与自己的地址进行对比,如果一样,则会回应主设备一个应答信号ACK,主设备接收到应答信号后便会与从设备进行数据交互;
  • 当多个从设备需要通信时候,需要仲裁
  • IIC协议的三种模式:标准模式数据传输速率100kb/s、快速模式400kb/s、高速模式3.4Mb/s

IIC_SCL:串行时域总线,用于同步通讯数据;

IIC_SDA:双向串行数据,传输通讯数据。 

IIC协议协议层 

协议层有四种状态分别如下:

  1. 总线空闲状态:SCL和SDA都处于高电平 
  2. 起始信号:SCL为高电平,SDA为下降沿,所有从设备检测到下降沿后都由空闲状态转换为等待数据接收状态
  3. 数据读写状态:当SCL为高电平时,主设备将数据写入从设备,每次写入1bit;SCL为低电平时,进行数据更新。从机设备正确接收数据后会将SDA信号线拉低,称为响应位,告诉主机从机已经成功写入数据。
  4. 停止信号状态:SCL位高电平,SDA由低电平变为高电平,则总线便会变为状态1

设备地址和存储地址 

设备地址 

每个IIC设备出厂时都会有一个7bit的设备地址,7bit不一定都会用到,没用到的部分需要自行设置,如下图的EEPROM地址,其中高四位厂家设置不可更改,地三位A2A1A0需自行设置,即IIC总线支持连接8个EEPROM。地址的最低位为读写控制位,位0时表示主机要对从机进行数据写入操作,为1时表示主机要对从机进行数据读出操作。

存储地址 

每个IIC设备都会有存储寻址地址,设备不同地址大小不同,OV77251个字节,OV5640两个字节,AT24C64的EEPROM2个字节。因为AT24C64的存储空间大小为64Kbit,需要13位的寻址地址,即两个字节;AT24C01的存储空间大小为1Kbit,需要7位的寻址地址,即1字节。

 IIC的读写操作

单字节写操作

  1. 主设备发送高电平的START信号,高电平;
  2. 然后发送7bit的设备地址信号和1bit的读写控制信号,从设备收到后与自己的设备地址进行对比,如果一样回应一个ACK信号与主设备建立连接;
  3. 建立连接后主设备发送读写地址,单字节寻址则发送一字节,双字节寻址则发送2字节,如下图所示,没发送一个字节从设备都应该回应一个ACK应答信号;
  4. 主设备或从设备发送数据并且附带一位应答信号表示数据读写完成;
  5. 最后主设备发送STOP停止信号,高电平。 

页写操作 

页写操作与单字节类似,只不过在数据写入时候不再是单字节,而是连续多字节,即一页,同样没字节都要由ACK应答信号。

每个从设备都支持字节写入操作,而不一定支持页读写操作。

 随机读操作

读与写类似,需要注意的是,在读数据前需要先写入设备,决定主设备与哪个从设备进行连接,见下图:

顺序读操作

 顺序读与随机读没有其他区别,只是读取的数据量不同,见下图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值