在FAGA系统设计时,常使用I2C总线连存储器和电源时序隔离芯片,板级连接有时也会使用I2C总线。
I2C总线是简单的2线式连接2C总线仅1条时钟(SCL)和1条数据(SDA)线2条线连接来设备。由于它是一种简单的方式,所以它越来越多地用于通信设备中使用的SMBus、PMBus和ATCA的IPMB总线。
虽然设计简单,但要注意故障I2C总线容易被认为是"2线式,简单且低速通信,设计简单!"。但是,通信错误的情况也不少特别是在通信装置等需要与底板连接, 以及在IO卡之间用长的配线连接进行通信的情况下,故障的可能性增大。
通信错误的原因是什么?通信错误很可能是因为线路容量超出了I2C总线的规定。I2C总线的规格规定最大线路容量为400pF。
与底板的连接、IO卡之间的长布线的情况下,会成为超出I2C规格程度的布线容量,如图1所示,上升波形变钝,发生通信错误,所以需要注意。
图1:上升波形
是否可以通过调整上拉电阻来解决问题?通常, 针对上升沿钝化的情况, 采取增大上拉电流(减小上拉电阻)的措施,即使总线的寄生电容增大也能够驱动。但是,如果上拉电流过大,作为副作用,Low电平上升(上拉电流x寄生电阻),可能高于VOL的门槛电压, 需要注意。那么,通过调整上拉电阻,无法避免通信错误的情况下,应该如何应对呢?
图2: I/O基板间的连接
减少通信错误的解决方案像通信装置那样需要与底板连接的情况下,以及由于用扁平电缆连接基板间进行I2C总线通信的寄生电容原因而无法避免通信错误的情况下,该怎么办?
使用Analog Devices公司的I2C总线缓冲区产品可避免不符合标准的寄生电容。
图3:I2C总线缓冲器LTC4315
由于LTC4315具有Rise Time Accelerator功能,因此可以改善逐渐消失的上升波形。
如图3所示,将LTC4315放在控制板上,即使连接到底板,也能正常通信。
LTC4315是I2C总线通信所必须的产品,它可以解决电路板之间(器件之间)产生较大寄生电容时的问题。