I2C上拉电阻如何取值?

        I2C一般为开漏结构,需要在外部加上拉电阻,常见的阻值有1k、1.5k、2.2k、4.7k、5.1k、10k等。

但是应该如何根据开发要求选择合适的阻值呢?

        假设SDA是低电平时,即MOS管导通。那么,就可以求出上拉电阻R的阻值。

上拉电阻计算公式:

        VOL定义为在漏极开路或集电极开路时,有3mA下拉电流时的低电平输出电压。IOL就是该端口的灌电流,即IOL=3mA。

        由上式可得,当VDD不变, VOL取最大值时,上拉电阻有最小值。

        根据I2C协议,端口输出低电平的最高允许电压是0.4V。

公式1可以改为:

        由式2可以得出:电源电压决定了上拉电阻的最小值。因此,当VDD=5V时,最小上拉电阻约为1.5k;当VDD=3V3时,约为1k。

        由于I2C总线端口的高电平是通过上拉电阻实现,线上的电平从低变高时,电源通过上拉电阻对线上负载电容CL充电,这需要一定的上升时间。

电容充电一般公式:

整理可得:

        I2C规范将低于VIL或0.3VDD的电压定义为逻辑低电平,同样将高于VIH或0.7VDD的电压定义为逻辑高电平,由式4可以求得:

由公式5可判断,当Tr取最大值,CL取最小值时,R有最大值。

        由于不同模式下,上升沿的最大时间及总线负载最大容限要求不同,标准模式、快速模式、高速模式分别是:1000ns/400pF、300ns/400pF、120ns/550pF。

        以快速模式下,负载电容50pF为例,则有:

结论:电源电压决定上拉电阻的最小值,总线负载电容决定上拉电阻的最大值。

希望对你有帮助,我们下一期见。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
I2C是一种串行通信协议,其上拉电阻I2C总线中必需的元件之一。上拉电阻的作用是保持总线线路的逻辑高电平。在I2C总线中,SDA(串行数据线)和SCL(串行时钟线)都通过上拉电阻连接到VCC电源电压上。上拉电阻的值通常在1kΩ到10kΩ之间。 上拉电阻的作用是用于将总线线路维持在逻辑高电平状态。在I2C总线的通信中,逻辑高电平是由器件的驱动器提供的,而逻辑低电平是由器件的驱动器拉低线路来实现的。当总线上没有信号传输时,上拉电阻确保总线保持在逻辑高电平状态,从而避免总线线路受到外界噪声的干扰。 至于I2C的速率,它由总线的时钟速率决定。在I2C总线中,时钟速率可以配置为标准模式(100Kbps)或快速模式(400Kbps)。一些高速模式(比如高速模式+,1Mbps)也可用于支持更快的数据传输速率。 总线上拉电阻和速率之间的关系是,较低的上拉电阻值可以提供更快的信号上升时间,从而允许更高的数据传输速率。然而,较低的上拉电阻值也会导致更大的功耗和总线电流。因此,在设计I2C总线时,需要权衡电流和速率之间的折中,选择合适的上拉电阻值以满足要求的通信速率并保持适当的功耗。 综上所述,I2C上拉电阻是保持总线线路逻辑高电平的必备元件,在设计中需要根据通信速率和功耗需求选择合适的上拉电阻值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值