文章来源 Macnica Engineer

减少I2C总线通信错误的方法

在FAGA系统设计时,常使用I2C总线连存储器和电源时序隔离芯片,板级连接有时也会使用I2C总线。

I2C总线是简单的2线式连接

2C总线仅1条时钟(SCL)和1条数据(SDA)线2条线连接来设备。

由于它是一种简单的方式,所以它越来越多地用于通信设备中使用的SMBus、PMBus和ATCA的IPMB总线。

虽然设计简单,但要注意故障

I2C总线容易被认为是"2线式,简单且低速通信,设计简单!"。但是,通信错误的情况也不少

特别是在通信装置等需要与底板连接, 以及在IO卡之间用长的配线连接进行通信的情况下,故障的可能性增大。

通信错误的原因是什么?

通信错误很可能是因为线路容量超出了I2C总线的规定。I2C总线的规格规定最大线路容量为400pF。

 

与底板的连接、IO卡之间的长布线的情况下,会成为超出I2C规格程度的布线容量,如图1所示,上升波形变钝,发生通信错误,所以需要注意。

articale header
图1:上升波形

是否可以通过调整上拉电阻来解决问题?

通常, 针对上升沿钝化的情况, 采取增大上拉电流(减小上拉电阻)的措施,即使总线的寄生电容增大也能够驱动。

但是,如果上拉电流过大,作为副作用,Low电平上升(上拉电流x寄生电阻),可能高于VOL的门槛电压, 需要注意。

那么,通过调整上拉电阻,无法避免通信错误的情况下,应该如何应对呢?

articale header
图2: I/O基板间的连接

减少通信错误的解决方案

像通信装置那样需要与底板连接的情况下,以及由于用扁平电缆连接基板间进行I2C总线通信的寄生电容原因而无法避免通信错误的情况下,该怎么办?

 

使用Analog Devices公司的I2C总线缓冲区产品可避免不符合标准的寄生电容。

articale header
图3:I2C总线缓冲器LTC4315

由于LTC4315具有Rise Time Accelerator功能,因此可以改善逐渐消失的上升波形。

 

如图3所示,将LTC4315放在控制板上,即使连接到底板,也能正常通信。

 

LTC4315是I2C总线通信所必须的产品,它可以解决电路板之间(器件之间)产生较大寄生电容时的问题。

更多信息: