知方号

知方号

I2C串联保护电阻和上拉电阻的选择<串口加电阻>

I2C串联保护电阻和上拉电阻的选择

 中断,GPIO,I2C等一般都是OC或者OD门,芯片内部无上拉电阻时,则外部必须加上拉电阻才能输出高电平。一般I/O端的驱动能力在2~4mA量级,OC或者OD门的导通电压为0.4V左右,手机中加在上拉电阻上的电压一般都是2.8V,上拉电阻的最小值不能低于800R(2.8-0.4V/3mA=0.8K),5V电压时,则不能低于1.5K(5-0.4V/3mA=1.5K)。中断和GPIO信号本身,只需要产生一个高电平即可,不需要驱动设备,上拉电阻可以取大点,减小功耗,但须注意上拉电阻不能太大,否则会和PCB走线,器件等负载电容影响信号上升时间。经验值一般在4.7~100K之间。

    I2C上拉电阻阻值计算:

    I2C的接口一般都是OD机制,同样需要加上拉电阻才能输出高电平。上拉电阻的最小值须符合上文。下面计算下上拉电阻的最大值。

    

 I2C总线图

    I2C总线的传输速率分为标准模式(100Kbit/s)和快速模式(400Kbit/s),负载的最大容限分别是400pF和200pF,根据I2C总线协议,上拉电阻的最大值被总线电容所限制。

    下面两个图可以看出上拉电阻的取值(Rs是I2C设备串联在I2C总线上的电阻,可以防止SDA和SCL的高电压毛刺波,例如电视的显像管击穿产生的高压毛刺)

  

    由上图可以看出,上拉电阻的最小值由上拉电源决定,最大值由总线电容决定。

    最大值网上有个计算公式,Rmax=T/0.874*C,C=200pF时,T=1us;C=400pF时,T=0.3us。但是根据这个公式计算出来的值都不怎么对,另外常数0.874怎么来的?请懂得人指教下。手机等低功耗设备一般选择4.7K。

如果上拉电阻值过小,VDD灌入端口的电流(Ic)将较大,这样会导致MOS管(三极管)不完全导通(Ib*β

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。