I2C上拉电阻的计算

  1. I2C为什么要加上拉电阻,作用是什么?
  2. 上拉电阻单纯靠经验么,怎么计算?

  1. I2C为什么要加上拉电阻,作用是什么?

由于I2C接口的输出模式为开漏输出 ,这种模式只能提供低电平吸收电流,不能自主提供高电平,所以增加上拉使其能够提供高电平状态,并且在I2C总线标准中规定了当是空闲状态的时候,SCL和SDA都为高电平状态,刚好与之对应。

        2、I2C上拉电阻单纯靠经验么,怎么计算?

        2.1、I2C上拉电阻的最小值计算

 上拉电阻最小值的计算公式:Rmin={VDD(min)-V(Ol)}/I(OL)

 由于I2C接口内部有MOSFET,所以需要电压高于一定阈值才能使其导通,但是过高也会导致损坏

以发光二极管为例:某型号的发光二极管正向压降Vf=2V,额定电流I=25Ma,要想二极管正常导通发光要高于2V才能导通,但是电流还要限制在额定电流以内,所以LED正常工作的电阻最小值为(5V-2V)/25mA=120Ω

对于I2C根据数据手册可以查到V(OL)和I(OL)

根据以上参数可以得出最小电阻:Rmin={VDD(min)-V(Ol)}/I(OL)=(5V-0.4V)/3mA=1.53K

2.2、I2C上拉电阻的最大值计算

首先给出计算公式:R(max)=t(r)/{0.8473*C(bus)}

t(r) 是上升时间 ;C(bus)是总线电容

C(bus):包括IC的引脚电容,PCB走线电容

其中根据数据手册可以查到对应的引脚电容:

PCB走线电容:假设PCB的电容平均值为10pF

因此SDA的总线电容为18pF,SCL的总线电容为16pF;

t(r) 是上升时间查数据手册可得:

根据以上参数可以得出SDA最大电阻:R(max)=t(r)/{0.8473*C(bus)}=19.6K

SCL最大电阻:R(max)=t(r)/{0.8473*C(bus)}=22.1K

所以I2C上拉电阻选取1.53K~19.6K之间选取。一般选择选1K~10K范围的电阻。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值