彻底搞懂IIC总线(7)I2C总线硬件电气连接电阻电容

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

本文详细介绍了I2C总线上拉电阻、串联电阻、漏电流的计算方法,给出了总线电容过大的解决方案,并指出了总线的布局布线方法,同时对MIPI-I3C进行了简要介绍。

本小节仅对标准模式、快速模式和快速增强模式的上拉电阻取值进行说明。高速模式虽说也有上拉电阻,但其主机内部集成了恒流源,可以加快tr,所以对上拉电阻不做特殊规定;超快速模式是推挽输出,单向传输,无需上拉电阻,而且使得tr更快;所以本I2C规范中没有对高速模式和超快速模式上拉电阻进行单独说明。

图1-71上拉电阻Rp(max)与总线电容Cb的函数关系

可推出上拉电阻的公式(式1-2):

图1-71函数关系图和式1-2函数公式是等效的,都表示标准模式、快速模式和快速增强模式最大上拉电阻Rp与总线电容Cb的函数关系。我们可以用以上两种方法求上拉电阻Rp的最大值。显然用函数关系图估算比较快捷。

电源电压限制电阻Rp的最小值,因为标准模式和快速模式的额定最小吸电流为3mA,快速增强模式为20mA。Rp(min)作为VDD的函数,如所示Figure42。

图1-72上拉电阻Rp(min)与VDD的函数关系

其计算公式如下(式1-3):

式中,Rp(min)为上拉电阻最小值,单位Ω;VDD电源电压,单位V;Vol(max)为输出低电平时的电压,单位V,在标准模式、快速模式和快速增强模式对应总线电气特征表中给出了值;Iol为输出低电平时的灌电流,单位A,在标准模式、快速模式和快速增强模式对应总线电气特征表中给出了值。

我们可以用上述两种方法求出上拉电阻Rp(min),显然用函数关系图来估算比较快捷。

①降低fSCL频率(见12.2.1):总线以较低的速度运行(较低的fSCL)。

②增加输出驱动能力(见12.2.2):可以使用驱动电流更高的器件,如额定为快速模式增强的器件(PCA96xx)。

③使用总线缓冲器(见12.2.3):有许多总线缓冲器件可以将总线分成若干段,使每段的电容低于容许限值,例如PCA9517总线缓冲器或PCA9546A开关。

④增加开关上拉电路(见12.2.4):开关上拉电路可用于加速上升沿,方法是在需要时交替切换低值上拉电阻的输入和输出。

实际结果可能更慢,因为实际运行时不会准确地将tLOW和tHIGH分别控制在30%至70%或70%至30%的最小值。

有关这方面的应用和恩智浦半导体器件的更多信息,请参考应用笔记AN255(I2C/SMBus中继器、集线器和扩展器)和AN262(PCA954x系列I2C/SMBus多路复用器和开关)。

图1-73使用缓冲器来驱动过大总线电容

电源电压(VDD)和最大输出低电平决定上拉电阻Rp的最小值。例如,当电源电压为VDD=5V±10%,VOL(max)=0.4V、电流为3mA时,Rp(min)=(5.5-0.4)/0.003=1.7kΩ(参考式1-3)。如图1-71所示,Rp=1.7KΩ值将最大总线电容限制在200pF左右,以满足300ns的最大tr要求。如果总线电容高于此值,就可以使用如图1-74的开关上拉电路。

图1-74增加开关上拉电路来驱动总线过电容

串联电阻rs是可选的。它们保护I2C总线设备的I/O级免受总线线路上高压尖峰的影响,并将总线线路信号的串扰和下冲降至最低。Rs的最大值由当总线切换到低电平以关闭Rp2时该电阻上的最大允许压降决定。

如图1-75例如,300Ω的串联电阻(Rs)可用于防止SDA和SCL线路上的高压尖峰(例如,由电视显像管的闪烁引起)。如果使用串联电阻,设计人员必须将Rs电阻加入Rp和容许总线电容Cb的计算中。

图1-75I2C总线的串联保护电阻

图1-76串联电阻Rs与上拉电阻的函数关系

每个连接到I2C的器件的最大高电平输入电流的额定最大值为10μA,由于高电平要求0.2VDD的噪声裕量,该输入电流限制了Rp的最大值。这个限制取决于VDD。总的高电平输入电流与最大上拉电阻Rp(max)之间的函数关系如图1-77。

图1-77高电平输入泄露电流与最大上拉电阻的函数关系

一般来说,必须优化I2C布线方式,以便将总线线路的串扰和干扰降至最低。由于上拉器件的阻抗相对较高,总线最容易受到高电平串扰和干扰的影响。

如果PCB或带状电缆上的总线长度超过10cm,并且包括VDD和VSS线,则布线方式式应为:

如果没有VDD线,只有VSS线,走线方式应为:

这些布线方式还会导致SDA和SCL线路具有相同的容性负载。如果PCB板设计时有单独的VDD层和VSS参考层,则可以省略VSS和VDD线。

如果总线是双绞线,每条总线必须与VSS回路绞合。或者,SCL线可以与VSS回路绞合,SDA线与VDD回路绞合。在后一种情况下,必须使用电容将双绞线两端的VDD线与VSS线相连,以达到去耦的目的。

如果总线线路被屏蔽(屏蔽层连接到VSS),干扰将降至最低。但是,尽量使屏蔽电缆与SDA、屏蔽电缆和SCL线之间的分布等效电容最小,以最大限度地降低串

扰。

图1-78术语缩写

