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

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

3天内不再提示

说说I²C速度以及高速模式的内容

strongerHuang 来源:嵌入式专栏 2023-03-13 09:47 次阅读

I²C,也叫IIC,是Inter Integrated Circuit的缩写。

首先,肯定有小伙伴会问:I²C支持3.4 M/s 这么高的速度吗?

答案肯定是支持的,而且还支持更高的5M/s(单项传输)。

今天就是说说I²C速度以及高速模式(3.4Mbit/s)的内容。

I2C速度

I²C最初的速度是100 kbit/s,但随着市场的变化,要求越来越高,依次出现了几种更高的速度:400kbit/s、1 Mbit/s、3.4Mbit/s 和 5Mbit/s的速度。

双向通信速度(模式): 100kbit/s:标准模式,Standard-mode (Sm); 400kbit/s:快速模式,Fast-mode (Fm); 1 Mbit/s:快速模式+,Fast-mode Plus (Fm+); 3.4Mbit/s:高速模式,High-speed mode (Hs-mode);

单向通信速度(模式): 100 kbit/s:超快模式,UItra Fast-mode (UFm)。

可以参看I²C协议手册:

87fbf602-bfe8-11ed-bfe3-dac502259ad0.png

I²C高速模式

通常,I²C用的最多也就是100kbit/s(标准模式)和 400kbit/s(快速模块)这两种通信速度。

因为常规I²C设备的通信速度不高,再次就是标准(快速)模式电路更简单(更省钱),所以标准(快速)模式最为广泛,以至于很多开发者认为I²C的通信速度很低。

I²C总线的成功,以及大面积的使用,使其很多子设备都遵循I²C协议。但是,市场需求总是千变万化,有些设备要求总线挂更多设备、通信速度更快。

所以,3.4Mbit/s 的高速模式就这样在原有的基础上“升级”而来,而且,要向下兼容早期的标准模式

高速模式协议

I²C要达到3.4 Mbit/s,和标准模式的协议肯定有一些差异,下面描述一下高速模式常见的一些通信协议内容。

1.驱动电路

标准、高速混合模式下,驱动电路会有一些差别:

880bdcde-bfe8-11ed-bfe3-dac502259ad0.png  

为了提高时钟速度,在(3)的位置增加了电流源上拉,这样才使SCLH时钟信号更快更稳。

2.传输格式

高速模式是向下兼容标准模式,所以,传输格式兼容标准格式的同时,还做了一定改进。

882f6ae6-bfe8-11ed-bfe3-dac502259ad0.png  

起始条件一样,后面传输的时候,启动高速(电流源)会增加传输数据速率。

然后,传输格式也做了一定改进:

8844aa64-bfe8-11ed-bfe3-dac502259ad0.png  

3.模式切换

快速模式向下兼容标准模式,而高速模式又要向下兼容标准模式,因此,I²C总线在起始状态不能处于高速模式,需要由快速模式切换到高速模式。

切换到高速模式,又可以切回快速模式,这样就能保证I²C总线上可以挂各种设备(混合各种模式设备)。

这里附一个混合总线的通信速度:

885771e4-bfe8-11ed-bfe3-dac502259ad0.png  

4.其他

高速模式虽然解决了传输速度的问题,但同时也带来了诸多问题,控制器的升级、传输线要求更高等,使其推广还是受到了一定阻碍,导致没有大面积使用。

最后,关于I²C高速模式,不是很建议大家深入研究,做一个了解即可,只要别人问你时,你不要回答I²C不支持Mbit/s传输就行了。






审核编辑:刘清

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

    关注

    28

    文章

    856

    浏览量

    40252
  • IIC
    IIC
    +关注

    关注

    11

    文章

    300

    浏览量

    38269
  • 电流源
    +关注

    关注

    4

    文章

    382

    浏览量

    29262
  • 时钟信号
    +关注

    关注

    4

    文章

    445

    浏览量

    28506

