,,, 电阻的大小对时序有一定影响,对信号的上升时间和下降时间也有影响,:Rmin={Vdd(min)-}/3mARmax=(T/) *c, T=1us 100KHz, T= 400KHzC是Bus capacitanceRp最大值由总线最大容限(Cbmax)决定,Rp最小值由Vio与上拉驱动电流(最大取3mA)决定;于是 Rpmin=5V/3mA≈(***@Vio=5V)≈1K(***@Vio=)Rpmax的取值:参考周公的I2C总线规范中文版P33图39与P35图44标准模式,100Kbps总线的负载最大容限<=400pF;快速模式,400Kbps总线的负载最大容限<=200pF,根据具体使用情况、目前的器件制造工艺、PCB的走线距离等因素以及标准的向下兼容性,设计中以快速模式为基础,即总线负载电容<200pF,也就是传输速度可以上到400Kbps是不成问题的。~7K @ Vio=5V对应50pF~200pF根据Rpmin与Rpmax的限制范围, @ Vio=5V , 负载容限的环境要求也容易达到。,,portable/:电源电压限制了上拉电阻的最小值 ; 负载电容(总线电容)限制了上拉电阻的最大值补充:在I2c总线可以串连300欧姆电阻RS可以用于防止SDA和SCL线的高电压毛刺: I2c从设备的数量受总线电容,<=400pF的限制上拉电阻阻值的确定由于I2C接口采用Open Drain机制,器件本身只能输出低电平,无法主动输出高电平,只能通过外部上拉电阻RP将信号线拉至高电平。因此I2C总线上的上拉电阻是必须的!RP不宜过小,一般不低于1KΩ一般IO 端口的驱动能力在2mA~4mA量级。如果RP阻值过小,VDD灌入端口的电流将较大,这导致端口输出的低电平值增大(I2C协议规定,);如果灌入端口的电流过大,还可能损坏端口。故通常上拉电阻应选取不低于1KΩ的电阻(当VDD=3V时,灌入电流不超过3mA)。RP不宜过大,一般不高于10KΩ由于端口输出高电平是通过RP实现的,线上电平从低到高变化时,电源通过RP对线上负载电容CL充电,这需要一定的时间,即上升时间。端口信号的上升时间可近似用充电时间常数RPCL乘积表示。信号线负载电容(对地)由多方面组成,包括器件引脚、PCB信号线、连接器等。如果信号线上挂有多个器件,负载电容也会增大。比如总线规定,对于的400kbps速率应用,信号上升时间应小于300ns;假设线上CL为20PF,可计算出对应的RP值为15KΩ。如果RC充电时间常数过大,将使得信号上升沿变化缓慢,达不到数据传输的要求。因此一般应用中选取的都是几KΩ量级的上拉电阻,比如都选取4K7的电阻。小阻值的RP电阻增大了端口Sink电流,故在可能的情况下,RP取值应稍大一点,以减少耗电。另外,通产情况下,SDA,SCL两条线上的上拉电阻取值是一致的,并上拉到同一电源上。PCB布局布线与抗干扰设
I2C上拉电阻问题 来自淘豆网m.daumloan.com转载请标明出处.