彻底搞懂I2C总线(3)超快速模式(Ultra Fast-Mode)下的I2C通信协议

      最后更新:2022-05-08 00:58:19 手机定位技术交流文章

      这份文件由King Dele's Technical Plain撰写,正在复制、引用和从违规地点查阅。

      摘要

      本章深入并用简单的文字说明I2C总线如何以超快模式、逻辑水平、数据有效性、触发停止环境、字节格式、数据响应、机器地址、地址保留、广播地址、软件重新定位、启动字节、设备识别等方式连接起来。

      三. I2C公共汽车议定书

      3 3个超快模式的I2C公共汽车协议

      三.三.1 协议概述

      术语定义

      图1-41 图1-41

      I2C公共汽车设备的基本组成部分是角色分配和发送-接收-接收互动。

      Ufm (Ultra Fast-Mode) I2C 公交车是双线连线公交车。运行频率介于0至5兆赫之间。单向传输数据。最适于驱动大于1兆赫且不需要反馈的传输速度的装置(例如LED控制器驱动器)。I2C标准公共汽车协议是UFM I2C公共汽车协议的基础。它有起始位置、飞行地址、指挥位置(R/W)、10时和停机位。命令所只需要一个“ write” 位置 。由于公交车的单程传输质量,主机提高了 9 时的数据位置 。我并不关心反应周期(ACK)无须从机应答。一个UFM弦钟(USCL)和序列数据(USDA)由东道主的双线推力驱动器组成。

      设备中仅包含地址(无论是微控制器、液晶驱动器、LED控制器还是GPOs)。玩接球游戏LED驱动器可能只是个接收器它还与超快模式(UFm)兼容。此外,记忆还可以接收和传输数据。此外,超快模式(UFm)不支持。

      由于I2C超快模式(UFM)公交车使用推力驱动器,它缺乏“线和”方法 来泄漏输出 。标准模式(Sm)、快速模式(Fm)和快速增强模式(Fm+)都兼容。超快模式(UFm),启动公共汽车数据传输并提供时钟信号以促进传输的唯一装置是主机。所发现的任何额外设备均假定来自机器。因此,超快模式仅限于主要的I2C公共汽车系统。

      FUM I2C大客车最常见的数据传输如下(见图1-42):

      图1-42显示许多与Ufs I2C大客车关键连接的例子。

      我们发现,UFm I2C大客车以接收时流动连接为主,这些关系是永久性的,因为数据传输只允许一种方式。假设主机希望从3号机传输数据,数据传输将按以下方式进行:

      1 主机在USCL线路上传送时钟和USDA线路上的地址,以发现机器3的地址。

      2 主机在USCL线路上传送时钟,并在USA线路上传送数据。

      ③主机终止传输。

      多个 Ufm 主机不允许连接 UFM I2C 公交车, 因为主机是推出。 如果系统需要额外主机, 它必须完全与另一个主机分离( 可以通过多路路中继器和独立功能完成), 因为公交车在任何特定时间只允许一个主机 。

      在UFM I2C总线上生成时钟信号始终由主机设备负责。也就是说,当主机通过公共汽车传输数据时,它会生成时钟信号。主框架的主时钟信号 不能受到机器“时钟拉伸”的影响UFM I2C大客车也缺乏仲裁和时钟。

      图1-43概述了UFm I2C公共汽车代码中强制性和任择部分的使用情况。

      图1-43 I2C显示了公共汽车特性对UFm的适用性。

      USDA和USCL 信号线三、三、二

      USDA和USCL都是单向通信。图1-44说明了度假村的生产情况。当总线空闲时,内部单晶管将两条线引向高水平。以超快模式(UFM),I2C大客车最多可传送5兆比特/秒的数据。公交车载货、有线终端反射、连接和步行跳板都限制了可能与公交车连接的机器数量。

      图1-44:用于推进内输出结构的 Ufm 模式 I2C 界面

      USDA和USCL 逻辑像素 三、三、三、三

      由于与I2C大客车(CMOS、NMOS、双极等)有关的设备种类繁多,无法与I2C大客车通信。逻辑平面“0”(低)和“1”(高)不固定。它由相关VDD水平决定。将参考水平设定为30%的VDD和70%的VDD;VIL为0.3VDD。维赫是0. 007VDD阅读超快模式公共汽车电子签名参数部分以获取更多信息。

      数据可靠性

      USDA线上的数据在时钟高空时间必须保持不变,数据线的高或低水平状况只能用USCL线上的低水平时钟信号来修改(见图1-45)。

      图1-45 Ufm I2C 客车数据的有效性

      三、三. 五. 起停的条件

      每个传输从起始点(S)开始。以终点(P)结束(如图1-46所示)。当SCL处于峰值时在SDA线上,高层次到低层次的转换表明传输开始(启动)的情况。当SCL处于峰值时在SDA线上,从低到高的转换意味着停止(停止)情况。

      I2C公共汽车的起动和停放情况在图1-46中有说明。

      主机总是启动起停。 启动后, 公交车被认为是忙碌的。 公交车在启动后某个时刻再次被视为自由( tBUF) 。

      在这方面,启动(S)和重新启动(Sr)的情况在功能上是相同的,因此,根据I2C标准,除非另有说明,否则在一般的S字中规定了启动和重新启动的条件。

      如果连接公交车的设备安装在I2C接口中,他们可以很容易地识别启动和停止情况。如果没有这种I2C接口微控制器,那么在每一个SCL时钟周期内,必须至少对SDA线进行两次取样,以检测启动和停止条件。

      三、三、六个字节

      USAA线上的每个字节必须至少有8位数长。发送的字节数量不受限制 。在应答周期中,无须从机应答,相反,在每个字节之后,东道方将美国农业部定为高水平。数据传输使用最大有效位置(MSB)启动数据传输(见图1-46A)。如果您对主机的下一个字节没有反应, 您将被允许使用它 。但是,禁止从机器上调低时钟(禁止从机器上延长时钟)。

      图1-46A:UFm I2C客车字节格式

      3.3.7 反应(反)和反应(反)

      因为宿主是被推倒的,且单向传输,在第九钟周期之后,美国农业部不能减少。否则,它将导致电力和短路。因此, " ACK " 和 " NACK " 没有必要。但是,在UFM中,九时周期仍在运行。与 I2C 公共汽车协议兼容性宿主继续生成第九钟脉冲然而,相应的第九个数据位置总是由主机设定为“1”的高水平。USDA的线路无法随时从机器驱动到机器。

      三、三、三、三、八、七、机器地址、阅读和书写地点

      图1-47说明了数据传输格式。在最初(S)条件之后,发送从机地址。前七位表示从地址,最后一张描述数据传输方向。逻辑“ 0” 表示书面 (/W) 。以下数据由主机发送到计算机。除特定保留地址首端字节外,UFm不能请求数据读取(R)。由于是单向通信,主机触发的停止状态(P)总是终止数据传输。如有必要,主机将能够在主线上进行通信。它可以迅速重开系统,找到另一台电脑。开始前无需暂停(S)。

      图1-47 I2C 公共汽车数据传输

      UFM数据传输格式(见图1-48):

      机器向主机发送一个稳定的信号,主机从未收到任何数据,也不应该回应。相反,它通过在第九个钟周期检索USDA来生成“ 1 ”, 以便符合I2C总线标准。 应该指出以下各点:

      1 主机(S)可从1号机与个人连接,或发送重开(Sr)和飞机地址及飞机。

      2 机器储存地址的自动递增或减少由设备设计师在主机从机器储存空间地址进入后确定,通常在机器设备数据手册中界定。

      3 如图1-48所示,每个字节的顺序“/A”有一个未经确认的位置。

      当 4I2C 公共汽车兼容装置收到启动(S)或重新启动(Sr)信号时,它必须重设其总线逻辑,以便从主机接收位置。

      地址,即使起始情况没有以正确格式出现。

      在5(S)信号启动后,禁止跟踪停止(P)信号,然而,在此种情况下,建造了许多设备来正常运转。

      连接到公交车的每个设备都有自己的地址。 基本的主机/ 功能允许多个接收器同时接收数据, 例如 。 主机发送了一个广播呼叫地址, 并可能得到不止一个答案 。

      图1-48 I2C 公共汽车UFm

      3,3,9,10 从飞机的地址。

      十个地址增加了地址的数量,理论上可以发现1024个装置。 7个和10个地址的设备可以连接到同一辆I2C公共汽车上,7个和10个地址适合所有公共汽车速度模式。

      如图1-49所示,机器地址的10位元由启动(S)或重新启动(Sr)信号之后的前两个字节组成,前七个字节如下:

      “ 11 0XX” 组合, 其中两个“ XX” 是 10 个地址的两个最大活动位置( MSBs) ; 初始字节的第八个字节是 R/W, 其中指定了信件方向, R/W 是 0 (书面) 。

      图1-49:UFM I2C大客车的十点搜索方法。

      用于描述7个现场搜索设备的先前读写格式组合对10个现场搜索同样有效。

      主机使用机器的地址向10个人分发机器的数据。传输方向不变。主机启动( 热启动),发送地址的首个字节,每台机器为零, 解释第一个位址字节( R/ W 方向) 。如果为0,前七个字节(11 0XX)与每台计算机的地址比较。这时,前七个地址与第二个字节对应,设备将在同一时间准备接收第二个字节。如果前七位不同,然后主机传送第二个地点的位址(XX) 。机器的八个成员将地址(XX)与自己的地址(XX)进行比较。然而,该系统只检测到一个匹配(不应回答)。如果找到匹配点,您将留在基于位置的状态中。直至收到停止(P)或重新启动(Sr)的信号。

      启动字节001(01h)可以与7个字节相同的方式,在10个字节之前放置。

      330 超快模式的保留地址

      如图1-50所示,UFM I2C大客车的物理层与其他I2C大客车模式不同。

      X表示与你无关;1表示与你有关;0表示与你无关。

      图1-50 超快保存地址

      [1] 广播地址用于若干目的,包括软件搬迁。 [2] 任何UFm装置在收到起始字节后不得答复。

      具体地址分配由芯片设计师决定。他必须考虑公共汽车的设备以及今后与保留地址的任何互动。例如,所有128个地址都可分配给有7个用户可分配的基站地址的设备。如果知道地址将不再使用,机器地址可用于生成地址。

      3.3.11. 无线电呼叫号码

      每一个同时与I2C公共汽车连接的东道主都使用广播呼叫地址(00 00)。

      当主机启动I2C巴士时最初的字节首先传送广播呼叫地址(00 00),然后是无线电呼叫地址。如果其中一些人不需要被召到该地,他们将能够找到他们。此地址可被忽略 。如果需要数据传输设备,它正在变成一个接收器。如果需要接收多个接收器,东道主完全不知道从每个能够处理数据的接收者那里收到第二字节和其后各字节。无法处理的字节必须忽略而不考虑可以做什么(例如,图1-51)。

      图1-51:超快呼叫地址广播格式

      主机发送第二个字节,即控制地址,即表示呼叫目的和含义的字节,这意味着:

      1) 第二字节8B=0(例如图1-35),这意味着:

      100 0110(06h):将机械硬件和写作数据重新定位到内部储存空间。收到机器最初的字节和这个字节顺序后飞机上发现的所有东西都被移走了主机将获得以下数据包 。存放在自己内部储存空间的存款(机器规格为内部储存空间地址提供特别指示)。

      200100 (04h): 将数据从机器内部写入存储空间。 操作相同, 没有硬件被重新定位 。

      300 00 (00h): 此代码不能用作第二个字节 。

      4 除上述三字节数据定义外,其余的字节数据定义尚未正式更新,设备必须不予考虑,有关设备设备装置数据表中列有具体的软件编程要求。

      (2) 当第8字节B = 1, 2字节序列数据被忽略时。

      3.12.12 软件重新定位

      在一次广播呼叫(00 00)之后,作为第二字节发送 00110 (06h) 将导致机器软件迁移。此功能是可选的,并非所有设备都收到这一订单。在从计算机收到两字节后,飞机上发现的所有东西都被移走了主机将获得以下数据包 。存放在自己内部储存空间的存款(机器规格为内部储存空间地址提供特别指示)。

      字节三、三、十三、十三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三、三

      将一台机器和I2C巴士连接起来有两种方法。第一个是I2C公交车硬件接口的可用性,内部 I2C 登记册可由程序员配置 。单机的休息将自动响应 I2C 巴士的要求。读写速度快。第二个方法是,I2C总线硬件接口没有安装在单一的视频中。它必须使用软件复制I2C时间序列。持续监控总线。显然,一台机器监测或咨询主线的频率越高,越好。完成预先定义的函数所需的时间越短,越好。CPU开销就大,响应速度就慢。

      因此,配有I2C硬件接口的快车道设备与依赖软件旋转的单波段装置之间的速度差异很大。确实存在这种情况。为了削减CPU费用,聘用了一个没有I2C接口的视频机。与I2C主线的低速对话已经开始。就握手同步而言,一台带有I2C总线接口的单一视频机提供启动字节(用于支持设备慢速旋转查询的特殊字节)。问题机收到启动字节后获得下一个重新启动信号 。这是政府第一次能够加快通讯速度。对来自快设备的数据流作出反应也就是说,没有 I2C 公共汽车连接的单件装置虽然I2C公共汽车是免费的,但由低速轮查监测。以节约CPU开销,发现I2C大巴后,主机发来了起始字节这是第一次以慢轮审讯的形式收到启动字节。这是我第一次听说 一位处于紧急情况的女士针对来自高速主机的数据传输,启动了高速搜索响应。收到数据和停止信号后公共汽车还进行了低速轮查测试。

      字节程序是,在传输数据之前,低速装置的启动时间可能比通常长得多(见图1-52)。启动字节程序由四个步骤组成:1个起始条件,2个起始字节(001)、3个不回答时钟脉冲(NACK)和4个重复启动条件(Sr)。

      图1-52: 开始字节程序

      在一台拥有I2C硬件接口的单一机器发出启动信号后,返回第一个字节( 001) 。因此,另一台存在单一差异的机器可以以适度的取样率对美国农业部的线路进行抽样。只要检测到7个字节中的1个字节,第一个字节的7个字节中的1个“0”将被识别。单机可改变取样率。收到下一个重开信号后然后,它与高速单体同步。

      在第一个字节之后,有一个相关的时钟脉冲,但不允许任何设备响应(ACK),这完全按照公共汽车上使用的字节处理格式,不应从机器(NACK)中回答。

      三.14 非反应性飞机重返大气层

      如果没有回应(机器无法接收主机信息),补救措施首先是通过软件重新定位指令或硬件重新定位信号从机器获得的。 如果软件和硬件没有从机器到机器的支持,电力供应将重新启动,以迫使内部重新定位电路。

      三. 三. 设备鉴定

      设备 ID 读取函数不被超快模式的 I2C 总线支持 。

      请在等待期间读“全面理解国际电算中心公共汽车(4)、I2C公共汽车的各种应用”。

      本文由King Dele's Technical Plain撰写;如果重新出版、引用或链接,请列入违法行为发生地点。

      本文参考资料:

      ①https://www.nxp.com/docs/en/user-guide/UM10204.pdf。

      ②https://www.nxp.com/docs/en/application-note/AN10216.pdf。

      ③https://www.i2c-bus.org。

      ④NXP UM10204(I2C-bus specification and user manual Rev.7.0 -1 October 2021)。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/23998.html

          热门文章

          文章分类