发 帖  
原厂入驻New
[经验]

I2C设计数学:电容和电阻

2020-9-21 09:00:00  559 I2C总线 电容 电阻
分享
10
关于I 2 C

I²C是一种多主机,多从机串行接口,允许微€€芯片以100 kHz(标准模式),400 kHz(快速模式),1 MHz(快速模式增强版)和3.4 MHz(高速模式)。
我们以前的文章之一,《  I²C总线硬件实现细节》,详细解释了该机制。该总线规范上可以找到  恩智浦的网站。


上面显示的是I²C硬件配置以及简化的时钟和数据波形。
现实生活中的I²C交易不是图纸中通常描绘的方波脉冲。由于存在寄生电容和使用上拉电阻,电路具有固有阻抗。  
逻辑高电平到逻辑低电平的转换涉及通过NMOS晶体管的低阻抗沟道的电流放电-这些转换是快速的。但是,从逻辑低到逻辑高的转换涉及必须流过一个相对较高值的上拉电阻的电流。较低的上拉电阻会导致更快的过渡,但也会导致较高的电流消耗(当信号为逻辑低电平时);较高的上拉电阻会导致过渡变慢并降低电流消耗。在更高的频率下,所选电阻的值变得越来越重要。


由于逻辑低至逻辑高电流路径中的上拉电阻,正过渡出现了舍入。
总线电容或电阻的任何增加都会增加逻辑高电平的过渡时间。在某一点上,电势差甚至不会达到逻辑高阈值,或者在恢复回逻辑低之前不会保持足够的时间。


在上图中,RC时间常数太大,未达到逻辑高阈值。不同的I²C器件可以具有不同的逻辑阈值。前面的图均假定具有<span id="MathJax-Element-1-Frame" class="mjx-chtml MathJax_CHTML" tabindex="0" data-mathml="VLL=0.3∗3.3V=1V" role="presentation">V大号大号=0.3∗3.3V=1个VVLL=0.3∗3.3V=1V 和 <span id="MathJax-Element-2-Frame" class="mjx-chtml MathJax_CHTML" tabindex="0" data-mathml="VLH=0.7∗3.3V=2.3V" role="presentation">V大号H=0.7∗3.3V=2.3VVLH=0.7∗3.3V=2.3V,但情况并非总是如此。该ADP5062,例如,有在过渡<span id="MathJax-Element-3-Frame" class="mjx-chtml MathJax_CHTML" tabindex="0" data-mathml="VLL=0.5V" role="presentation">V大号大号=0.5VVLL=0.5V 和 <span id="MathJax-Element-4-Frame" class="mjx-chtml MathJax_CHTML" tabindex="0" data-mathml="VLH=1.2V" role="presentation">V大号H=1.2VVLH=1.2V。
具有不同阈值电压的芯片可用于同一条总线。在这种情况下,应使用最高逻辑高阈值电压和最低逻辑低阈值电压进行计算。


该图显示了逻辑低阈值电压0.7 V和逻辑高阈值电压1.3V。这些低值会增加逻辑高状态下的时间,而不会显着改变逻辑低状态下的时间。此配置允许更高频率的操作。
电容恩智浦规范指出,标准模式和快速模式设备的最大总总线电容为400 pF,快速模式增强型设备的最大总总线电容为550 pF。您不应在I²C线路上增加电容器以达到这些电容上限,总线电容越低越好。

电介质电路板的基础材料可能会影响总线的整体电容。大多数PCB基础材料的介电常数在2.5≲ε≲5的范围内(ε取决于频率)。


该图显示了介电常数对微带线电容的影响。
较昂贵的基础材料往往具有较低的总介电常数-这会降低走线的总电容,这是我们的目标。这是可能的45%通过选择以降低整体扫描电容TLT(ε= 2.5)代替Policlad 370HR(ε FR4 = 4.5)。

总线电容增加的来源总线电容的来源包括总线上的IC,微带走线以及附近的信号走线和电源层。同样,在小电路板或I²C走线靠近电路板边缘的情况下,电容条纹效应也不容忽视。
I²C线附近的任何金属或电介质都会增加您的整体电容,但在许多情况下,影响可忽略不计。

电容的微不足道的来源
寄生键合和封装电容不是您可以控制的。幸运的是,每条信号线大约只有1-2 pF(有关更多信息,请参阅本文档)。换句话说,这不会成为您整个电路中的重要考虑因素。该1-2 pF电容包含在以下段落的估算中。

