I2C協(xié)議最初由Philips Semiconductor(現(xiàn)為NXP Semiconductors)開發(fā),用于簡(jiǎn)化微控制器和外圍設(shè)備之間的通信。它是一種多主機(jī)總線,允許多個(gè)設(shè)備共享同一總線,同時(shí)保持較低的功耗和成本。
I2C協(xié)議的主要特性
- 串行通信 :I2C使用兩條線進(jìn)行通信,一條是數(shù)據(jù)線(SDA),另一條是時(shí)鐘線(SCL)。
- 多主機(jī)能力 :多個(gè)設(shè)備可以控制總線,發(fā)送數(shù)據(jù)給其他設(shè)備。
- 多設(shè)備能力 :多個(gè)設(shè)備可以連接到同一總線上,每個(gè)設(shè)備都有一個(gè)唯一的地址。
- 同步通信 :數(shù)據(jù)傳輸是同步的,由時(shí)鐘信號(hào)控制。
- 支持仲裁 :在多個(gè)主機(jī)嘗試控制總線時(shí),I2C協(xié)議支持仲裁機(jī)制以避免沖突。
- 支持多主模式 :允許多個(gè)主機(jī)在總線上進(jìn)行通信。
I2C協(xié)議的信號(hào)線
- SDA(數(shù)據(jù)線) :用于在設(shè)備之間傳輸數(shù)據(jù)。
- SCL(時(shí)鐘線) :用于同步數(shù)據(jù)傳輸,由主機(jī)設(shè)備控制。
I2C協(xié)議的工作模式
I2C協(xié)議有兩種主要的工作模式:
- 7位尋址模式 :在這種模式下,每個(gè)設(shè)備都有一個(gè)7位的唯一地址。
- 10位尋址模式 :在這種模式下,每個(gè)設(shè)備都有一個(gè)10位的唯一地址,提供了更多的地址空間。
I2C協(xié)議的數(shù)據(jù)傳輸過程
I2C數(shù)據(jù)傳輸過程包括以下幾個(gè)步驟:
- 起始條件(Start Condition) :當(dāng)主機(jī)設(shè)備想要開始通信時(shí),它會(huì)發(fā)送一個(gè)起始條件,即SDA線在SCL線為高電平時(shí)從高電平跳變到低電平。
- 發(fā)送設(shè)備地址 :主機(jī)設(shè)備發(fā)送目標(biāo)設(shè)備的地址,如果是7位尋址模式,則發(fā)送7位地址后跟一個(gè)讀/寫位(0表示寫,1表示讀);如果是10位尋址模式,則發(fā)送10位地址后跟一個(gè)讀/寫位。
- 應(yīng)答位(Acknowledge Bit, ACK) :目標(biāo)設(shè)備在接收到地址后,如果準(zhǔn)備好接收數(shù)據(jù),會(huì)發(fā)送一個(gè)ACK信號(hào),即SDA線在SCL線為高電平時(shí)保持低電平。
- 數(shù)據(jù)傳輸 :一旦地址被確認(rèn),主機(jī)和從設(shè)備之間就可以開始數(shù)據(jù)傳輸。數(shù)據(jù)傳輸是8位字節(jié)為單位進(jìn)行的,每個(gè)字節(jié)后都跟一個(gè)ACK信號(hào)。
- 非應(yīng)答位(Not Acknowledge, NACK) :在數(shù)據(jù)傳輸結(jié)束時(shí),主機(jī)設(shè)備發(fā)送一個(gè)NACK信號(hào),即SDA線在SCL線為高電平時(shí)保持高電平。
- 停止條件(Stop Condition) :通信結(jié)束后,主機(jī)設(shè)備發(fā)送一個(gè)停止條件,即SDA線在SCL線為高電平時(shí)從低電平跳變到高電平。
I2C協(xié)議的仲裁機(jī)制
當(dāng)多個(gè)主機(jī)嘗試控制I2C總線時(shí),I2C協(xié)議通過一種稱為“線與”(Wire-AND)的機(jī)制來(lái)解決沖突。在這種機(jī)制下,任何設(shè)備都可以在任何時(shí)候控制SCL線,但SDA線必須由所有設(shè)備共同控制。如果一個(gè)設(shè)備想要發(fā)送數(shù)據(jù),它會(huì)檢查SDA線的狀態(tài)。如果SDA線已經(jīng)被其他設(shè)備拉低,那么當(dāng)前設(shè)備會(huì)釋放SDA線,允許其他設(shè)備控制總線。
I2C協(xié)議的多主模式
在多主模式下,任何連接到I2C總線的設(shè)備都可以成為主機(jī)。當(dāng)一個(gè)設(shè)備想要成為主機(jī)時(shí),它會(huì)開始控制SCL線。如果總線上沒有其他主機(jī)控制SCL線,那么該設(shè)備就可以成功地成為主機(jī)。如果已經(jīng)有其他主機(jī)控制SCL線,那么新設(shè)備必須等待直到SCL線被釋放。
I2C協(xié)議的應(yīng)用
I2C協(xié)議廣泛應(yīng)用于各種電子設(shè)備中,包括:
-
微控制器
+關(guān)注
關(guān)注
48文章
7957瀏覽量
155224 -
總線
+關(guān)注
關(guān)注
10文章
2961瀏覽量
89803 -
數(shù)據(jù)線
+關(guān)注
關(guān)注
8文章
298瀏覽量
42835 -
IIC協(xié)議
+關(guān)注
關(guān)注
0文章
31瀏覽量
4109
發(fā)布評(píng)論請(qǐng)先 登錄
Bluetooth LE Link Layer數(shù)據(jù)包全解析
ADC技術(shù)的工作原理解析
UPS電源的工作原理解析 UPS電源使用注意事項(xiàng)
液位變送器工作原理解析
ptp協(xié)議的基本原理解析
EMMC閃存的工作原理解析 EMMC存儲(chǔ)的讀寫速度測(cè)試
氣體壓力傳感器工作原理解析 氣體壓力傳感器在工業(yè)應(yīng)用中的作用
開關(guān)電源工作原理解析 開關(guān)電源與線性電源的區(qū)別
數(shù)據(jù)采集器的工作原理解析 實(shí)時(shí)數(shù)據(jù)采集器的優(yōu)勢(shì)是什么
440V 變 220V 三相變壓器的工作原理解析

磁編碼器工作原理解析 磁編碼器與光編碼器的比較
數(shù)據(jù)光端機(jī)的工作原理解析
MQTT協(xié)議網(wǎng)關(guān)的工作原理及功能特性

評(píng)論