I2C与I3C的对比

2023-11-21 20:40
文章标签 i2c 对比 i3c

本文主要是介绍I2C与I3C的对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

I2C与I3C的对比

电气特性

I2C

1.半双工

2.串行数据线(SDA)和串行时钟线(SCL)

3.数据线漏极开路,即I2C接口接上拉电阻

4.I2C总线运行速度:**标准模式100kbit/s,快速模式400kbit/s,快速模式plus 1Mbit/s,**高速模式3.4Mbit/s,超高速模式5Mbit/s。

5.物理连接

img

6.此外,中断脚、使能脚需要额外占用GPIO连接到SOC上

I3C

1.半双工

2.I3C有着一整套通用命令字的集合。可以通过这些命令字实现动态地址分配、检查当前总线状态、时间控制、IO扩展等等功能

3.动态地址分配后其启动条件与I2C相同

4.SCL可以达到4MHz,并且其高周期<45 ns

5.I3C典型的数据模式SDR是12MHz下的10.6Mbps,最高速率是HDR模式下的三元采样,达到12.5MHz下的30Mbps。

6.I3C有地址仲裁特性,IBI,当从机产生中断,IBI向主机发送中断信息、地址和其它信息。若有多个从机中断,I3C根据0s优先级判断。同时地址仲裁也对热插拔、动态地址分配以及多主机申请同样有效。

7.第6点是I3C与I2C最大的不同之处,可以大幅减少从机中断对SoC引脚的需求。

8.I3C向后兼容I2C。

9.在功耗问题上,I3C的SCL全程采用推挽,SDA大部分时间也工作在推挽模式,而I2C由于上拉电阻的存在导致功耗较大。

10.为减少干扰,I3C有正向(SDA)和反向(SDA#)数据线:I3C使用两根数据线来传输数据,一根是正向数据线(SDA),另一根是反向数据线(SDA#)。这两根线同时传输相反的数据位,即当一根线处于高电平时,另一根线处于低电平,反之亦然。

11.差分信号优势:采用差分信号传输的主要优势在于它可以降低电磁干扰(EMI)的影响,提高了信号质量和抗干扰性。由于正向和反向线路同时传输数据,它们上的电流变化是相反的,这减少了辐射和对其他线路的干扰。这对于高速数据传输尤为重要,因为在高速情况下电磁干扰可能更为显著。这也是I3C可以比I2C传输速度更快的原因之一。

总结:

1.I2C和I3C都为半双工。

2.两者信号线都为SCL和SDA,但I3C多一条SDA#反向信号线,用于差分信号传输,减少高速传输数据时受到的干扰。

3.I3C采用推挽模式工作,因此功耗低于I2C(上拉电阻)。

4.I3C有通用命令字的集合,可实现动态地址分配、检查当前总线状态、时间控制、IO扩展等等功能。

5.I3C可达到12.5MHZ,I2C在高速模式下3.4MHZ(标准100Kbits)。

6.I3C的地址仲裁特性使得其在连接多个设备时,与SoC连接需要更少的线。

7.I3C向后兼容I2C。

img

这篇关于I2C与I3C的对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/404976

相关文章

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

C++ scoped_ptr 和 unique_ptr对比分析

《C++scoped_ptr和unique_ptr对比分析》本文介绍了C++中的`scoped_ptr`和`unique_ptr`,详细比较了它们的特性、使用场景以及现代C++推荐的使用`uni... 目录1. scoped_ptr基本特性主要特点2. unique_ptr基本用法3. 主要区别对比4. u

Java多种文件复制方式以及效率对比分析

《Java多种文件复制方式以及效率对比分析》本文总结了Java复制文件的多种方式,包括传统的字节流、字符流、NIO系列、第三方包中的FileUtils等,并提供了不同方式的效率比较,同时,还介绍了遍历... 目录1 背景2 概述3 遍历3.1listFiles()3.2list()3.3org.codeha

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff

MySQL中读写分离方案对比分析与选型建议

《MySQL中读写分离方案对比分析与选型建议》MySQL读写分离是提升数据库可用性和性能的常见手段,本文将围绕现实生产环境中常见的几种读写分离模式进行系统对比,希望对大家有所帮助... 目录一、问题背景介绍二、多种解决方案对比2.1 原生mysql主从复制2.2 Proxy层中间件:ProxySQL2.3

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比