I2C总线的SDA和SCL

串行数据线SDA——负责在设备间传输串行数据 
串行时钟线SCL——负责产生同步时钟脉冲
SCL\SDA是I2C总线的信号线。

I2C总线是共享的总线系统,因此可以将多个I2C设备连接到该系统上。连接到I2C中总线上的设备既可以用作主设备,也可以用作从设备。

主设备负责控制通信,通过对数据传输进行初始化/终止化,来发送数据并产生所需的同步时钟脉冲。从设备则是等待来自主设备的命令,并响应命令的接收。且同步时钟信号只能由主设备产生。

当总线空闲时,SDA和SCL都处于高电平状态,当主机要和某个从机通讯时,会先发送一个开始条件,然后发送从机地址和读写控制位,接下来传输数据秘数据传输结束时,主机会发送停止条件。传输的每个字节为8位,高位在前,低位在后。(SDA是双向数据线,SCL是时钟线SCL。在I2C总线上传送数据,首先送最高位,由主机发出启动信号,SDA在SCL高电平期间由高电平跳变为低电平,然后由主机发送一个字节的数据。数据传送完毕,由主机发出停止信号,SDA在SCL高电平期间由低电平跳变为高电平。)

开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据,数据传输过程中只有在SCL线为低电平期间,SDA上的电平允许变化。
在这里插入图片描述

从机地址:主机发送的第一个字节为从机地址,高7位表示地址,最低位为R/W读写控制位,1表示读操作,0表示写操作。

应答信号:每传输完成一个字节的数据,接收方就需要回复一个ACK(acknowledge)。写数据时由从机发送ACK,读数据时由主机发送ACK。当主机读到最后一个字节时,可发送NACK然后跟结束信号。

数据:从机地址发送完后可能会发送一些指令,依从机而定,然后开始传输数据,由主机或者从机发送,每个数据为8位,数据的字节数没有限制。在开始信号之后,SDA和SCL先都处于低电平,当要传输数据时SDA先为高,之后SCL再跳变为高,才可进行数据的传输:
在这里插入图片描述

重复开始信号:在一次通信过程中,主机可能需要和不同的从机传输数据或者需要切换读写操作时,主机可以再发送一个开始信号。

结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。

版权声明:本文为CSDN博主「TanLnB」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/TanLngB/article/details/111869838

串行数据线SDA——负责在设备间传输串行数据 
串行时钟线SCL——负责产生同步时钟脉冲
SCL\SDA是I2C总线的信号线。

I2C总线是共享的总线系统,因此可以将多个I2C设备连接到该系统上。连接到I2C中总线上的设备既可以用作主设备,也可以用作从设备。

主设备负责控制通信,通过对数据传输进行初始化/终止化,来发送数据并产生所需的同步时钟脉冲。从设备则是等待来自主设备的命令,并响应命令的接收。且同步时钟信号只能由主设备产生。

当总线空闲时,SDA和SCL都处于高电平状态,当主机要和某个从机通讯时,会先发送一个开始条件,然后发送从机地址和读写控制位,接下来传输数据秘数据传输结束时,主机会发送停止条件。传输的每个字节为8位,高位在前,低位在后。(SDA是双向数据线,SCL是时钟线SCL。在I2C总线上传送数据,首先送最高位,由主机发出启动信号,SDA在SCL高电平期间由高电平跳变为低电平,然后由主机发送一个字节的数据。数据传送完毕,由主机发出停止信号,SDA在SCL高电平期间由低电平跳变为高电平。)

开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据,数据传输过程中只有在SCL线为低电平期间,SDA上的电平允许变化。
在这里插入图片描述

从机地址:主机发送的第一个字节为从机地址,高7位表示地址,最低位为R/W读写控制位,1表示读操作,0表示写操作。

应答信号:每传输完成一个字节的数据,接收方就需要回复一个ACK(acknowledge)。写数据时由从机发送ACK,读数据时由主机发送ACK。当主机读到最后一个字节时,可发送NACK然后跟结束信号。

数据:从机地址发送完后可能会发送一些指令,依从机而定,然后开始传输数据,由主机或者从机发送,每个数据为8位,数据的字节数没有限制。在开始信号之后,SDA和SCL先都处于低电平,当要传输数据时SDA先为高,之后SCL再跳变为高,才可进行数据的传输:
在这里插入图片描述

重复开始信号:在一次通信过程中,主机可能需要和不同的从机传输数据或者需要切换读写操作时,主机可以再发送一个开始信号。

结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。

版权声明:本文为CSDN博主「TanLnB」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/TanLngB/article/details/111869838

生成海报
点赞 0

TanLnB

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

STM32串口发送接收数据

1.串口通信 我用的32是stm32f10x最小系统没有UART4和UART5 USART : 通用同步异步收发器 UART : 通用异步收发器 nRTS : 请求发送 nCTS : 请求接收 区别:USART指单片机的一个IO端

Matlab 与stm32单片机之间的串口通信

Matlab 与stm32单片机之间的串口通信 在我们用stm32做信号处理时,我时常需要用到Matlab对我们采集的数据进行分析,拟合。按照传统的方法,我们一般都会先将数据通过串口助手打印出来&#x