I2C协议研读(三):仲裁和时钟同步

116 篇文章 247 订阅

6. 仲裁和时钟生成:ARBITRATION AND CLOCK GENERATION

(1)同步化:Synchronization

        所有主机在SCL线上生成自己的时钟,以在I2C总线上传输消息。 数据仅在时钟的高电平期间有效。 因此,为了进行逐位仲裁过程,需要一个定义的时钟。时钟同步是通过I2C接口与SCL线的线与连接执行的,这意味着SCL线上从高到低的跳变将导致相关设备开始计算其低电平周期,并且一旦设备时钟变为 低电平,它将SCL线保持在该状态,直到达到时钟高电平状态为止。但是,如果另一个时钟仍在其LOW周期内,则此时钟从LOW到HIGH的转变可能不会改变SCL线的状态。 因此,SCL线将被具有最长低电平周期的器件保持低电平。 低电平周期较短的设备在此期间进入高电平等待状态。

当所有相关器件的低电平时间都结束后,时钟线将被释放并变为高电平。 这样,设备时钟和SCL线的状态之间就不会有差异,并且所有设备都将开始计数其高电平周期。 第一个完成其高电平周期的器件将再次将SCL线拉低。

        这样,生成了一个同步的SCL时钟,其LOW周期由时钟LOW周期最长的设备确定,其HIGH周期由时钟HIGH周期最短的设备确定。
(2)仲裁

 只有在总线空闲时,主机才可以开始传输。 两个或更多个主机可能会在启动条件的最短保持时间(tHD; STA)内产生一个启动条件,从而导致总线定义了一个启动条件。 仲裁在SDA线上进行,而SCL线在高电平上,这样的方式是:发送总线的主机在发送高电平的同时,另一个主机在发送低电平的主机将关闭其DATA输出级,因为总线的电平状态无法与其本身的电平状态相符合。

        仲裁可以持续许多位。 它的第一阶段是地址位的比较。 如果主机各自尝试寻址同一设备,则仲裁将继续比较数据位(如果它们是主机发送器),或者是确认位(如果它们是主机接收器)。 由于I2C总线上的地址和数据信息由获胜的主机确定,因此在仲裁过程中不会丢失任何信息。

        丢失仲裁的主机可以生成时钟脉冲,直到丢失仲裁的字节的末尾为止。由于Hs模式主机具有唯一的8位主机代码,因此它将始终在第一个字节中完成仲裁(请参见第13节)。如果主服务器还具有从属功能,并且在寻址阶段丢失了仲裁,则获胜的主机可能会尝试解决该问题。 因此,丢失的主机必须立即切换到其从机模式。

        图9显示了两个主机的仲裁程序。 当然,可能涉及更多(取决于连接到总线的主机数量)。 当主机生成DATA 1的内部数据电平与SDA线上的实际电平之间存在差异时,其数据输出将关闭,这意味着接下来将HIGH输出电平连接至总线。 这不会影响获胜主数据发起的数据传输。

 由于I2C总线的控制完全取决于竞争主机发送的地址或主机代码和数据,因此总线上没有中央主机,也不存在任何优先级。
如果在串行传输期间,当重复的START条件或STOP条件传输到I2C总线时,仲裁程序仍在进行中,则必须特别注意。 如果有可能发生这种情况,则所涉及的主机必须在格式帧中的同一位置发送此重复的START条件或STOP条件。 换句话说,不允许在以下情况之间进行仲裁:

·重复的START条件和一个数据位
·STOP条件和数据位
·重复的START条件和STOP条件。
从机不参与仲裁程序。
(3)使用时钟同步机制作为握手:Use of the clock synchronizing mechanism as a handshake

除了在仲裁过程中使用之外,时钟同步机制还可以用于使接收器能够应对字节级或位级的快速数据传输。

在字节级别,设备可能能够以快速速率接收数据字节,但需要更多时间来存储接收到的字节或准备另一个要发送的字节。 从机可以在接收和确认一个字节后将SCL线保持为低电平,以迫使主机进入等待状态,直到从机为握手过程中的下一个字节传输做好准备(见图6)。

在位级别上,诸如微控制器之类的设备(具有或不具有I2C总线的有限硬件)可以通过延长每个时钟的LOW周期来减慢总线时钟。 因此,任何主机的速度都适合于该设备的内部工作速率。
在Hs模式下,此握手功能只能在字节级别使用。
 

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
《代数学引论》是数学领域的一本经典教材,它以代数学为基础,深入浅出地介绍了代数学的基本概念、理论和方法。该教材共卷,是一本非常权威且全面的代数学教材。 这本教材在csdn.net网站上以PDF格式提供,可以通过下载的方式获取。在csdn.net网站上,许多人分享了这本教材的下载链接,只需要进行简单的搜索即可找到相关资源。 通过阅读《代数学引论》,可以建立起对代数学的扎实基础。教材中详细介绍了代数学的基本概念,如环、群、域等,以及它们之间的关系和性质。此外,还讨论了线性代数、群论、域论等代数学的重要分支,并给出了一些典型的例题和习题,帮助读者巩固所学知识。 这本教材的编写风格简明易懂,注重理论与实践相结合。它适合作为高校数学专业本科生和研究生的教材,也适用于对代数学感兴趣的自学者。通过阅读《代数学引论》,读者可以建立起代数学的逻辑思维和分析能力,并将其应用于实际问题的求解和研究中。 总之,《代数学引论》是一本对代数学感兴趣的人不可或缺的教材,通过阅读该教材,可以系统地学习和掌握代数学的基本理论和方法,为进一步深入研究代数学奠定坚实的基础。大家可以在csdn.net网站上,通过搜索关键词《代数学引论》的PDF版本,下载并研读这本优秀的教材。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小孟boy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值