當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]我們都知道I2C總線是由Philips公司開發(fā)的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。

我們都知道I2C總線是由Philips公司開發(fā)的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。

I2C總線簡介

I2C結(jié)合了SPI和UART的優(yōu)點。使用I2C,您可以將多個從設(shè)備連接到單個主設(shè)備上(如SPI),并且可以讓多個主器件控制單個或多個從器件。當(dāng)您希望有多個微控制器記錄數(shù)據(jù)到單個存儲卡或?qū)⑽谋撅@示到單個LCD時,這非常有用。

與UART通信一樣,I2C僅使用兩條線在設(shè)備之間傳輸數(shù)據(jù):

 

 

SDA(串行數(shù)據(jù)) - 主站和從站發(fā)送和接收數(shù)據(jù)的線路。

SCL(串行時鐘) - 承載時鐘信號的線路。

I2C是一種串行通信協(xié)議,因此數(shù)據(jù)沿著單線(SDA線)逐位傳輸。

與SPI一樣,I2C是同步的,因此位輸出通過主機(jī)和從機(jī)之間共享的時鐘信號與位采樣同步。時鐘信號始終由主機(jī)控制。

 

 

I2C如何工作

使用I2C時,數(shù)據(jù)被轉(zhuǎn)換成messages,messages則被分解為數(shù)據(jù)幀。每條messages都有一個地址幀,其中包含從站的二進(jìn)制地址,以及一個或多個包含正在傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)幀。該消息還包括每個數(shù)據(jù)幀之間的啟動和停止條件,讀/寫位和ACK / NACK位:

 

 

啟動條件:在SCL線路從高電平切換到低電平之前,SDA線路從高電平切換到低電平。

停止條件:SCL線路從低電平切換到高電平后,SDA線路從低電平切換到高電平。

地址幀:每個從站唯一的7或10位序列,用于在主站想與之通信時識別從站。

讀/寫位:單個位,指定主器件是向從器件發(fā)送數(shù)據(jù)(低電壓電平)還是從器件請求數(shù)據(jù)(高電壓電平)。

ACK / NACK位:消息中的每個幀后跟一個應(yīng)答/不應(yīng)答位。如果成功接收到地址幀或數(shù)據(jù)幀,則從接收設(shè)備向發(fā)送方返回ACK位。

地址

I2C沒有像SPI這樣的從選擇線,因此它需要另一種方法讓從器件知道數(shù)據(jù)正在發(fā)送給它,而不是另一個從器件。它通過地址來做到這一點。地址幀始終是新消息中起始位之后的第一幀。

主設(shè)備將與其通信的從設(shè)備的地址發(fā)送給與其連接的每個從設(shè)備。然后,每個從設(shè)備將從主設(shè)備發(fā)送的地址與其自己的地址進(jìn)行比較。如果地址匹配,則將低電壓ACK位發(fā)送回主機(jī)。如果地址不匹配,則從器件不執(zhí)行任何操作,SDA線保持高電平。

讀/寫位

地址幀在末尾包括一個位,用于通知從設(shè)備,主設(shè)備是想要向其寫入數(shù)據(jù)還是從主設(shè)備接收數(shù)據(jù)。如果主設(shè)備想要向從設(shè)備發(fā)送數(shù)據(jù),則讀/寫位是低電平。如果主設(shè)備向從設(shè)備請求數(shù)據(jù),則該位是高電平。

數(shù)據(jù)框架

在主設(shè)備檢測到來自從設(shè)備的ACK位之后,準(zhǔn)備好發(fā)送第一個數(shù)據(jù)幀。

數(shù)據(jù)幀始終為8位長,并以最高有效位先發(fā)送。緊接著每個數(shù)據(jù)幀的ACK / NACK位以驗證幀已被成功接收。在發(fā)送下一個數(shù)據(jù)幀之前,主機(jī)或從機(jī)必須接收ACK位(取決于發(fā)送數(shù)據(jù)的人)。

在發(fā)送了所有數(shù)據(jù)幀之后,主設(shè)備可以向從設(shè)備發(fā)送停止條件以停止傳輸。停止條件是SCL線上從低電平到高電平轉(zhuǎn)換后,SDA線上從低電平變?yōu)楦唠娖?,SCL線保持高電平。

I2C數(shù)據(jù)傳輸步驟

1.主機(jī)向每一個連接的從設(shè)備發(fā)送數(shù)據(jù),然后將SDA信號從高切換到低,之后在將SCL從高切換到低電平。

 

 

2.主設(shè)備向每個從設(shè)備發(fā)送它想要與之通信的從設(shè)備的7或10位地址,以及讀/寫位:

 

 

3.每個從設(shè)備將主設(shè)備發(fā)送的地址與其自己的地址進(jìn)行比較。如果地址匹配,則從器件通過將SDA線拉低一位來返回ACK位。如果主設(shè)備的地址與從設(shè)備的地址不匹配,則從設(shè)備將SDA線保持為高電平。

 

 

4.主設(shè)備發(fā)送或接收數(shù)據(jù)幀:

 

 

5.在傳輸了每個數(shù)據(jù)幀之后,接收設(shè)備將另一個ACK位返回給發(fā)送方以確認(rèn)成功接收到該幀:

 

 

6.要停止數(shù)據(jù)傳輸,主機(jī)通過在將SDA切換為高電平之前切換SCL為高電平來向從機(jī)發(fā)送停止條件:

 

 

有多個從設(shè)備的單一主設(shè)備

由于I2C使用尋址,因此可以從單個主設(shè)備控制多個從設(shè)備。使用7位地址,可以使用128(27)個唯一地址。使用10位地址并不常見,但提供1,024(210)個唯一地址。要將多個從器件連接到單個主器件,請像這樣連接它們,使用4.7K歐姆上拉電阻將SDA和SCL線連接到Vcc:

 

 

有多個從設(shè)備及多個主設(shè)備

多個主設(shè)備可以連接到單個從設(shè)備或多個從設(shè)備。當(dāng)兩個主設(shè)備嘗試通過SDA線同時發(fā)送或接收數(shù)據(jù)時,同一系統(tǒng)中出現(xiàn)多個主設(shè)備的問題。為了解決這個問題,每個主設(shè)備需要在發(fā)送消息之前檢測SDA線路是低還是高。如果SDA線為低電平,則表示另一個主控制器已控制總線,主控制器應(yīng)等待發(fā)送消息。如果SDA線路很高,那么傳輸信息是安全的。要將多個主設(shè)備連接到多個從設(shè)備,請使用下圖,使用4.7K歐姆上拉電阻將SDA和SCL線路連接到Vcc:

 

 

I2C的優(yōu)點和缺點

與其他協(xié)議相比,I2C聽起來很復(fù)雜,不容易在程序中實現(xiàn)而導(dǎo)致數(shù)據(jù)丟失、無應(yīng)答、“死等”等問題。但卻有很多優(yōu)點:

優(yōu)點

只使用兩根電線

支持多個主服務(wù)器和多個從服務(wù)器

ACK / NACK位確認(rèn)每個幀都已成功傳輸

硬件沒有UART那么復(fù)雜

眾所周知且廣泛使用的協(xié)議

缺點

數(shù)據(jù)傳輸速率比SPI慢

數(shù)據(jù)幀的大小限制為8位

實現(xiàn)比SPI更復(fù)雜的硬件

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