让专家帮你快速确定I2C上拉电阻阻值

I2C总线接上拉电阻能够维持输出电平的稳定,因此工程师必须快速的确定上拉电阻的阻值,尽可能快的展开工作运转。那么,如何快速的确定I2C上拉电阻阻值呢?在I2C总线上接上拉电阻是必须要做的吗?今天就让专家老师前来支招,一起来看看如何快速确定上拉阻值吧。

首先需要解决的是I2C总线接上拉究竟是不是必经工序这一问题。专家介绍说,由于I2C接口的设计问题,器件本身是无法向外主动输出高电平的。由于这一设计问题,所以工程师必须在外部接一个上拉电阻RP,这样才能够将信号线拉至高电平。所以,在I2C 总线上接上拉电阻是必须工序。

图为I2C接上拉RP线路图

那么,如何才能快速的计算出所接入的上拉电阻阻值呢?

由于上拉电阻的阻值大小对时序具有一定的影响力,这种影响力对信号的上升和下降时间也是有直接作用的,所以在I2C总线上接入的上拉阻值一般都会保持在1.5K 或2.2K左右。下面我们来看一下具体的计算选择原则。

原则一:RP不宜过小,一般不低于1KΩ

在I2C总线中,一般情况下IO端口的驱动能力会保持在在2mA-4mA的量级范围内。如果RP阻值太小的话,那么会造成VDD灌入端口的电流过大,这将会造成端口输出的低电平值增大(I2C协议规定,端口输出低电平的最高允许值为0.4V);而灌入端口的电流过大,很可能会直接损坏端口。所以,通常情况下,上拉电阻应选取不低于1KΩ的电阻。也就是说,当VDD=3V时,灌入电流不超过3mA。

原则二:RP不宜过大,一般不高于10KΩ

由于I2C端口的输出高电平是通过接入上拉RP实现的,因此当线上电平产生从低到高的变化时,电源通过上拉对线上负载电容充电。这个过程需要一定的时间,这部分的时间也被称为上升时间。端口信号的上升时间可以用近似用充电时间,也就是常数RPCL乘积来表示。信号线负载电容(对地)由多方面组成,包括器件引脚、PCB信号线、连接器等。如果信号线上挂有多个器件,负载电容也会增大。比如总线规定,对于的400kbps 速率应用,信号上升时间应小于300ns。

我们假设线上CL的数值为20PF,通过套用公式,可计算出对应上拉RP值为15KΩ。如果RC充电时间常数过大,将使得信号上升沿变化缓慢,达不到数据传输的要求。所以,一般在应用过程中中所选取的上拉RP都是几KΩ量级的上拉电阻,比如都选取4K7的电阻。结语

工程师在遵循上述两个原则的前提下,进行上拉电阻的组值计算,可以快速的找出最合适的RC阻值。另外,由于小阻值的上拉RP将会增大端口Sink的通过电流,因此在尽可能的情况下,RP取值应该取稍大一点,以减少耗电量。

http://mp.weixin.qq.com/s?__biz=MzA3OTIwODcyNQ==&mid=206040911&idx=3&sn=db8e02f5e37653b251c49a4b662e0aad&scene=5#rd

你可能感兴趣的:(让专家帮你快速确定I2C上拉电阻阻值)