原文标题:I²C高速模式和普通模式有啥区别?

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于FPGA的I2C SLAVE模式总线的设计方案

    本文以标准的I2C 总线协议为基础,提出了一种基于FPGA的I2C SLAVE 模式总线的设计方案。方案主要介绍了SLAVE 模式的特点。给出了设计的原理框图和modelsim 下的行
    发表于 02-26 11:39 1.4w次阅读

    I2C通信开发障碍以及总结

    本文主要讲解的是I2C开发过程中会遇到的坑以及I2C的个人总结经验,很实用,可以i帮助开发人员更好的理解I2C调试。
    的头像 发表于 04-17 16:35 1353次阅读
    <b class='flag-5'>I2C</b>通信开发障碍<b class='flag-5'>以及</b>总结

    基于FPGA的 I²C 接口的芯片通信设计

    I²C 协议提供了 3 种速度模式:正常速度模式 100kbit/s、快速
    发表于 07-25 10:37 683次阅读
    基于FPGA的 <b class='flag-5'>I</b>²<b class='flag-5'>C</b> 接口的芯片通信设计

    i2c总线协议pdf

    ................................................................................................... 1611 标准模式I2C 总线规范的扩展
    发表于 08-13 17:16

    I2C规范,I2C总线原理

    ................................................................................................... 1611 标准模式I2C 总线规范的扩展
    发表于 04-09 18:34

    CY7C68013A的惊天大秘密:实现对全速和高速模式的切换

    枚举成全速。(本段内容可以参考TRM手册55页内容)那么在实现将设备默认枚举为全速后,如果在程序中将USB断开了一次,CY7C68013A又会变成了高速
    发表于 03-01 16:38

    【FPGA学习】模拟 I²C 接口程序的基本框架

    接口有效信号。• cyc_I 有效总线周期输入。• ack_o 应答信号输出。• inta_o 中断信号输出。2.时钟设置寄存器I2C 协议提供了 3 种速度模式:正常
    发表于 10-09 11:28

    请问一下I2C速度模式仅由时序定义吗?

    I2C速度模式”在 CubeMX/IDE 中从标准变为快速时,似乎只有 Init.Timing 值在生成的代码中发生变化。该值进入 I2C 的 TIMINGR 寄存器。我错过了什
    发表于 01-11 07:40

    STM32通信硬件 I2C

    (Standard mode,最高速度100kHz)和快速模式(Fast mode,最高速度400kHz)。同时,还支持SMBus2.0(System Management Bus,系统管理总线)和PMBus (Power Ma
    发表于 12-09 12:36 11次下载
    STM32通信硬件 <b class='flag-5'>I2C</b>

    HT8 MCU I²C 从机模式的通信及使用

    本文将对 HT8 MCU I2 C 从机模式的通信以及使用进行介绍,帮助客户快速上手 HT8 MCU 的 I 2
    发表于 05-10 14:41 4次下载
    HT8 MCU <b class='flag-5'>I</b>²<b class='flag-5'>C</b> 从机<b class='flag-5'>模式</b>的通信及使用

    高速I²C用于MAX1239 ADC,采用MAXQ2000微控制器

    MAX1239为12通道、12位、低功耗ADC,具有1.7MHz高速I²C兼容串行接口。MAX1239支持快速/标准模式(FS模式,400k
    的头像 发表于 01-12 11:24 1079次阅读
    <b class='flag-5'>高速</b><b class='flag-5'>I</b>²<b class='flag-5'>C</b>用于MAX1239 ADC,采用MAXQ2000微控制器

    使用MAXQ2000为MAX1169实现高速I²C接口

    MAX1169为16位、低功耗ADC,具有1.7MHz高速I电路2C 兼容串行接口。MAX1169支持快速模式(400kHz)和高速
    的头像 发表于 01-13 09:57 691次阅读
    使用MAXQ2000为MAX1169实现<b class='flag-5'>高速</b><b class='flag-5'>I</b>²<b class='flag-5'>C</b>接口

    I3C协议规范的详细内容

    本文讲解 I3C 协议规范的详细内容,从规范中可以看出,I3CI2C 复杂很多,硬件简单带来的是软件的复杂。 对于 Linux 常用版本,kernel-4.14 和 kernel
    的头像 发表于 07-22 16:13 3626次阅读
    <b class='flag-5'>I3C</b>协议规范的详细<b class='flag-5'>内容</b>

    I3C有哪几种模式

    I3C I3C 支持许多传统 I2C 从设备,I3C 有两个模式:SDR Mode、HDR Modes Single Data Rate (
    的头像 发表于 07-22 16:27 2185次阅读

    I2C协议的基础知识

    本文从I2C协议的概述开始,描述协议的历史、不同速度模式、物理层和数据帧结构,最后介绍I2C混合电压系统中电平兼容性以及上拉电阻大小计算。
    的头像 发表于 10-22 15:51 283次阅读
    <b class='flag-5'>I2C</b>协议的基础知识