I3C是MIPI(MobileIndustryProcessorInterface)移动产业处理器接口联盟推出的改进型I2C总线接口,全称是ImprovedInterIntegratedCircuit,因此简称为I3C。I3C仍然是采用2根通信线,一根数据线SDL,一根时钟线SCL。I3C向下兼容I2C,也就是I3C总线可以挂载传统I2C接口的器件,使用很是方便。MIPI联盟的新接口标准旨在通过减少传感器系统集成的物理引脚来实现传感器通讯的标准化,提供一个快速、低成本、低功耗、两线数字接口标准。

MIPII3C(和公开上市的MIPII3CBasic)提供了一种可扩展的中速实用控制总线,用于将外设连接到应用处理器。其设计融合了I2C总线和SPI接口的关键特性,提供统一的高性能、低功耗接口解决方案,为I2C总线和SPI实施者提供灵活的升级路径。I3C最初于2017年推出,是一个发展多年的项目,该项目基于与MEMS和传感器行业以及更广泛的电子生态系统的广泛合作。

如图1-79所示,I2C总线从机(带50ns滤波器)可以与工作在12.5MHz的I3C主机共存,使现有的I2C总线设计能够移植到I3C规范。相反,以典型的400kHz或1MHzI2C总线速度运行的I3C从机可以与现有的I2C总线主机共存。

图1-79I2C与I3C目标设备混用系统

就像I2C一样,I3C是通过标准CMOSI/O引脚使用双线接口实现的,但与I2C不同,I3C它无需另外的中断线,从机设备使用软中断能够通知主机设备中断,这一设计功能消除了对每个从机设备的单独中断线连接的需要,从而降低了系统成本和复杂性。I3C支持动态地址分配有助于最大限度地减少引脚数量,这对于适应空间受限的外形至关重要。

I3C支持多点总线,在12.5MHz时,支持10Mbps的标准数据速率(SDR),并提供高数据速率(HDR)模式选项。最终结果是,与I2C相比,I3C在性能和能效方面实现了飞跃,两者对比如图1-80所示。

图1-80I3C和I2C能耗与速率对比

虽然I3C的完整版本仅面向MIPI联盟成员,但MIPI发布了一个名为I3C基础版的公共版本,其中捆绑了开发人员和其他标准组织最常用的I3C功能。I3C基础版无需MIPI会员即可实施,旨在为所有实施者提供一个免版税的许可环境。图1-81总结了I3C和I3C基本版支持的主要功能。

图1-81I3C各版本功能比较

为了支持开发人员,不同I3C实现之间的兼容性已经通过多个互操作性研讨会得到了确认,并且有几个支持MIPI的资源可用。其中包括:I3C主机控制器接口-MIPII3C人机界面;用于Linux的I3CHCI驱动程序;I3C查找和配置规范—适用于I3C的DisCo;I3C调试和测试接口–I3CMIPI调试。

I3C知识产权(IP)可从多个供应商处获得,包括I3C基础版的免费许可版本。多家供应商也提供I3C一致性测试和验证IP测试套件。

THE END
1.IIC协议IIC总线在传输数据的过程中一共有三种类型信号,分别为:开始信号、结束信号和应答信号。 //起始位,停止位,数据位,速度 1. 起终信号 这些信号中,起始信号是必需的,结束信号和应答信号 起始信号 SCL =1 SDA = 1; 延时 while(!sda) 延时 终止信号 https://blog.csdn.net/2301_79405674/article/details/141103501
2.IIC总线协议详解IIC(Inter-Integrated Circuit)总线是一种由 NXP(原 PHILIPS)公司开发的两线式串行总线, 用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合 使用,传输距离短,任意时刻只能有一个主机等特性。 在CPU 与被控 IC 之间、IC 与 IC 之间进行双向传送,高速 IIC 总线一般可达 400kbpshttp://www.tqpw.cn/eRMbu6Yn.shtml
3.IIC通信协议总结(详细说明完整过程)腾讯云开发者社区IIC协议把传输的消息分为两种类型的帧: 地址帧–用于master指明消息发往哪搁slave; 数据帧(单个或者连续)–由master发往slave的数据或者是接收到来自于slave的数据。一次读写单位为8bit,高位先发 注:IIC读写是相对于master来说的。IIC总线的数据传送1、数据位有效性的规定:IIC总线进行数据传送时,时钟信号为高电平https://cloud.tencent.com/developer/article/2073230
4.详解IIC通信协议以及FPGA实现业界新闻IIC也称为I2C(Inter-Integrated Circuit)由飞利浦公司(现在的恩智浦半导体)开发,是一种用于短距离数字通信的串行,同步,半双工通信接口协议;传输在标准模式下可以达到100kbit/s,在快速模式下可以达到400Kbit/s, 在快速模式增强模式下可以达到1Mbit/s,在高速模式下可以达到3.4Mbit/s。 https://www.jindouyun.cn/document/industry/details/244275
5.cubemxIIC稳定吗mob64ca1410eb61的技术博客OLED 裸屏总共种接口包括:6800、8080 两种并行接口方式、3 线或 4 线的串行 SPI 接口方式、 IIC 接口方式(只需要 2 根线就可以控制 OLED 了!),这五种接口是通过屏上的 BS0~BS2 来配置的。 0.96 寸 OLED 模块(SPI接口模块): 模块接口定义: GND 电源地 VCC 电源正(3~5.5V) D0 OLED 的 D0 脚,在https://blog.51cto.com/u_16213686/12904898