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ù)傳輸過(guò)程
I2C數(shù)據(jù)傳輸過(guò)程包括以下幾個(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é)議通過(guò)一種稱為“線與”(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文章
8375瀏覽量
164558 -
總線
+關(guān)注
關(guān)注
10文章
3040瀏覽量
91658 -
數(shù)據(jù)線
+關(guān)注
關(guān)注
8文章
315瀏覽量
54187 -
IIC協(xié)議
+關(guān)注
關(guān)注
0文章
31瀏覽量
4242
發(fā)布評(píng)論請(qǐng)先 登錄
RA MCU眾測(cè)寶典 | IIC之【RA2E1】IIC通信的OLED顯示
位移計(jì)工作原理解析:如何測(cè)量結(jié)構(gòu)物位移?
液體高低頻介電常數(shù)測(cè)試儀的工作原理與信號(hào)解析
通信協(xié)議IIC與SPI最全對(duì)比分析
如何理解工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)的協(xié)議解析功能
超景深顯微鏡的工作原理與測(cè)試影響因素
請(qǐng)問(wèn)IIC的設(shè)備驅(qū)動(dòng)兼容SMbus協(xié)議嗎?
廣州唯創(chuàng)電子語(yǔ)音芯片的工作原理與應(yīng)用解析
協(xié)議解析網(wǎng)關(guān)是什么?有什么功能?
解析基帶和射頻的工作原理
頻率晶體的工作原理與應(yīng)用解析:從壓電效應(yīng)到高精度時(shí)鐘設(shè)計(jì)
高壓清洗機(jī)的工作原理是什么?
Bluetooth LE Link Layer數(shù)據(jù)包全解析
Type-C PD Sink快充協(xié)議芯片XSP01E的特點(diǎn)及工作原理
iic協(xié)議的工作原理解析
評(píng)論