FPGA学习笔记_IIC协议

FPGA学习笔记

IIC协议

1. IIC协议概念
2. IIC协议原理
	2.1. 起始位,结束位
	2.2. 器件地址
	2.3. 存储器地址
	2.4. 应答位
	2.5. 读写时序

1. IIC协议概念
IIC: inter integrated circuit BUS, 集成电路总线,是一种串行通信总线,多为主从结构。 一般用在小数据亮场合,传输距离短。
特点

  • 连接简单:物理层上,IIC协议只有2根总线线路:SCL(串行时钟线), SDA(串行数据线)
  • 双向通信:两根线可以完成数据的传入和传出。
  • 多主多从:一个IIC总线上可以连接多个主机,多个从机。同一时刻,只能有一个主机向总线发起传输。
  • 传输速度快:在标准模式下,100kbit/s,快速模式下400kbit/s,高速模式下3.4Mbit/s。主从设备之间以字节为单位双向数据传输。
  • 唯一ID:总线上的每一个器件有唯一ID。只有总线上的传输与该器件的ID匹配时,器件才对总线上的传输做出相应的回应。不会产生冲突。

2. IIC协议原理

  • 2.1 起始位,结束位
    在这里插入图片描述
    起始位:SCL信号为高电平时,SDA出现一个下降沿 开始传输数据
    停止位: SCL高电平,SDA上升沿 停止传输数据
    总线空闲状态:SCL高电平;SDA高电平;
    SCL高电平:SDA数据稳定;SCL低电平:SDA数据变化

  • 2.2. 器件地址
    在这里插入图片描述
    传输顺序:从高位到低位
    Eg. Chip select bits: 3’b100
    读:1010_100_1
    写:1010_100_0

  • 2.3. 存储器地址
    在这里插入图片描述
    长度:1或2个字节(与器件的存储单元数有关)
    位置:主机收到ACK后,主机发出存储地址

  • 2.4. 应答位
    在这里插入图片描述
    当发送方(图:主机)将8位数据发送完成后,等待接收方(图:从机)发送一个应答信号,表示是否已经接收数据。0:应答,1:非应答。(应答信号在8位数据发送完后紧接着的时钟周期(图:#9))

  • 2.5. 读写时序

  1. 读操作:总线上主机从指定的从机的指定的存储地址读取一个(多个)字节数据的完整时序在这里插入图片描述在这里插入图片描述主机操作过程:
    ① 主机设置 SDA 为输出;
    ② 主机发起起始信号;
    ③ 主机传输器件地址字节,其中最低位为 0,表明为写操作;
    ④ 主机设置 SDA 为三态门输入,读取从机应答信号;
    ⑤ 读取应答信号成功,主机设置 SDA 输出,传输 1 字节地址数据;
    ⑥ 主机设置 SDA 为三态门输入,读取从机应答信号;
    ⑦ 读取应答信号成功,主机设置 SDA 输出,对于两字节地址段器件,传输低字节地址数
    ⑧ 据;对于 1 字节地址段器件,无此步骤;
    ⑨ 主机发起起始信号;
    ⑩ 主机传输器件地址字节,其中最低位为 1,表明为读操作;
    ⑪ 设置 SDA 为三态门输入,读取从机应答信号;
    ⑫ 读取应答信号成功,主机设置 SDA 为三态门输入,读取 SDA 总线上的一个字节的数
    ⑬ 据;
    ⑭ 产生无应答信号(高电平)(无需设置为输出高电平,因为总线会被自动拉高);
    ⑮ 主机产生 STOP 位,终止传输。

  2. 写操作:总线上主机写一个((多个))指定数据到指定从机的指定出去地址的完整时序在这里插入图片描述在这里插入图片描述
    主机操作过程:
    ① 主机设置 SDA 为输出;
    ② 主机发起起始信号;
    ③ 主机传输器件地址字节,其中最低位为 0,表明为写操作;
    ④ 主机设置 SDA 为三态门输入,读取从机应答信号;
    ⑤ 读取应答信号成功,主机设置 SDA 为输出,传输 1 字节地址数据;
    ⑥ 主机设置 SDA 为三态门输入,读取从机应答信号;
    ⑦ 读取应答信号成功,对于两字节地址段器件,传输地址数据低字节,对于 1 字节地址段器件,主机设置 SDA 为输出,传输待写入的数据;
    ⑧ 设置 SDA 为三态门输入,读取从机应答信号,对于两字节地址段器件,接着步骤 9;对于 1 字节地址段器件,直接跳转到步骤 11;
    ⑨ 读取应答信号成功,主机设置 SDA 为输出,传输待写入的数据(对于两字节地址段器件);
    ⑩ 设置 SDA 为三态门输入,读取从机应答信号(两字节地址段器件);
    ⑪ 读取应答信号成功,主机产生 STOP 位,终止传输。


参考资料:《FPGA系统设计与验证实战指南》

【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~


猜你喜欢

转载自blog.csdn.net/weixin_50722839/article/details/113854191