电路中漏极开路上拉电阻取值的问题探讨
时间:12-30 10:31 阅读:5878次
*温馨提示:点击图片可以放大观看高清大图
简介:本文主要就电路中漏极开路上拉电阻取值问题进行了探讨。
我们在设计电路的过程中,如果上拉电阻值过小,Vcc灌入端口的电流(Ic)将较大,这样会导致MOS管V2(三极管)不完全导通(Ib*β<Ic),有饱和状态变成放大状态,这样端口输出的低电平值增大(I2C协议规定,端口输出低电平的最高允许值为0.4V)如果上拉电阻过大,加上线上的总线电容,由于RC影响,会带来上升时间的增大(下降延是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢),而且上拉电阻过大,即引起输出阻抗的增大,当输出阻抗和负载的阻抗可以比拟的时,则输出的高电平会分压而减少。
从上图我们可以得出I2C的上拉电阻可以是1.5K,2.2K,4.7K,电阻的大小对时序有一定影响,对信号的上升时间和下降时间也有影响,一般接1.5K或2.2K。(实验:接入200K上拉电阻,结果观察到信号上升时间增大,方波变成三角波)I2C上拉电阻确定有一个计算公式:
Rmin={Vdd(min)-o.4V}/3mA
Rmax=(T/0.874) *c,T=1us 100KHz,T=0.3us 400KHz
C是Bus capacitance
我们可以根据具体使用情况、目前的器件制造工艺、PCB的走线距离等因素以及标准的向下兼容性,设计中以快速模式为基础,即总线负载电容<200pF,也就是传输速度可以上到400Kbps是不成问题的。于是Rpmax可以取的范围是1.8K~7K @ Vio=5V对应50pF~200pF。电源电压限制了上拉电阻的最小值;负载电容(总线电容)限制了上拉电阻的最大值。在I2c总线可以串连300欧姆电阻RS可以用于防止SDA和SCL线的高电压毛刺:I2c从设备的数量受总线电容<=400pF的限制。
由于I2C接口采用Open Drain机制,器件本身只能输出低电平,无法主动输出高电平,只能通过外部上拉电阻RP将信号线拉至高电平。因此I2C总线上的上拉电阻是必须的!