本文介紹了內部積體電路(aka i2c)序列通訊協議的基本特性和突出優點。
元件之間的通訊:通訊協議
毫無疑問,電子系統的共同特徵是需要在兩個或三個或十個單獨的元件之間共享資訊。
工程師已經開發出許多標準協議,可以幫助不同的晶元成功通訊 - 當您在微控制器或數字訊號處理器的功能列表中「通訊」下面對縮略語時,這一事實就變得很明顯:uart,usart,spi,i2 c,can。。。。每個協議都有其優點和缺點,重要的是要了解每個協議,以便在選擇元件或介面時做出明智的決定。
本文是關於i 2 c的,它通常用於位於同一pcb上的各個積體電路之間的通訊。另外兩種通用協議也適用於這種通用類別:uart(通用非同步接收器/傳送器)和spi(序列外設介面)。在徹底理解這三個介面之間的比較之前,您需要了解i 2 c 的基本特徵,因此我們將在本文末尾討論該主題。
什麼是i2c匯流排?
i 2 c代表內部積體電路匯流排。但毫無疑問,i 2 c協議存在嚴重的術語問題。最簡單 - 也可能是最不常見的 - 縮寫是iic。也許這個縮寫被鄙視,因為兩個大寫我看起來像兩個1,或兩個小寫的l,或羅馬數字ii,或併聯電阻的符號。。。。無論如何,縮寫i 2 c(稱為「i squared c」)獲得了普及,儘管將正常字母視為乙個受取冪的變數的邏輯可疑。第三種選擇是i 2c(「i two 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能夠提供靈活,可擴充套件,強大,低引腳數的序列通訊。
i2c通訊概述
在我們了解任何細節之前,以下是i 2 c 的主要特徵:
i2c的優點是什麼?i2c與uart與spi的比較
i 2 c 的優點可歸納如下:
這裡有一些缺點:
從這些觀點我們可以看出,當您擁有複雜,多樣化或廣泛的通訊裝置網路時,i 2 c特別適合。uart介面通常用於點對點連線,因為沒有標準方法來定址不同的裝置或共享引腳。當你有乙個主裝置和一些從裝置時spi很棒,但是每個從裝置都需要乙個單獨的「從裝置選擇」訊號,當匯流排上有許多裝置時,導致高引腳數和路由困難。當你需要支援多個主伺服器時,spi很尷尬。
如果吞吐量是主要關注點,您可能需要有意避免 i 2 c; spi支援更高的時鐘頻率並最小化開銷。此外,spi(或uart)的低階硬體設計要簡單得多,因此如果您正在使用fpga並從頭開始開發序列介面,i 2 c應該被認為是最後的選擇。
結論我們已經介紹了i 2 c 的顯著特徵,現在我們對協議的優缺點有了足夠的了解,可以根據給定的應用程式選擇哪種序列匯流排做出明智的決定。在以後的文章中,我們將更詳細地**協議以及如何實際實現它。
I2C匯流排通訊
uart 屬於非同步通訊,比如電腦傳送給微控制器,電腦只負責把資料通過txd 傳送出來即可,接收資料是微控制器自己的事情。而 i2c 屬於同步通訊,scl 時鐘線負責收發雙方的時鐘節拍,sda 資料線負責傳輸資料。i2c 的傳送方和接收方都以 scl 這個時鐘節拍為基準進行資料的傳送和接收。i2c匯...
I2C匯流排詳細介紹
字型大小訂閱 i2c是一種序列匯流排的外設介面,它採用同步方式序列接收或傳送資訊,兩個裝置在同乙個時鐘下工作。i2 c匯流排只用兩根線 序列資料 sda serial data 序列時鐘 scl serial clock 由於i2c 只有一根資料線,因此其傳送資訊和接收資訊不能同時進行。資訊的傳送和...
通訊方式 I2C匯流排
i2c器件的從機位址由4位器件位址,2 3位引腳位址和1位方向位 讀寫位 0寫1讀 i2c由 資料線 sda 與時鐘線 scl 組成 產生iic起始訊號 void iic start void 產生iic停止訊號 void iic stop void 產生ack應答 void iic ack voi...