首页系统综合问题彻底搞懂IIC总线(5)I2C总线传输速度

彻底搞懂IIC总线(5)I2C总线传输速度

时间2023-05-01 04:55:05发布分享专员分类系统综合问题浏览240

今天小编给各位分享sm总线控制器是什么的知识,文中也会对其通过彻底搞懂IIC总线(5)I2C总线传输速度和单片机模拟IIC总线通信的速率是标准还是快速还是高速模式?最高速率能达到多大?等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注本站,现在进入正文!

内容导航:

  • 彻底搞懂IIC总线(5)I2C总线传输速度
  • 单片机模拟IIC总线通信的速率是标准还是快速还是高速模式?最高速率能达到多大?
  • I2C总线的高速模式
  • iic 协议 速度问题
  • 一、彻底搞懂IIC总线(5)I2C总线传输速度

    本文由德力威尔王术平原创,转载、引用请注明出处,否则侵权。

    摘要

    本文档详细阐述了I2C在快速模式、快速增强模式、高速模式、超快模式传输时的速度以及各种速度混合时的传输规则。

    五. I2C总线速度

    最初,I2C总线的运行速度被限制在100 Kbit /s。随着时间的推移,对该规范进行了多次补充,现在有六种运行速度模式,如下图1-54所示:

    图1-54 I2C总线运行速度表

    5.1 快速模式

    快速模式设备可以以高达400 Kbit/s的速度接收和发送。他们可以延长SCL信号的低周期(时钟拉伸),减缓传输,便于与更高速率器件通信。SDA和SCL线路的协议、格式、逻辑电平和最大容性负载与标准模式I2C总线规范相同。快速模式器件向下兼容标准模式,可以在0~100Kbit/s的I2C总线系统中与标准模式设备通信。

    与标准模式相比,快速模式I2C总线规范具有以下附加特性:

    ①最大比特率增加到400 Kbit/s。

    ②串行数据(SDA)和串行时钟(SCL)信号的时序已经调整。不需要与CBUS等其他总线系统兼容,因为它们不能以更高的比特率工作。

    ③快速模式器件的输入在SDA和SCL输入端集成了尖峰抑制和施密特触发器。

    ④快速模式器件的输出缓冲器集成了SDA和SCL信号下降沿的斜率控制。

    ⑤如果快速模式器件的电源关闭,SDA和SCL I/O引脚必须悬空(OC/OD输出),以免妨碍总线。

    ⑥连接到总线的外部上拉器件必须适应快速模式I2C总线较短的最大允许上升时间。对于高达200 pF的总线负载,每条总线的上拉器件可以是一个电阻;对于200 pF至400 pF的总线负载,上拉器件可以是电流源(最大3 mA)或开关电阻电路。

    5.2 快速模式增强版

    快速模式增强(Fm+)设备提高了I2C总线传输速度和总线总容量。Fm+器件可以以高达1 Mbit/s的比特率传输信息,但它们仍然完全向下兼容快速或标准模式器件,以便在混合速度总线系统中进行双向通信。与快速或标准模式系统保持相同的串行总线协议和数据格式。与快速或标准模式器件相比,Fm+器件还提供更高的驱动电流,无需使用总线缓冲器即可驱动更长和/或负载更重的总线。

    快速模式增强器件中的驱动器足够强大,能够在与标准模式器件相同的400 pF负载下满足快速模式增强时序规格。为了向后兼容标准模式,它们还允许标准模式器件的1 μs上升时间。在只存在快速模式增强器件的应用中,高驱动强度和缓慢上升和下降时间容差允许使用更大的总线电容,只要设置快速模式增强器件的最小低电平时间和最小高电平时间即可。

    全部满足下降时间和上升时间不超过标准模式的300 nsTf和1 μs Tr规格要求。总线速度可以与负载电容进行权衡,以将最大负载电容提高约10倍。

    5.3 高速模式

    高速模式HSm(Hs-mode)设备提供了I2C总线传输速度的巨大飞跃。Hs模式器件可以以最高3.4 Mbit/s的比特率传输信息,但对于混合速度总线系统中的双向通信,它们仍然完全向下兼容快速模式增强版、快速模式及标准模式器件。除了在HSm传输期间不执行仲裁和时钟同步之外,与快速模式和标准模式系统保持相同的串行总线协议和数据格式。

    5.3.1 高速传输

    为了实现高达3.4 Mbit/s的位传输速率,对常规I2C总线规范进行了以下改进:

    ①HSm主机设备具有一个用于SDAH信号的开漏输出缓冲器,并在SCLH输出端集成了开漏下拉和电流源上拉电路。这个电流源电路缩短了SCLH信号的上升时间。任何时候只有一个主机的电流源被使能,并且仅在HSm下。

    ②在多主机系统中,HSm传输期间不执行仲裁或时钟同步,从而提高了位处理能力。

    ③HSm主机器件产生一个高低比为1:2的串行时钟信号。这减轻了对建立和保持时间的时序要求。

    ④作为一个选项,HSm主机器件可以有一个内置的桥梁。在高速模式传输期间,高速模式器件的高速数据(SDAH)和高速串行时钟(SCLH)线通过该桥与F/S模式的SDA和SCL线分开。这降低了SDAH和SCLH线的容性负载,从而加快了上升和下降时间。

    ⑤高速模式从机设备、快速模式从机设备以及标准模式从机设备之间的唯一区别是它们运行的速度。高速模式从机在SCLH和SDAH输出端具有开漏输出缓冲器。SCLH引脚上的可选下拉晶体管可用于延长SCLH信号的低电平(时钟拉伸),时钟拉伸仅允许在高速模式传输的应答位之后进行。

    ⑥高速模式器件的输入在SDAH和SCLH输入端集成了尖峰抑制和施密特触发器。

    ⑦高速模式器件的输出缓冲器集成了SDAH和SCLH信号下降沿的斜率控制。

    图1-55 高速模式的I2C总线配置结构

    图1-55 显示了只有高速模式设备的系统中的物理I2C总线配置。控制器器件上的SDA和SCL引脚仅在混合速度总线系统中使用,在纯高速模式系统中不连接。在这种情况下,这些引脚可以用于其他功能。

    可选串联电阻rs保护I2C总线设备的I/O口免受总线线路上高压尖峰的影响,并最大限度地减少振铃和干扰。

    当总线空闲时,上拉电阻Rp将SDAH和SCLH线保持在高电平,并确保信号在所需的上升时间内从低电平上拉至高电平。对于较高容性总线负载(> 100 pF),可以用外部电流源上拉电阻代替电阻Rp,以满足上升时间要求。除非有应答位,否则HSm传输中SCLH时钟脉冲的上升时间会被主机设备的内部电流源上拉电路MCS缩短。

    5.3.2 高速模式下的串行数据格式

    图1-56 高速模式数据传输格式

    图1-56详细地展示高速模式I2C总线串行数据传输格式。

    高速模式下的串行数据传输格式符合标准模式I2C总线规范。启用高速模式只能按下列顺序操作(开始以Fm和Sm模式工作):①开始条件;②8位高速模式主机代码(0000 1XXX)(特殊保留地址);③不应答(NACK)。

    8位高速模式主机代码有两个主要功能:①它允许以Fm/Sm速度在竞争的主机之间进行仲裁和同步,从而产生一个获胜的主机;②它表示HSm传输的开始。

    高速模式主机代码是保留的8位特殊代码,不是用来从机寻址或其他目的。此外,由于每个高速模式的主机都有自己独特的主机代码,一个I2C总线系统上最多可以有八个高速模式主机(其中主机代码0000 1000保留用于测试和诊断目的)。高速模式主机器件的主机代码是软件可编程的,由系统设计人员灵活设置。

    仲裁和时钟同步只发生在快速模式或标准模式下,高速模式下不允许仲裁和时钟同步。仲裁和时钟同步仅在主机代码和不应答位(NACK)传输期间发生,之后一个获胜的主机保持控制权。主机代码向其它从机指示高速模式传输即将开始,所连接的从机必须符合高速模式规范。由于不允许任何器件应答主机代码,主机代码后会跟随一个不应答(NACK)。

    在不应答位(NACK)之后,SCLH线被上拉至高电平,获取控制权的主机切换到高速模式并使能用于SCLH信号的电流源上拉电路。在不应答(NACK)之后,重启(Sr)之前,其他设备可以通过延长SCLH信号的低电平周期(时钟拉伸)来延迟串行传输。所以主机要等到所有设备都已经释放SCLH线并且SCLH信号已经达到高电平时,才启用其电流源上拉电路,从而加速SCLH信号的上升时间。然后,主机发送重复起始条件(Sr ),后跟7位从机地址(或10位目标地址)和R/W位地址,并接收所选从机的应答位(ACK)。

    在每个应答位(ACK)或不应答位(NACK)后,主机要禁用自己的电流源上拉电路,这使得其他从机能够通过延长SCLH信号的低电平周期来延迟串行传输(时钟拉伸)。当所有器件都已释放且SCLH信号达到高电平时,主机再次重新启用自己的电流源上拉电路,从而加速SCLH信号上升时间。

    在下一次重启 (Sr)后,数据传输继续在高速模式下进行,只有在停止条件(P)后才切换回Fm/Sm模式。

    图1-56是一个完整的高速模式I2C总线传输示例。

    图1-56 高速模式I2C总线传输示例。

    5.3.3 快速(标准)模式与高速模式的切换

    复位和初始化后,高速模式设备必须处于快速模式(兼容标准模式)。每个高速模式器件可以在快速模式和高速模式之间来回切换,并由I2C总线上的串行传输控制。

    如图1-56所示,在时间t1之前,每个连接的设备都以快速模式运行。在时间t1和tH之间(这个时间间隔可以被任何设备延长),每个连接的设备必须识别“00001XXX”主机编码,并且必须将其内部电路从快速模式设置切换到高速模式设置。在时间t1和tH之间,连接的主机和从机设备通过以下动作执行这种速度模式的切换。

    仲裁成功的主机:

    ①根据高速模式下的尖峰抑制要求,调整其SDAH和SCLH输入滤波器。

    ②根据高速模式要求调整建立和保持时间。

    ③根据高速模式要求调整其SDAH和SCLH输出级的斜率控制。

    ④切换到高速模式比特率,这在时间tH之后是需要的。

    ⑤在时间tH使能其SCLH输出级的电流源上拉电路。

    仲裁失败的主机:

    ①根据高速模式下的尖峰抑制要求,调整其SDAH和SCLH输入滤波器。

    ②等待停止条件,以检测总线何时再次空闲,以便发起下次仲裁。

    所有的从机:

    ①根据高速模式下的尖峰抑制要求,调整其SDAH和SCLH输入滤波器。

    ②根据高速模式要求调整建立和保持时间。这一要求可能已经通过输入滤波器的适配得到满足。

    ③如有必要,调整其SDAH输出级的斜率控制。对于从机器件,斜率控制仅适用于SDAH输出级,根据电路容差,无需切换其内部电路即可满足快速模式和高速模式要求。

    如图1-56所示,在时间tFS,每个连接的设备必须识别停止条件(P ),并将其内部电路从高速模式设置切换回快速模式设置(回到t1之前的状态)。

    5.3.4 高速模式设备使用于低速模式

    HSm模式设备完全向下兼容,可以连接到Fm/Sm模式I2C总线系统(参见图1-57)。由于在这种配置中不传输主机代码,所有HSm模式主机器件都工作在Fm/Sm模式,并在内部电流源禁用的情况下以Fm/Sm模式速度通信。SDAH和SCLH引脚用于连接到Fm/Sm模式总线系统,允许高速模式主机器件上的SDA和SCL引脚(如果有)用于其它功能。

    图1-57 高速模式设备使用于低速模式

    5.3.5 标准、快速、高速模式混合速度模式

    如果系统具有高速模式、快速模式和标准模式设备的组合,通过使用互连桥,就允许不同设备之间有不同的传输速率(参见图1-58)。

    图1-58 混合速度模式的I2C总线系统

    在高速模式控制器设备中集成了一个桥接器,该桥接器具有电平转换功能,根据传输需要自动在高速模式信号电平与Fm/Sm模式信号电平之间相互转换(如图1-59所示)。TR1、TR2和TR3是N沟道晶体管。TR1和TR2具有传输门功能。如在两个方向上传输低电平, TR1或TR2就导通;如果两个方向传输高电平,TR1或TR2就截止,高电平为各自的上拉电源。注意,这里的VDD2≥VDD1才行。

    图1-59 高速设备内部电平转换电路

    在F/S模式速度期间,其中的一个高速模式主机的桥将SDAH和SCLH线连接到相应的SDA和SCL线,从而允许高速模式设备以较慢的速度与F/S模式设备通信。在所有相连器件之间的全F/S模式传输期间,可以进行仲裁和同步。然而,在HS模式传输过程中,桥接器关闭,隔离高速和快速之间的总线,并允许HS模式器件以3.4 Mbit/s的速率相互通信。HS模式器件和F/S模式器件之间的仲裁仅在高速主机代码(0000 1XXX)期间执行,其仲裁过程如下:一个高速模式主机发送主机代码(0000 1XXX),赢得总线仲裁,就关闭桥接器,以HS模式传输,如果高速模式主机失去仲裁,就打开桥接器,传输以F/S模式进行。

    图1-60 混合模式中的传输速率

    图1-60 给出了这种系统中可能的通信速度。 例如以3.4 Mbit/s的速率工作时,高速器件与Fm和Sm器件隔离即可。总线速度始终受限于连接到总线的最慢器件的最大通信速率。

    5.3.6 标准、快速、快速增强模式混合速度传输

    如图1-58中所示的,各种速度模式的设备通过桥接器互连连接到总线,形成一个串行总线系统。不发送高速主机代码(0000 1XXX ),高速主机内部电流源上拉电路保持禁用,所有输出级均为开漏。所有设备,包括高速模式设备,都根据Fm+/Fm/Sm模式I2C总线规范的协议、格式和速度相互通信。

    5.3.7 混合速度总线系统中的高速模式传输

    图1-61 显示了完整的高速模式传输的时序图,该传输由起始条件、主机代码和不应答NACK(以F/S模式速度)调用。尽管该时序图分为两部分,但应将其视为一个时序图,其中时间点tH是两部分的分界点。

    主机代码由高速设备内部的桥接器识别(参见图1-58)。桥接器执行以下操作:

    ①在t1和tH之间(参见图1-61),晶体管TR1断开以分离SDAH线和SDA线,之后晶体管TR3闭合以将SDA线下拉到VSS。

    ②当SCLH和SCL都变为高电平时(参加图1-61),晶体管TR2打开,将SCLH线和SCL线分开。在重启(Sr)后的SCLH变低之前TR2必须保持断开。

    高速模式传输在tH之后以重复起始条件(Sr)开始。在高速模式传输期间,SCL线处于高电平,SDA线处于低电平,因此为停止条件(P)的传输做好准备。

    在每个应答位(ACK)或不应答位(NACK)之后,仲裁获胜的主机禁用其电流源上拉电路。这使得其他设备能够通过延长SCLH信号的低电平周期来延迟串行传输。当所有器件都释放SCLH,并且SCLH信号达到高电平时,主机再次开启其电流源上拉电路,从而加速SCLH信号上升时间。在非正常情况下,F/S模式设备可以通过下拉SCL线至少1 μs来随时关闭网桥(TR1和TR2关闭,TR3打开)。

    高速模式以停止条件结束,并将总线系统带回到F/S模式。当停止条件满足时,主机禁用其MCS电流源。桥接器也检测这种停止条件,并采取以下行动(参考图1-61):

    ①在tFS时间后开通晶体管TR2,连接SCLH和SCL(此时两者都是高电平)。晶体管TR3在tFS之后断开,释放SDA线,并允许SDA被上拉电阻Rp拉高。TR3必须足够快地断开,以确保停止条件和最早下一个启动条件之间的总线空闲时间符合快速模式规范。

    ②当SDA达到高电平(t2 时),晶体管TR1闭合以连接SDAH和SDA (注意:当所有SDAH和SDA线路都为高电平时,进行互连,从而防止总线线路上出现尖峰) 。根据快速模式规范,TR1和TR2必须在最短总线空闲时间内断开。

    图1-61 混合速度中的高速模式传输完整过程

    5.3.8 混合速度总线系统中桥的时序要求

    从图1-61可以看出t1、tH和tFS处的桥梁动作必须足够快,以免影响SDAH和SCLH线。此外,桥接器开关必须满足SDA和SCL线路快速模式规范的相关时序要求。

    5.4 超快速模式

    超快速模式(UFm)设备提高了I2C总线的传输速度。UFm设备可以以高达5 Mbit/s的速率传输信息。UFm设备提供推挽式驱动器,消除了上拉电阻,允许更高的传输速率。同一个系列总线协议和数据格式与Sm、Fm或Fm+系统保持一致。UFm总线设备与双向I2C总线设备不兼容。

    未完待续,请继续关注《彻底搞懂IIC总线(6)I2C总线电气规范和传输时序》。

    本文由德力威尔王术平原创;转载、引用请注明出处,否则侵权。

    本文参考资料:

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

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

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

    一、单片机模拟IIC总线通信的速率是标准还是快速还是高速模式?最高速率能达到多大?

    I2C总线的工作速度分为 3 种版本:S(标准模式) 测量与控制场合;F(快速模式) ,速率为 400kb/s;Hs(高速模式) ,速率为 3.4Mb/s。
    具体要用多快的速度这个要看你用的是什么器件了。找器件手册上面会有标明最高速率只要不超过最高速就行了。单片机一般是400K或以下的常用。

    二、I2C总线的高速模式

    高速模式(Hs 模式)器件对I2C 总线的传输速度有巨大的突破。Hs 模式器件可以在高达3.4Mbit/s 的位速率下传输信息,而且保持完全向下兼容快速模式或标准模式(F/S 模式)器件,它们可以在一个速度混合的总线系统中双向通讯。
    Hs 模式传输除了不执行仲裁和时钟同步外,与F/S 模式系统有相同的串行总线协议和数据格式。
    高速模式下I2C 总线规范如下:
    1、Hs 模式主机器件有一个SDAH 信号的开漏输出缓冲器和一个在SCLH 输出的开漏极下拉和电流源上拉电路。这个电流源电路缩短了SCLH 信号的上升时间,任何时候在Hs 模式,只有一个主机的电流源有效;
    2、在多主机系统的Hs 模式中,不执行仲裁和时钟同步,以加速位处理能力。仲裁过程一般在前面用F/S 模式传输主机码后结束;
    3、Hs 模式主机器件以高电平和低电平是1:2 的比率产生一个串行时钟信号。解除了建立和保持时间的时序要求;
    4、可以选择Hs 模式器件有内建的电桥。在Hs 模式传输中,Hs 模式器件的高速数据(SDAH)和高速串行时钟(SCLH )线通过这个电桥与F/S 模式器件的SDA 和SCL 线分隔开来。减轻了SDAH 和SCLH 线的电容负载,使上升和下降时间更快;
    5、Hs 模式从机器件与F/S 从机器件的唯一差别是它们工作的速度。Hs 模式从机在SCLH 和SDAH输出有开漏输出的缓冲器。SCLH 管脚可选的下拉晶体管可以用于拉长SCLH 信号的低电平,但只允许在Hs 模式传输的响应位后进行;
    6、Hs 模式器件的输出可以抑制毛刺,而且SDAH 和SCLH 输出有一个施密特触发器;
    7、Hs 模式器件的输出缓冲器对SDAH 和SCLH 信号的下降沿有斜率控制功能。

    三、iic 协议 速度问题

    建议详细了解IIC的协议,按照协议规定,总线空闲时两线为高,当进行通信时,SDA在SCL高电平时由高变低表示通信开始( void iic_start(void) ),以后传输数据,SDA只能在SCL为低的时候才能发生变化,在SCL上升抓取数据;而停止位是在SCL高时SDA由低变高
    (void iic_stop(void) )。
    其实只要满足了协议要求最终两线处于什么状态也许都是可以的,或者你也可以试下在某些地方将SCL最终由低又拉为高是否能正常,当然首要还是在符合协议规定的前提下。

    关于sm总线控制器是什么的问题,通过《I2C总线的高速模式》、《iic 协议 速度问题》等文章的解答希望已经帮助到您了!如您想了解更多关于sm总线控制器是什么的相关信息,请到本站进行查找!

    爱资源吧版权声明:以上文中内容来自网络,如有侵权请联系删除,谢谢。

    sm总线控制器是什么
    你的电脑需要多大的内存呢?来看看吧 个性壁纸100张ins风小清新 - 遇见可爱的人,生活都不觉得艰难了