本文介紹了互連集成電路( I2C)串行通信協議的基本特征和顯著優勢。
電子系統的一個共同特征是需要在兩個或三個或十個單獨的組件之間共享信息,這不足為奇。
工程師已經開發出許多標準協議,可以幫助不同的芯片成功通信。當您遇到微控制器或數字信號處理器功能列表中“通信”下的縮寫詞時,這一事實就變得顯而易見。我2 C,可以。。。。每種協議都有其優點和缺點,因此對每個協議都有一點了解很重要,這樣你在選擇組件或接口時就可以做出明智的決定。
本文是關于I 2 C的,它通常用于位于同一PCB上的各個集成電路之間的通信。同樣適用于此通用類別的另外兩個常見協議是UART(通用異步接收器/發送器)和SPI(串行外圍設備接口)。你需要先了解I 2 C 的基本特性,然后才能徹底理解這三個接口之間的比較,因此,我們將在本文結尾處討論該主題。
什么是I2C總線?
I 2 C代表內部集成電路總線。毫無疑問,I 2 C協議存在嚴重的術語問題。最直接(也可能是最不常見)的縮寫是IIC。也許這個縮寫被忽略了,因為兩個大寫字母I看起來像兩個1,或者兩個小寫的l,或者羅馬數字II,或者是并聯電阻的符號。。。。無論如何,縮寫I 2 C(用“ I squared C”表示)得到了普及,盡管將普通字母視為變量是冪運算的邏輯存在疑問。
當你發現SMB或SMBus顯然被用作引用I 2 C總線的另一種方式時,霧氣的最后一層定居下來。實際上,這些縮寫是指系統管理總線,它與I 2 C總線不同,盡管幾乎相同。最初的I 2 C協議是由Phillips Semiconductor開發的,幾年后,英特爾將SMBus協議定義為I2C的擴展。兩條巴士在很大程度上可以互換。如果你對它們之間的細微差別感興趣,請參考《系統管理總線規范》第57頁。
就像試圖在一個充滿人的房間里進行重要的對話
為了欣賞使I 2 C如此有效的巧妙技術,你需要考慮在多個獨立組件之間實現可靠而通用的通信的困難。如果你有一個芯片始終是主芯片,而另一個芯片則始終是從芯片,那么情況就很簡單。
但是,如果你有多個從機怎么辦?如果從機不知道主機是誰怎么辦?如果主機由于某種原因從機請求數據而導致從機失效,會發生什么情況呢?或者,如果從站在傳輸過程中不起作用怎么辦?如果主機要求總線進行傳輸然后在釋放總線之前崩潰怎么辦?
關鍵是,在這種通信環境中,很多事情都會出錯。在學習I 2 C 時,必須牢記這一點,因為否則,該協議似乎將變得非常復雜和挑剔。事實是,這種額外的復雜性使I 2 C能夠提供靈活,可擴展,強大,低引腳數的串行通信。
I2C通信概述
在開始任何細節之前,這里是I 2 C 的主要特征:
]
I2C的優勢是什么?I2C,UART,SPI
這里有一些缺點:
從這些方面我們可以看到,當您擁有復雜,多樣化或廣泛的通信設備網絡時,I]你可能需要刻意避免I2C, 如果吞吐量是一個主要關心的問題; SPI支持更高的時鐘頻率,并使開銷最小化。而且,SPI(或UART)的底層硬件設計要簡單得多,因此,如果您使用FPGA并從頭開始開發串行接口,則應該將I 2 C視為最后的選擇。
結論
我們已經介紹了I 2 C 的顯著特征,并且現在我們對協議的優缺點了解得足夠多,從而可以就給定應用選擇哪種串行總線做出明智的決定。在以后的文章中,我們將更詳細地探討該協議以及如何實際實現它。
-
I2C總線
+關注
關注
8文章
391瀏覽量
61063
發布評論請先 登錄
相關推薦
評論