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