I2C 上拉电阻(Rp)及串联电阻(Rs)如何取值?
各位大侠:
I2C上拉电阻,串联电阻取值问题一直困扰着我,还请大侠指点!
(1).I2C规格书是这样描述Rp最小值:电源电压限制了电阻Rp 的最小值,因为输出级在VOLmax=0.4V 时指定的最小下拉电流是3mA。
--------->如上描述意思就是Rp(min)=(Vdd-0.4V)/3mA,注意3mA为最小下拉电流。
若Rp
提问者:风龙陈谷子
地点:-
浏览次数:9063
提问时间:04-18 05:27
我有更好的答案
- 14条回答
-
wang21cj
04-22 01:44
1、3mA应该是指驱动器下拉电流的下限值,不能小于这个电流,但是可以大于等于这个电流。如果一个设备的下拉驱动能力达到3mA,那么它也是符合I2C规范的,但是不能小于。所以在计算上拉电阻时,必须以这个最小的电流计算(如果用大于这个值来计算,驱动器可能提供不了)。因此上拉电阻的最小值就是Rp(min)=(Vdd-0.4V)/3mA。
2、Rs是指驱动源的低电平驱动能力吧?当然是越小越好了,大了不是驱动不了?所以可以计算出Rs的最大值,不得超过该值。
3、高电平时要输入10uA,那么最大电阻当然是(0.2*VDD)/10uA了。如果大于该电阻,那么就无法拉高了。其实,这个电阻不仅仅是静态输入电流的问题,还要考虑到上升时间,由于分布电容的原因,所以实际的电阻肯定会比这个小一些。
-
龚浩洋2
04-23 22:41
首先十分感谢computer00的回复,不过我还是有些不明白:1、3mA应该是指驱动器下拉电流的下限值,不能小于这个电流,但是可以大于等于这个电流。如果一个设备的下拉驱动能力达到3mA,那么它也是符合I2C规范的,但是不能小于。所以在计算上拉电阻时,必须以这个最小的电流计算(如果用大于这个值来计算,驱动器可能提供不了)。因此上拉电阻的最小值就是Rp(min)=(Vdd-0.4V)/3mA。------>若Rp小于Rp(min),则下拉电流(Vdd-0.4V)/Rp应该大于3mA,此时应该满足最小3mA驱动电流,这样的话Rp(min)=(Vdd-0.4V)/3mA岂不是Rp最小值??3、高电平时要输入10uA,那么最大电阻当然是(0.2*VDD)/10uA了。如果大于该电阻,那么就无法拉高了。其实,这个电阻不仅仅是静态输入电流的问题,还要考虑到上升时间,由于分布电容的原因,所以实际的电阻肯定会比这个小一些。--------->[img][img][/img][/img]
-
nvhwyrwerw
04-27 20:43
1、假设一款I2C芯片,它的下拉电流驱动能力为3mA(满足I2C协议的最小值指标),如果你给它输入了大于3mA的电流(例如10A),那这个芯片不是驱动不了?那结果不就是坏了?所以只能以最小的承受电流能力来算。
-
香奈儿苦苦奶茶
04-28 05:10
3楼可能理解有误,
“最小下拉电流是3mA”是对外面的驱动器的要求(比如MCU控制这个IIC芯片,那MCU就是驱动这个芯片的驱动器),
那好,你要求“最小下拉电流是3mA”,我的MCU的驱动能力只要大于等于3mA就是满足要求的,比如我只能下拉输出3mA时,你也不能说我不行。对吧?
所以,对于你这个IIC芯片来说,你就要认为别人可能最大只会给你3mA的下拉驱动能力,而不能再要求更多
(但可以实际用的少一些),而电阻越小,电流越大(对驱动器来说负载越重),因此上拉电阻的最小值就是你IIC芯片参数总对驱动器的要求“最小下拉电流是3mA”了
-
evaluation
04-26 13:40
电阻越小,电流越大,对驱动器来说负载越重,
不知道LZ能不能相同呢?
-
60user73
04-24 06:25
最小3mA是能力,而不是要求,也就是说,驱动能力必须要大于等于3mA,而不是实际工作要求必须大于3mA……不知道这样说楼主明白没...
-
Abby0127
04-19 19:41
让LZ绕晕了,看不懂。
电阻电流成反比啊,最小电流应该对应是的最大电阻吧,怎么会是最小电阻呢?
-
60user143
04-25 19:32
举个例子,自己结合xwj和00的解释去理解下:
I2C用10K的上拉电阻,5V的电源,电流也不过只有0.5mA,I2C可以正常工作。
-
nhonglan
04-19 09:08
谢谢大家的回复!
1. To computer00:您的意思是I2C芯片工作时候下拉电流可以小于3mA,但是不能大于3mA吗?
若是实际工作时下拉电流小于或等于3mA则,Rp(min)就可以解释了。。。。
2. To xwj:您说的也很有道理,电阻越小,功耗越大,您的解释是否也证明了实际工作时
下拉电流小于或等于3mA?
-
cmh14
04-24 14:17
这么说吧,只要是符合I2C规范的芯片,只要你的上拉电阻大到一定程度,让下拉电流小于3mA,那么一定是可以正常输出低电平的,因为规范规定了下拉电流的最小驱动能力为3mA,小于此值,是肯定可以驱动的。那么如果大于3mA,是不是就一定不能工作了呢?不一定,因为规范规定的最小驱动电流要达到3mA,那么有些驱动器可能会提供超过3mA的驱动电流,这样的话,下拉电流大于3mA也是可以正常工作的,只要不超过芯片的低电平驱动电流即可。
为什么它要叫最小值?因为驱动能力不得低于此值,因此叫最小值。注意是驱动能力,是一种能力,这种能力要不小于该值,而不是说实际电流不能小于该值。就好比招聘,最低学位(相当于最小电流)要求是本科,但是并不意味着让他干低于本科文凭的事就不行,因此实际情况是可以低于要求(相当于实际工作电流小于驱动电流)的。相反,我们不能指望本科文凭以上的人都去干博士的事,这是不安全的,当然也许有少部分人干得了(相当于上拉电阻不能太小,太小的话,大于最小值,有些芯片就驱动不了了)。
-
ally4462
04-20 23:43
呵呵,LZ是自己把自己绕晕了
其实很简单,分清楚能力、要求是对谁而言的就行了
这让俺又想起来那个二年级的数学题:
一天有个年轻人来到王老板的店里买了一件礼物 这件礼物成本是18元,标价是21元。 结果是这个年轻人掏出100元要买这件礼物。
王老板当时没有零钱,用那100元向街坊换了100元的零钱,找给年轻人79元。 但是街坊後来发现那100元是**,王老板无奈还了街坊100元。
现在问题是:王老板在这次交易中到底损失了多少钱 ?
-
viczeng
04-19 21:56
圈圈的基础很扎实啊。
顺便提提,iic如果驱动的距离比较远,器件比较多,所用的上拉要适当减少以提高驱动能力。当然这样也增加功耗了。
-
0896086
04-23 13:38
对的,iic如果驱动的距离比较远,器件比较多,所用的上拉要适当减少以提高驱动能力。当然这样也增加功耗了。
-
miaoye
04-26 23:54
各位好:
我用单片机的I2C接口直接与一款高压芯片进行通信。其中I2C上串接33欧电阻。但是出现部分33欧电阻烧坏。这是什么原因?谢谢!