总线通讯协议之——IIC通信协议


前言:平时做fpga项目中,学习好各种通讯协议是最基本的,之前没有系统的整理过,导致理解不透,印象不深,今天开始会一点一点整理所接触到的协议。

总线通讯协议主要包括:USB、SPI、CAN、IIC

今天先介绍IIC通讯协议

1.IIC特性

IIC总线是一种串行半双工总线,适用于近距离,低速芯片之间的通信,一般我们应用于 EEPROM 读写,或者是一些芯片的寄存器读写。

IIC 是一个两线制(双向) 的异步通信结构,分为:串行数据线SDA(收发数据),串行时钟线SCL(通信双方时钟同步)

在这里插入图片描述
可以看到所有设备的SCL连在一起,所有设备的SDA也连在一起。
工作时如果是多个主机同时要进行通讯工作,会先进行仲裁,保证同一时刻只有一个主机工作。(不是本篇内容的重点)
之后进入一主多从的控制方式(本篇重点),如何进行通信呢?下面开始介绍。

1.通讯开始和结束时序:

通讯启动和结束的条件:
通讯过程中S(START)表示开始,并以P(STOP)表示终止。
S:SCL为HIGH时,SDA线上出现高到低的变化,表示通讯过程启动。
P:SCL为HIGH时,SDA线上出现低到高的变化,表示通讯过程结束。

在这里插入图片描述

2.数据有效时序:

IIC协议特点是:时钟信号高电平有效,即当SCL为高时,SDA输入的数据有效,且需要保持稳定。

在这里插入图片描述

3.iic写时序:

在这里插入图片描述
在这里插入图片描述

4.iic读时序:

读时序相对于写时序来说,稍微复杂一点,包括两个过程:
1.设备地址+寄存器地址(可以理解为定位的过程)
2.设备地址+要读的数据(是真正的接收数据过程)
注意:两个不同过程中数据的传输方向要清楚。
在这里插入图片描述
在这里插入图片描述

5.关于应答信号

在这里插入图片描述

推荐视频: 【4分钟看懂!I2C通讯协议 最简单的总线通讯!-哔哩哔哩】

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值