IIC总线为什么是半双工?

描述

IIC是一种低速,半双工,同步的串行通信总线。

iic总线是全双工还是半双工

IIC(Inter-Integrated Circuit)总线是一种半双工的串行通信接口。在I2C总线上,主设备和从设备之间的数据传输是采用半双工模式进行的。这意味着主设备和从设备在不同的时间段内交替发送和接收数据。

在I2C总线上,时钟是由主设备产生和控制的。主设备在发送数据时,根据时钟信号将数据位逐个发送到总线上。而在接收数据时,主设备切换到接收模式,等待从设备将数据位发送到总线上,并在时钟信号的引导下采样数据。因此,在I2C总线上,主设备和从设备之间的数据传输在不同的传输阶段进行,即主设备发起传输和从设备响应传输。

尽管I2C总线是半双工通信,但由于主设备和从设备之间的交互是通过特定的协议和时序进行的,因此可以实现可靠的双向数据传输。

为什么是半双工呢,因为IIC只有两根线,一根时钟线SCL和一根数据线SDA.所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。

I2C总线上的每个设备都自己一个唯一的地址,来确保不同设备之间访问的准确性。

SCL

IIlC的特点:可实现一主多从,多主多从。但是一个时段只能读或者写一个从设备。主设备:提供IC总线的控制电路从设备:只能被动参与传输

基本时序:

1、空闲状态:SDA处于高电平

2、起始信号:SCL高电平期间,将SDA拉低意味着新一轮的传输开始(主设备发起)3、中止信号:SCL高电平期间,将SDA拉高意味着一轮传输的结束(主设备发起)

4、数据信号:一个时钟周期的低电平期间,由发送方将数据线拉高(传输1)、拉低(传输0),同一时钟周期的高电平期间,由接收方读取数据线状态,如果高电平意味着接收是1,如果读到低电平意味着接收到是0.

SCL

IIC总线的起始信号和停止信号时如何规定的?

在I2C总线上,起始信号和停止信号是通过改变数据线(SDA线)的电平来定义的。以下是起始信号和停止信号的规定:

起始信号:

1. 当 SDA 线从高电平变为低电平时,开始传输起始信号。

2. 在 SDA 线为低电平时,SCL 线的电平保持为高电平。

3. 此信号的作用是指示开始一次数据传输,之后的数据传输将以此作为起点。

停止信号:

1. 当 SDA 线从低电平变为高电平时,开始传输停止信号。

2. 在 SDA 线为高电平时,SCL 线的电平保持为高电平。

3. 此信号的作用是指示数据传输结束。

在I2C总线上,每次数据传输的开始和结束都需要使用起始信号和停止信号进行标识,以确保传输的完整性和正确性。这些信号的定义是由I2C通信协议规定的,所有I2C设备必须遵循这些规定以实现正确的数据传输。

审核编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分