电容的重要来源
电路中使用的IC
的NXP说明书列出了为10pF的“对于每个I / O管脚的最大电容”。添加的每个IC都会使总总线电容增加大约10 pF(请参见特定IC的数据表),然后还必须考虑与将IC连接到总线的走线相关的电容。

铜迹电容
当我们在这里说“铜走线电容”时,我们指的是地面上电介质上的单走线。如果IC之间的距离太远,或者I 2 C总线上有多个IC,则I 2 C 信号线和接地层之间的电容合可能很重要。对于长距离运行,应将I 2 C线彼此分开几个走线宽度(或将Vdd和接地走线放置在信号走线之间),以减少两条信号线之间的电容耦合效应。
要计算信号与接地平面(或电源平面)之间的电容耦合,请使用以下方程式,其中考虑了边缘效应。
222.png
由Johnson和Graham改编自“高速数字设计”


以下计算是具有以下实际参数的四层堆栈的相邻层的示例计算:εFR4= 4.5,走线宽度= 0.13 mm,层高= 0.23 mm,走线厚度= 0.035 mm。
333.png
孔径对微带电容的影响
可以通过增加到接地平面的距离来减小电容,这可以通过将信号走线放置在从接地平面上移走的一层或多层上来实现。还可以从平面层中去除铜,以便在走线下方形成铜空洞。该空隙称为孔。



那么这对总电容有什么影响?如果我们使用与先前计算相同的参数,但在信号走线和接地层之间增加0.965 mm,则电容可降低约40%。如果您的PCB布局允许在信号走线正下方留出适当的大孔径,那么对于走线很长的设计来说,这可能是值得的改进。
444.png

电阻器

最小上拉电阻有两个要求。首先,上拉电阻必须将电流限制在不超过输出晶体管最大漏极电流的水平。其次,当SCL或SDA信号处于逻辑低电平状态时,电阻器必须防止过多的电流消耗。实际上,电流消耗是主要考虑因素,因为通常不需要使用足够小以危害输出晶体管的电阻。

例如,假设我们有一个3.3 V总线,并且希望将电流限制为3 mA。
555.png
如果我们假设时钟线和数据线的占空比均为50%,则功耗为
666.png

低值上拉电阻产生更快的过渡和“更陡峭”的波动,但它们也导致更高的功耗。
计算上拉电阻的最大值为了确保适当的功能,设计人员必须确保满足I 2 C器件的时序要求。

上图说明了I 2 C事务的各个部分,这些部分对应于上升时间,下降时间,逻辑低状态所花费的时间以及逻辑高状态所花费的时间。这些时序参数的适当值通常在器件的数据手册中指出。该图未按比例绘制。
高值上拉电阻会将过渡时间增加到逻辑高阈值,这可能会阻止IC正常工作。


逻辑高电平上升时间太大,并且尚未达到逻辑高电平阈值。因此,此总线上的设备将无法通信计算上拉电阻的最大值需要知道上升时间要求。然后,使用指数函数对曲线进行建模,并找到经过逻辑低阈值电压后达到逻辑高阈值电压所需的时间。




上升曲线由下面所示的指数函数给出。要解决上升时间,请从达到逻辑低阈值的时间中减去达到逻辑高阈值所需的时间。该公式提供了与水平轴(时间)相关的垂直轴(电压)。在确定时间差之前,必须重新安排方程式来求解时间。
777.png

安排初始方程来求解达到逻辑高阈值电压的时间 888.png
安排初始方程来求解达到逻辑低阈值电压的时间重新安排解决RPullUp,它变成:
999.png
这是用于计算最大上拉电阻的最终形式。数据表中给出了t 上升时间,V 逻辑低和V 逻辑高,并且C Bus是根据电路的特性估算的。选择t 上升时间 = 150 ns,V 逻辑低 = 0.5 V和V 逻辑高 = 1.2 V 的任意值,并假设总线电容为150 pF,我们具有以下几点:
1010.png
摘要
I²C上拉电阻的值必须足够大以减少不必要的电流消耗,并且必须足够小以产生可接受的上升时间。本文介绍的计算可以帮助你找到合适的值,但是,如果你确实要优化I²C总线,则可能需要使用示波器测量信号(如果可能,请使用低电容探头)并调整上拉电阻,直到获得所需的时序特性为止。



相关经验

efans_6dd3d0 2020-10-9 12:16:45
图文并茂,说得很清楚。
1 回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表