0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

IIC总线为什么是半双工?

要长高 来源:网络整理 作者:网络整理 2024-02-02 16:37 次阅读

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

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

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

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

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

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

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

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

基本时序:

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

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

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

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

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

起始信号:

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

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

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

停止信号:

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

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

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

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

审核编辑:黄飞

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

    关注

    28

    文章

    1499

    浏览量

    125312
  • 串行通信
    +关注

    关注

    4

    文章

    580

    浏览量

    35698
  • I2C总线
    +关注

    关注

    8

    文章

    406

    浏览量

    61391
  • SCL
    SCL
    +关注

    关注

    1

    文章

    240

    浏览量

    17254
收藏 人收藏

    相关推荐

    SN65HVD3083EDGSR半双工时怎么接线?

    请问ti工程师SN65HVD3083EDGSR 这颗芯片半双工时怎么接线?
    发表于 01-01 08:12

    一文解读SPI

    让我们回顾一下,我们学习了串口通讯(优点是全双工,缺点是只能点对点通讯) 另外还学习了IIC通讯(优点是一主多从通讯,缺点是半双工) 技巧:看一个总线
    的头像 发表于 11-19 11:37 561次阅读
    一文解读SPI

    如何解决RS485总线冲突和支线问题?

    什么是RS485总线?RS485采用半双工通信方式,能够在单条总线上连接多达32个(理论值,实际应用中可扩展)设备进行双向通信。它支持的数据传输速率范围较广,从几百比特每秒至10兆比特每秒不等,且
    的头像 发表于 08-30 12:35 2426次阅读
    如何解决RS485<b class='flag-5'>总线</b>冲突和支线问题?

    ISOx5隔离式3.3V半双工和全双工RS-485收发器数据表

    电子发烧友网站提供《ISOx5隔离式3.3V半双工和全双工RS-485收发器数据表.pdf》资料免费下载
    发表于 08-16 11:29 1次下载
    ISOx5隔离式3.3V<b class='flag-5'>半双工</b>和全<b class='flag-5'>双工</b>RS-485收发器数据表

    ISO308x隔离式5V全双工半双工RS-485收发器数据表

    电子发烧友网站提供《ISO308x隔离式5V全双工半双工RS-485收发器数据表.pdf》资料免费下载
    发表于 08-15 09:38 0次下载
    ISO308x隔离式5V全<b class='flag-5'>双工</b>和<b class='flag-5'>半双工</b>RS-485收发器数据表

    单工、半双工和全双工传输模式的区别

    传输模式主要分为单工(Simplex)、半双工(Half-Duplex)和全双工(Full-Duplex)。这三种模式在数据传输能力、通信效率和应用场景等方面存在显著差异。
    的头像 发表于 08-07 14:32 1601次阅读

    川土微电子发布CA-IF4905S/CA-IF4988S RS-485半双工收发器

    川土微电子CA-IF4905S/CA-IF4988S RS-485半双工收发器新品发布!该系列产品支持3V至5.5V的供电电压,具有±30kV ESD等级、±65V总线端口故障保护和业界优异的±40V共模范围,其中CA-IF4988S支持通过极性控制引脚POL进行
    的头像 发表于 07-11 09:33 826次阅读
    川土微电子发布CA-IF4905S/CA-IF4988S RS-485<b class='flag-5'>半双工</b>收发器

    SN65MLVD040 4通道半双工M-LVDS线路收发器数据表

    电子发烧友网站提供《SN65MLVD040 4通道半双工M-LVDS线路收发器数据表.pdf》资料免费下载
    发表于 07-08 14:42 0次下载
    SN65MLVD040 4通道<b class='flag-5'>半双工</b>M-LVDS线路收发器数据表

    SN65HVD485E 半双工 RS-485 收发器数据表

    电子发烧友网站提供《SN65HVD485E 半双工 RS-485 收发器数据表.pdf》资料免费下载
    发表于 06-27 11:17 0次下载
    SN65HVD485E <b class='flag-5'>半双工</b> RS-485 收发器数据表

    esp32 wroom 32d是半双工还是全双工的?

    我的疑问有几个: 1. esp32 wroom 32d是半双工还是全双工的? 2. 链路层在状态机切换的时候,比如在广播态发广播包的时候,一个广播事件还没结束,状态机能切换到扫描态吗? 3. 一个
    发表于 06-18 06:15

    双工半双工技术解析

    随着信息技术的迅猛发展,通信系统的性能要求日益提高。在数据传输中,双工模式的选择对于提高系统效率、降低通信延迟具有重要意义。 一、全双工模式 全双工模式允许数据在通信链路的两个方向上同时进行传输,即
    的头像 发表于 06-16 10:18 913次阅读

    当XMC1400配置为半双工SPI主站时,SPI_MASTER_Receive功能能否正常工作?

    我正在尝试使用半双工 SPI 通信,由 XMC1400 作为主站。 我使用 DAVE 应用程序将 SPI 引脚配置为推挽式,下面是相应的代码: XMC_GPIO_SetMode(MOSI_Port
    发表于 05-23 06:44

    双工半双工技术解析及其应用场景

    随着信息技术的迅猛发展,通信系统的性能要求日益提高。在数据传输中,双工模式的选择对于提高系统效率、降低通信延迟具有重要意义。本文将对全双工半双工两种双工模式进行详细解析,并探讨它们各
    的头像 发表于 05-11 15:29 1599次阅读

    工业控制设备可使用CN485A-E半双工的收发机

    工业控制设备可使用CN485A-E半双工的收发机
    的头像 发表于 03-29 10:27 461次阅读
    工业控制设备可使用CN485A-E<b class='flag-5'>半双工</b>的收发机

    节省IO的小技巧:GD32 MCU如何使用一个GPIO实现串口半双工收发

    一般情况串口的接受和发送分别需要使用TX和RX两个引脚来实现,但在一些UART的实际应用中,通信双方身份为主机和从机,数据流是半双工的,那么当IO口资源紧张时可以使用半双工模式通过一个引脚实现数据的发送和接受,同时又保证数据不出错。我们一起来看下红枫派开发板例程中是如何实
    的头像 发表于 03-15 09:39 2088次阅读
    节省IO的小技巧:GD32 MCU如何使用一个GPIO实现串口<b class='flag-5'>半双工</b>收发