I²C是开漏总线,高电平依靠上拉电阻与总线电容共同形成上升沿。4.7kΩ只是常见经验值,不是所有速率、总线长度和器件数量都适用。
上拉电阻上限主要受总线电容和允许上升时间限制。
电阻太小会增加器件拉低时的灌电流,可能让VOL和功耗变差。
连接器、排线、长走线和多个器件都会增加总线电容。
多个模块各自带上拉时,必须计算并联后的等效阻值。
面试官主要考察什么
这类题更看重工程判断过程。建议先说明前提条件,再解释原理,然后给出设计或排查动作,最后说明如何验证。遇到具体数值时,要明确以器件数据手册、接口规范、板厂能力或实际测量为依据。
关键分析点
电阻偏大
典型现象:SCL/SDA上升沿过慢,高速模式易出错
常见误区:认为逻辑分析仪还能解码就说明波形没问题
电阻偏小
典型现象:低电平灌电流变大,VOL可能抬高
常见误区:认为电阻越小上升越快就越好
总线变长
主要变化:电容增加,RC时间常数变大
常见误区:板内正常的4.7kΩ直接照搬到线缆连接
多模块并联
主要变化:多个上拉并联后等效阻值变小
常见误区:只检查单个模块上的电阻值
参考回答
我不会固定回答I²C一定用4.7kΩ。上拉电阻要同时满足两个方向:不能太大,否则和总线电容形成的RC会上升太慢;也不能太小,否则器件拉低时灌电流过大,VOL可能不满足规格。实际我会根据速率模式、总线电容和器件允许灌电流估算范围,再用示波器确认SCL/SDA的上升时间和低电平电压。如果多个模块都自带上拉,还要先算等效并联电阻。
面试官可能继续追问
I²C为什么不用推挽输出直接拉高?
多个4.7kΩ并联会发生什么?
总线变长后为什么容易出错?
如何用示波器判断上拉是否合适?
这些回答容易失分
任何项目都固定用4.7kΩ。
只用逻辑分析仪看协议,不看模拟波形。
忽略模块自带上拉导致等效阻值过小。
面试前怎么准备
熟悉开漏输出和RC上升沿。
准备解释电阻上下限分别由什么决定。
面试中主动提到示波器验证上升时间会更专业。

核心关键词:I2C上拉电阻、开漏输出、总线电容、上升时间、单片机面试

扫码关注






























