问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

IIC的上拉电阻选多大合适,影响IIC通讯速率有哪些?

创作时间:
作者:
@小白创作中心

IIC的上拉电阻选多大合适,影响IIC通讯速率有哪些?

引用
1
来源
1.
https://www.sekorm.com/news/share?newId=533891115


IIC通讯可以挂载很多个从设备,由于IIC端口为开漏模式,所以在使用IIC时需要在总线上使用上拉电阻给总线提供高电平。如下图是某RTC的最小电路,在SDA和SCL上分别使用R1、R2电阻连接到VDD,这两个电阻就是IIC总线的上拉电阻。

R1、R2电阻阻值与IIC总线设备的挂载数量和通讯速率相关,很多工程师使用IIC通讯时,不知道怎么选择上拉电阻的阻值。上拉电阻的主要作用就是给IIC总线提供高电平,由于引脚和PCB导线的寄生电容的影响,其阻值的大小直接影响上升沿的速率,如下图片计算的PCB过孔和导线的寄生电容。

图一:PCB过孔的寄生电容

如图一,使用FR-4板材1.6mm板厚的PCB,当过孔20mil 过孔盘30mil 每个过孔会有1.2pf的寄生电容。

图二:导线的寄生电容

如图二,使用FR-4板材1.6mm板厚的PCB,当线宽15mil时,寄生电容是0.3pf/in。芯片的引脚电容一般为3pf~5pf。

因此,根据以上参数我们可以简单计算一下总线联通的寄生电容。一般来说总线SCL的寄生电容和SDA的寄生电容相等,所以以SDA引脚为例进行计算。

假设,SDA导线上有两个过孔,导线长度50mm≈2in,SDA导线上有一个主机(MCU)和一个从机(RTC)组成,引脚电容5pf。可得到SDA线上的总的寄生电容:

Csda=C过孔2+C导线2+C引脚*2

Csda=1.2pf2+0.3pf2+5pf*2=13pf

根据以上计算的引脚的寄生电容值,如果SDA使用10K上拉电阻,根据公式:Output(%)=100*(1-e-t/R*C)

仿真计算如图三,从0V上升到0.7VDD用时156.5ns(CMOS电路在大于0.7VDD认为是高电平,小于0.3VDD认为是低电平)。由于SDA是开漏模式低电平的驱动能力很强,下降沿时间一般几个ns,为了方便计算可选3.5ns。

图三:不同上拉电阻0.7VDD计算上升沿时间

图四:不同上拉电阻0.9VDD计算上升沿时间

根据以上数据可计算得出使用10K上拉电阻时达到0.7VDD的最大SDA通讯频率F=1/160ns=6.25MHz。达到0.9VDD的最大SDA通讯频率F=1/299.3ns=3.3MHz。

在实际电路中由于布线、过孔、焊接松香残留、三防漆等影响,实际的通讯远达不到6.25Mhz的频率。

以上数据的计算是为了让工程师了解,影响通讯速率的参数,方便在以后的使用中知道通过调整哪些参数来调整通讯的波形。但是由于标准IIC的通讯标准通讯速率只有100KHz,快速模式400KHz。因此针对兴威帆的RTC在IIC只使用一个从设备的时候使用10K的上拉电阻是没有问题的。

用户在使用兴威帆RTC的IIC总线时,关于上拉电阻的选择一般推荐如下:

总结

IIC的通讯是通过沿的翻转进行数据读写的,上升沿的上升时间是影响通讯速率快慢的根本原因。通过调整上拉电阻的阻值或改变通讯线之间的寄生电容可以改变上升沿时间,从而影响通讯速率的大小。上拉电阻的值一定的情况下,可以通过优化PCB布线减少寄生电容,比如:减少过孔数据、缩短导线长度、减少PCB厚度、减少导线宽度等等。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号