I2C 协议图文解析

转自:https://blog.csdn.net/EastonWoo/article/details/52712826

i2c协议注意几点就很好的使用它:

1)由一个主设备,一个或多个从设备组成,所有的信号发起都是由主设备发起,从设备根据这些信号做一些应答。

2)i2c发送时序是先发高位再发低位。

3) 本文以发8位信号为例, 主设备会先发一个7位地址,和一位读写位,从设备匹配自己的地址,如果匹配上,就做应答,否则不做操作

4)开始位:主设备发起,clk为高电平时,sda从高到低; 从设备发现这样一组信号,就认为主设备要开始操作自己了,做好接收的准备工作。

5) 从设备收数据:主设备发送了开始位后,把clk拉低,只有clk拉低,sda才可以做高低变化; 当clk被拉高时,从设备就会去读取sda的高低电平值;clk再次被拉低时,从设备认为此位已读取完毕,认为是有效位,等待clk再次拉高,读取下一位。

6)校验位:主设备发送完8位后,第9位是校验位, 读取到低电平为有效;主设备把clk拉低,sda io换成输入模式(上拉电阻,默认高电平)读取第9位,clk再次拉高,读取从设备发来的校验位。

       分两种情况:

       1.写操作:主设备把clk拉高,等待读取校验位,从设备发现clk拉高后,就把sda拉低,告诉主设备,成功接收前8位数据。

        2.读操作:主设备发送IC地址和寄存器地址,这两个字节的校验位都是由从设备来拉低; 从设备开始向从设备发送数据,clk为低时,sda变化,主设备clk拉高时读取sda, 校验位由主设备拉低; 当从设备发送完最后一个字节后,主设备强制把校验位拉高,告诉从设备不要需要再发了, 从设备发现这个校验位没有被拉低,认为主设备接收错误,也就结束发送了,当然了,从设备自己知道是最后一个字节。

7)结束位:主设备发起,clk为高电平时,sda从低到高

另外:linux 设置IO方向操作瞬间时, 设置输入时:IO电平默认为高; 设置输出时:IO电平默认为低。

通道1为sda, 通道2为clk

主设备发送0x00(写操作)

这个是模拟IO的波形时序,前两个下去又上去的波形为linux 设置IO为输出时,为低电平,后又初始化为高电平。clk一直为高时,sda拉低又拉高,其实已经产生了开始位和结束位,开始后马上又结束了,之后clk拉低又拉高,从设备不做事情,因为已经结束了。后面的波形才是从设备可以识别的,数据在开始位和结束位之间

通道1为sda, 通道2为clk

主设备发送0xC8地址,(读操作)

实际数据为0xC9 0x04 0x11 0x33 0x43

发送地址0xC8, 读取0x04 0x11 0x33 0x43

这个是标准I2C的波形时序

上图图解:

1,2,3,4,5都 是校验位。5号是被主设备主动拉高,告诉从设备要结束了,因为读完最后一个字节。

C为开始位

D 为停止位

A 为读写位

B :我们重点说说B, 为什么会sda在clk为低时时被拉高,是因为主设备读完0x04这个字节后,由从设备去拉高校验位,主设备拉低校验位,告诉从设备已成功读取。其实读完其它0x11,0x33,0x43校验位也会被从设备拉高,只不过是由于这三个字节的第0位是1,所以看起来没有被拉高。

### 回答1: 网络协议报文格式大全中文图文说明.chm 是一个包含网络协议报文格式的详细资料的文件。该文件以CHM格式呈现,CHM是一种微软开发的帮助文件格式,可以整合文字、图像、链接和其他多媒体元素,用于提供用户友好的信息展示。 这个文件包含了各种网络协议的报文格式,网络协议是用于在网络中传输数据的规则和标准。协议报文格式是网络中数据包的组织形式,包括了包头、包体以及其他必要的字段。这些报文格式是不同协议所定义的,例如TCP/IP协议、HTTP协议、FTP协议等。 通过网络协议报文格式大全,用户可以了解到不同协议报文的结构和各个字段的含义。对于网络管理员、网络工程师和开发人员来说,这个文件是一个重要的参考资料。在网络故障排除、协议分析和网络应用开发过程中,熟悉报文格式可以快速定位问题和编写相应的处理程序。 该资料还提供了图文说明,即以图形和文字相结合的方式展示报文格式。图像可以直观地显示报文部分的内容和关系,文字则进一步解释了各个字段的作用和取值范围。这种图文结合的形式能够更好地帮助用户理解和记忆网络协议报文格式。 总之,网络协议报文格式大全中文图文说明.chm 是一个包含网络协议报文格式和图文解释的CHM帮助文件。用户可以通过该文件了解不同协议报文的结构,对于网络管理和开发非常有帮助。 ### 回答2: 网络协议报文格式大全中文图文说明.chm是一个CHM格式的文件,内容详细介绍了网络协议报文的格式。网络协议报文是计算机网络中数据传输的基本单位,它包含了数据的头部和载荷部分。协议报文的格式规定了报文中各个部分的顺序、大小和含义,以便于发送方和接收方能够正确解析和处理数据。 这个CHM文件中的图文说明,通过具体的示意图和文字描述,展示了各类网络协议报文的格式。这些协议可以包括TCP/IP协议、HTTP协议、FTP协议、SMTP协议等等。每个协议都有自己的报文格式,通过示例报文,我们可以清晰地看到不同报文格式中各个字段的位置、长度、类型和用途。 比如在TCP/IP协议中,一个TCP报文的格式可能包括源端口号、目的端口号、序列号、确认号、窗口大小等字段。在HTTP协议中,一个HTTP报文的格式可能包括请求行、请求头部和请求体,或者响应行、响应头部和响应体。这些字段和部分的含义在文件中都有详细的解释和图解说明。 阅读这个CHM文件可以帮助我们更好地理解各种网络协议的报文格式,从而能够更准确地进行数据传输和解析。通过对不同协议报文格式的理解,我们可以更好地进行网络通信的开发、维护和故障排查。 ### 回答3: 网络协议报文格式大全中文图文说明.chm是一个包含了网络协议报文格式的中文图文说明文件,以CHM格式进行存储和展示。 网络协议是计算机网络中用于数据传输和通信的规则和约定,而网络协议报文格式则指的是在网络通信过程中,数据包的结构以及其中各个字段的含义和使用规则。理解和掌握网络协议报文格式对于网络通信的设计、实现和故障排除非常重要。 这个CHM文件中的中文图文说明内容,主要包括了各种常见网络协议的报文格式,例如TCP、UDP、IP、HTTP等。每种协议的报文格式都会详细解释和展示,包括报文的头部、标识字段、数据字段等,以及各个字段的作用和取值范围。 通过这个CHM文件,用户可以方便地了解和查找各种网络协议的报文格式,从而更好地理解和应用网络协议。这对于网络开发人员、网络管理员以及网络安全人员都是非常有帮助的。 总之,网络协议报文格式大全中文图文说明.chm是一个非常有用的网络协议学习工具,它提供了中文图文的解释和展示,帮助用户理解和掌握各种网络协议的报文格式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值