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

IIC总线信号为什么要加上拉电阻?

创作时间:
2025-03-20 15:22:51
作者:
@小白创作中心

IIC总线信号为什么要加上拉电阻?

引用
CSDN
1.
https://blog.csdn.net/2401_87556704/article/details/143650734

IIC(Inter-Integrated Circuit)总线是一种常用的两线串行通信总线,广泛应用于各种嵌入式系统中。在设计IIC信号电路时,为什么要在SCL和SDA线上加上拉电阻?本文将从技术原理出发,详细解释这一设计要求,并探讨上拉电阻的取值原则。

IIC总线由两条信号线组成:SCL(时钟信号)和SDA(数据信号)。其中,SCL信号由主设备产生,而SDA信号则是一个双向信号,用于数据的发送和接收。

在设计IIC信号电路时,我们会在SCL和SDA线上添加上拉电阻。这种设计的主要原因在于IIC芯片的SDA和SCL引脚采用的是开漏输出方式,即每个引脚仅包含一个NMOS管,而不像推挽输出那样包含两个MOS管。

当芯片的SDA或SCL引脚输出MOS管导通时,IIC信号线的电平为低电平。

然而,当这些MOS管关闭时,如果没有上拉电阻,IIC信号线将处于高阻状态,电平变得不确定。因此,通过添加上拉电阻,当MOS管关闭时,IIC信号线能够保持在一个明确的高电平状态。

在多设备共享IIC总线的场景下,这种设计尤为重要。由于IIC设备的引脚采用开漏输出,可以很好地实现线与功能。这意味着,只要有一个设备的引脚输出低电平,相应的SCL或SDA总线就会呈现低电平状态。如果采用推挽输出方式,多个设备共用一条总线时很容易导致芯片损坏。

IIC上拉电阻的取值原则

IIC信号的上拉电阻阻值需要适中,不能太大也不能太小。如果阻值过大,IIC总线的高电平驱动能力会变差。考虑到IIC芯片引脚存在寄生电容,加上走线的寄生电容,整个IIC总线相当于接了一个负载电容Cl。

上拉电阻过大时,总线电平从0到1变化的上升时间会变长,这可能会影响IIC的时序,导致误码。根据公式Tr=0.8473RCl(其中Cl是IIC总线的等效负载电容),可以计算出合适的上升时间。

另一方面,上拉电阻也不能太小。如果电阻值过小,当IIC引脚输出低电平时,流经芯片引脚的电流会增大,可能导致信号线的低电平抬升,甚至损坏芯片。通常要求IIC引脚在低电平时,流过芯片的电流小于3mA。以3.3V上拉为例,电阻值应满足R>(3.3-VoL)/3mA,其中VoL是IIC引脚低电平时的最大电压,一般为0.4V。

综合考虑上述因素,可以确定合适的上拉电阻取值范围。

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