I2C的上拉电阻问题
这个上拉电阻有什么要求?
多谢各位!
上拉电阻的作用只是在I2C双方建立沟通是起到作用吧, 具体大小没有太大关系的,是不是?
学习中,哪位牛人帮忙解答一下
1、I2C接口的输出端是漏极开路或集电极开路,所以必须在接口外接上拉。
2、上拉电阻的范围很宽,但也需要跟据功耗、信号上升时间等具体确定。
as large as sufficient bus driving ability is keeped.
和速度应该没关系。主要是I2C是oc,所以需要。和驱动的从机个数(虽然从机个数不是由电阻决定的)有一定关系
不能说和速度没关系, 从机数量多的话, 由于经常在CMOS 集成电路里面源和基底是相连的, 而漏和基底存在寄生电容, 所以源和漏之间是有寄生电容的, 过大的上拉电阻会引起延时,导致边缘的上升下降速度变慢
六楼的,OC是什么?能解释一下吗?
OC就是OPEN COLLETOR 集电极开路的意思
曾经我做一块板子,SMCLK的上拉电阻没上,不开机。
上拉电阻的取值何I2C总线的频率有关,工作在standard -mode时,其典型值为10K
在FAST mode时,为减少时钟上升时间,满足上升时间的要求,一般为1K
philips的IIC协议中pullup-res的典型值是5.1K@ VIO=5V(其实用5K一样,5.1K比较好买便宜),但手机系统一般VIO=2.8V,所以在参考设计中,通常此阻值用4.7K,虽然于驱动力上比协议标准不如,但考虑到leakage current,用3.3K的漏电流比较大,综合考虑用4.7K,况且此阻值也是常规值
上拉电助对上升时间影响,如果I2C上有多个slave,要根据I2c协议要求的选定上拉电阻。
I2C的上拉电阻的作用那位DX能汇总一下,Thanks!
阻值 4.7K,Power Supply:1.8V;
一般参考设计都考虑到了IIC的不同速率,如果走线的分布电容大,或由从器件引脚等效电容大造成信号上升时间比较大,可以适当减小上拉电阻。
正解是iic信号是低电平有效。
I2C的上拉电阻可以是1.5K,2.2K,4.7K, 电阻的大小对时序有一定影响,对信号的上升时间和下降时间也有影响,一般接1.5K或2.2K
这问题已经是经典了,我早在几年前就考虑过了。
总之,不同平台的官方试验和我的取值相似,倾向与用4。7K @ 2.8V VIO
Rp最大值由总线最大容限(Cbmax)决定,Rp最小值由Vio与上拉驱动电流(最大取3mA)决定;
于是 Rpmin=5V/3mA≈1.7K(@Vio=5V)或者2.8V/3mA≈1K(@Vio=2.8V)
Rpmax的取值:参考周公的I2C总线规范中文版P33图39与P35图44
标准模式,100Kbps总线的负载最大容限<=400pF;快速模式,400Kbps总线的负载最大容限<=200pF,根据具体使用情况、目前的器件制造工艺、PCB的走线距离等因素以及标准的向下兼容性,设计中以快速模式为基础,即总线负载电容<200pF,也就是传输速度可以上到400Kbps是不成问题的。于是Rpmax可以取的范围是1.8K~7K @ Vio=5V对应50pF~200pF
根据Rpmin与Rpmax的限制范围,一般取5.1K @ Vio=5V , 负载容限的环境要求也容易达到。在2.8V系统中,console设计选3.3K,portable/handset等低供耗的设计选4.7K牺牲速度换取电池使用时间。
呵呵,有些IDH竟然用到10K或以上,真使人叹为观止。将大大影响其抗噪性能,对于PCB的制造以及板层堆叠的结构的干扰将加大数据的误判决
和电阻大小没有关系
I2C上拉电阻确定有一个计算公式:
Rmin={Vdd(min)-o.4V}/3mA
Rmax=(T/0.874) *c, T=1us 100KHz, T=0.3us 400KHz
C是Bus capacitance
我们一直是10k
没什么影响啊
2.8v
关于iic的上拉电阻,个人最好的方式就是看参考设计,如果走线长了或好总线上有好几个芯片,就把电阻改小一些。如果参考设计没有就在1.5K~5k左右里面选一个就是了。像19楼说的确实有计算公式可以计算,但实际的时候我们没有去测量总线的电容问题,只能在选件/走线时候给与些许的关注。
关于iic的负载电容到有些意思。之前在一个平台上面做过一个实验,就是 把iic总线的电容做到 1000p左右,发现每次通信iic端口只输出了一两个字符就不再输出信号,而不是想象的上升下降沿变缓而已,减少电阻也没有用。不知是平台的问题还是所以iic接口都是这样,不知规范中200p和400p是如果规定出来的,在芯片设计中iic模块的设计到底是怎样做的?有谁清楚地,来说说。
好好受教育了
shoujiao
牛啊 多谢
我们都是用2.2k
上拉电阻是和上升时间有关,因为IIC接口内部有个串联电容,涛就是时间因子。电容一般为3-5PF左右,IIC总线挂载的设备的电容值总量有限制的。
如果只有一个设备10K是没关系,设备多了就要考虑驱动能力,用1k,1.5k,2.2K都比较好
因为,IIC的工作原理是:1。stop: SDA=H,SCL=H , 2 。start : SDA=H-->L,SCL=H
所以,在起始条件下,应该是stop 。那么就必须上拉。
总的来说是3-10k的电阻吧
电容负载不对会死的很惨的!