IIC协议解析

举报
yd_274589494 发表于 2023/07/25 14:17:09 2023/07/25
【摘要】 @TOC 前言本篇文章将会带大家详细了解IIC协议。 一、IIC协议是什么首先,IIC通信与UART,还有SPI统称为串行接口通信,不过它们之间还是有区别的,如UART的负电平逻辑,还有UART通信不需要时钟,只需要特定的波特率即可,SPI与IIC都可以有一个主机,多个从机的情况,不过IIC适用于短距离传输,如片间通信,摄像头的配置等场景。 二、IIC协议的硬件连接一个控制器里面可以含有多个...

@TOC


前言

本篇文章将会带大家详细了解IIC协议。

一、IIC协议是什么

首先,IIC通信与UART,还有SPI统称为串行接口通信,不过它们之间还是有区别的,如UART的负电平逻辑,还有UART通信不需要时钟,只需要特定的波特率即可,SPI与IIC都可以有一个主机,多个从机的情况,不过IIC适用于短距离传输,如片间通信,摄像头的配置等场景。

二、IIC协议的硬件连接

一个控制器里面可以含有多个IIC控制器,一个IIC控制器可以挂载多个IIC设备,这些IIC设备都通过SDA,SCL和主机进行通信。
在这里插入图片描述

三、IIC传输数据

写数据

在这里插入图片描述
1.主设备发送一个开始信号
2.发出一个设备地址(用来确定是往哪一个芯片写数据),方向(读/写,0表示写,1表示读)
3.从设备回应(用来确定这个设备是否存在),然后就可以传输数据
4.主设备发送一个字节数据给从设备,并等待回应
5.每传输一字节数据,接收方要有一个回应信号(确定数据是否接受完成),然后再传输下一个数据。
6.数据发送完之后,主设备就会发送一个停止信号。

读数据

在这里插入图片描述
1.主设备发送一个开始信号
2.发出一个设备地址(用来确定是往哪一个芯片写数据),方向(读/写,0表示写,1表示读)
3.从设备回应(用来确定这个设备是否存在),然后就可以传输数据
4.主设备发送一个字节数据给从设备,并等待回应
5.每传输一字节数据,接收方要有一个回应信号(确定数据是否接受完成),然后再传输下一个数据。
6.数据发送完之后,主设备就会发送一个停止信号。

产生开始信号和停止信号

在这里插入图片描述
开始信号:在SCL线为高电平时,SDA线由高电平变为低电平。
结束信号:在SCL线为高电平时,SDA线由低电平变为高电平。

将数据发送出去

在SCL为高电平时,会将SDA上的电平信号传输出去,当SCL为低电平时可以改变SDA上的电平信号。
注意:在传输数据的过程中SCL必须保持高电平。第一个发送的数据必须是从设备地址,只有找到从设备地址才可以开始发送下面的信息。
在这里插入图片描述

总结

本文主要对IIC的硬件连接,开始信号,停止信号,读写做了一些简单的讲解。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。