I2C上拉电阻的取值

I2C 通信标准是当今应用最为广泛的芯片间通信标准电子系统。它是一种开漏输出通信标准,意味着集成可以连接具有不同电压电源轨的电路进行通信。上拉电阻需要从 I2C 线路连接到电源以启用通信。

3349c0b0b2d6d3da99be5308c8159fd3.png

当线路未被开漏接口驱动为低电平时,上拉电阻将线路拉高。上拉电阻的取值是I2C系统的重要设计考虑因素,因为不正确的值会导致信号丢失。

●I2C的效逻辑低电平的值决定了最小上拉电阻。

b8a7c255a2b693fd14c715424311c6b2.png

●IOL是下表中I2C需要的2~3mA的Current Sink。

ad02f0837fe12d8236c3194cb4f1e500.png

● I2C最大上拉电阻受总线电容影响,RC 电路对幅度为 VCC 的电压阶跃的响应为以时间常数 RC 为特征。电压波形可写为:

482a8e34765c8b021b99fcd50898c196.png

5ec24a8bbec148a04808134e46881f3d.png

I2C 总线的上升时间可以写为

ca56782d45b63f0ef79dc0faff1aa64d.png

最大上拉电阻是最大上升时间的函数(tr ):

4208e4f8a8365ffadd92532d854c6720.png

注意事项

9ff54b1c736ffe63202411f8e1f16a47.png

cf12bee114b7aecac42b32152ee6499f.png

如上图所示:公式里的IOL不是固定,看实际I2C的工作模式,具体参数请查看NXP的I2C-bus specification and user manual。

d374e0830fbb9c1fd46c6d2f54d8e878.png

参考文档

7658b52b7b44b7fd77f9f918b4ff49b1.png

NXP:I2C-bus specification and user manual

TI:I2C Bus Pullup Resistor Calculation

9b5e52ccf701a9ea021811ff3ed2951d.png

微信公众号 | 搬砖队长 文溪

CSDN | 搬砖队长 文溪

### 1.8V I2C 总线上拉电阻选型指南 对于1.8V I2C总线,选择合适的上拉电阻至关重要。I2C总线的数据线(SDA)和时钟线(SCL)都是开漏输出,因此需要外部上拉电阻来确保高电平时的稳定状态。 #### 影响因素分析 - **总线速度**:标准模式下最大频率为100kHz,快速模式下可达400kHz,高速模式则高达3.4MHz。 - **负载电容**:每条线路的最大允许电容取决于所使用的具体设备及其数量。一般情况下不应超过400pF[^2]。 - **供电电压**:这里特指1.8V的工作环境。 #### 计算方法 为了计算最佳的上拉电阻值,可以采用以下经验公式: \[ R_{pull-up} \approx \frac{V_{cc}}{(I_{max} + margin)} \] 其中\( V_{cc}=1.8V \),而电流\( I_{max}\)通常取值在3mA左右加上一定的裕度(比如额外增加50%)以保证足够的驱动能力。 通过上述参数估算得到大约600Ω到700Ω之间的阻值可能是比较合适的选择。但是实际应用中还需要考虑具体的场景需求调整这个数值。 #### 实际建议 考虑到不同厂家生产的IC可能有不同的电气特性,在最终决定之前最好查阅目标芯片的手册获取推荐的上拉电阻大小。另外也要注意当多个设备共享同一根I2C总线时可能会累积更多的寄生电容从而影响传输质量,此时应适当减小小于理论计算值得电阻以便加快充电过程减少抖动现象的发生。 ```c++ // 示例代码展示如何初始化带有特定上拉电阻配置的I2C接口 void setup_i2c_with_pullup_resistor(int resistor_value){ // 初始化I2C并设置上拉电阻 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值