減少I2C總線通信錯誤的方法

文章來源
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所示,上升波形變鈍,發生通信錯誤,所以需要注意。
 


圖1:上升波形
 

是否可以通過調整上拉電阻來解決問題?

通常, 針對上升沿鈍化的情況, 採取增大上拉電流(減小上拉電阻)的措施,即使總線的寄生電容增大也能夠驅動。
但是,如果上拉電流過大,作為副作用,Low電平上升(上拉電流x寄生電阻),可能高於VOL的門檻電壓, 所以需要注意。
那麼,通過調整上拉電阻,無法避免通信錯誤的情況下,應該如何應對呢?


圖2: I/O基板間的連接

減少通信錯誤的解決方案

像通信裝置那樣需要與底板連接的情況下,以及由於用扁平電纜連接基板間進行I2C總線通信的寄生電容原因而無法避免通信錯誤的情況下,該怎麼辦?

使用Analog Devices公司的I2C總線緩衝區產品可避免不符合標準的寄生電容。


圖3:I2C總線緩衝器LTC4315

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

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

LTC4315是I2C總線通信所必須的產品,它可以解決電路板之間(器件之間)產生較大寄生電容時的問題。
 

更多資訊: