當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]I2C(Inter Integrated Circuit,內(nèi)部集成電路)總線(xiàn)是價(jià)格低廉卻很有效的用以互連小規(guī)模嵌入式系統(tǒng)內(nèi)的外設(shè)的網(wǎng)絡(luò)。I2C 總線(xiàn)有時(shí)候也叫作 IIC,它已有20多年的歷史了。I2C 接口和 SPI 接口的作用相同,但二者的使用方法有些不同。

I2C(Inter Integrated Circuit,內(nèi)部集成電路)總線(xiàn)是價(jià)格低廉卻很有效的用以互連小規(guī)模嵌入式系統(tǒng)內(nèi)的外設(shè)的網(wǎng)絡(luò)。I2C 總線(xiàn)有時(shí)候也叫作 IIC,它已有20多年的歷史了。I2C 接口和 SPI 接口的作用相同,但二者的使用方法有些不同。

I2C 總線(xiàn)用兩根線(xiàn)來(lái)連接多支路總線(xiàn)中的多個(gè)設(shè)備。這種總線(xiàn)是雙向、低速的,并與公共時(shí)鐘同步??梢灾苯訉⒁粋€(gè)設(shè)備接到 I2C 總線(xiàn)上或是從該總線(xiàn)上取下,而不會(huì)影響其他設(shè)備。一些生產(chǎn)商比如 Microchip 公司、Philips 公司、Intel 公司等生產(chǎn)的小型微處理器都內(nèi)置了 I2C 接口。I2C 總線(xiàn)的數(shù)據(jù)傳輸率比 SPI 總線(xiàn)要慢一些,在標(biāo)準(zhǔn)模式下的傳輸速度為 100kbps,在快速模式下為 400kbps。

利用 I2C 接口在設(shè)備之間進(jìn)行連接使用的兩根線(xiàn)是 SDA(串行數(shù)據(jù))和 SCL(串行時(shí)鐘),它們都是開(kāi)漏,通過(guò)一個(gè)上拉電阻接到正電源,因此在不使用的時(shí)候扔保持高電平。使用 I2C 總線(xiàn)進(jìn)行通信的設(shè)備驅(qū)動(dòng)這兩根線(xiàn)變?yōu)榈碗娖剑诓皇褂玫臅r(shí)候就讓它們保持高電平。每個(gè)連到 I2C 的設(shè)備都有一個(gè)唯一地址,這個(gè)設(shè)備可以是數(shù)據(jù)發(fā)送者(總線(xiàn)主機(jī))、接收者(總線(xiàn)從機(jī)),也可以二者都是。I2C 是多主機(jī)總線(xiàn),這意味著可以有多個(gè)設(shè)備充當(dāng)總線(xiàn)主機(jī)的角色。

 

 

圖1. I2C總線(xiàn)連線(xiàn)圖

SDA 和 SCL 都是雙向的。SPI 總線(xiàn)有兩根單獨(dú)的線(xiàn),分別用于兩個(gè)方向的通信,而 I2C 總線(xiàn)不同,它使用同一根線(xiàn)來(lái)完成主機(jī)發(fā)送數(shù)據(jù)和接收從機(jī)響應(yīng)。另外,與 SPI 總線(xiàn)具有多個(gè)工作模式不同,I2C 總線(xiàn)只有一個(gè)工作模式,時(shí)鐘線(xiàn) SCL 和數(shù)據(jù)線(xiàn) SDA 之間的時(shí)序關(guān)系很簡(jiǎn)單直觀:當(dāng)空閑的時(shí)候,SDA 和 SCL 都是高電平,只有 SDA 變?yōu)榈碗娖?,接?SCL 也變?yōu)榈碗娖綍r(shí),才開(kāi)始 I2C 總線(xiàn)的數(shù)據(jù)傳輸。當(dāng) SDA 和 SCL 都變?yōu)榈碗娖綍r(shí),就是告訴總線(xiàn)上的所有接收設(shè)備數(shù)據(jù)包的傳輸開(kāi)始了,在 SCL 變?yōu)榈碗娖胶?,SDA 才發(fā)送第一個(gè)有效數(shù)據(jù)位,這稱(chēng)為開(kāi)始條件。

對(duì)于被傳輸?shù)拿恳晃?,?dāng) SCL 為低電平時(shí)在 SDA 上必須變?yōu)橛行?,該位是?SCL 的上升沿對(duì) SDA 上的數(shù)據(jù)位進(jìn)行采樣的,也必須一直保持有效直到 SCL 再次變?yōu)榈碗娖剑缓?SDA 就在 SCL 再次變?yōu)楦唠娖街皞鬏斚乱晃弧?/p>

最后,SCL 變?yōu)楦唠娖?,接?SDA 也變?yōu)楦唠娖?,?shù)據(jù)傳輸結(jié)束。這被稱(chēng)為結(jié)束條件。

 

 

圖2. I2C總線(xiàn)傳輸?shù)拈_(kāi)始條件和結(jié)束條件

無(wú)論多大的數(shù)據(jù)包都可以通過(guò) I2C 總線(xiàn)進(jìn)行傳輸。像 SPI 總線(xiàn)一樣,I2C 也是高位先傳輸。如果數(shù)據(jù)接收者無(wú)法再接收更多的數(shù)據(jù),它可以通過(guò)將SCL保持低電平來(lái)中斷傳輸,這樣可以迫使數(shù)據(jù)發(fā)送者等待,直到 SCL 被重新釋放。

發(fā)送方發(fā)出的每個(gè)字節(jié)都必須經(jīng)過(guò)接收方確認(rèn),每個(gè)字節(jié)的第8位數(shù)據(jù)一旦傳送結(jié)束,發(fā)送方就釋放數(shù)據(jù)線(xiàn) SDA,然后主機(jī)在 SCL 上產(chǎn)生一個(gè)額外的時(shí)鐘脈沖,這會(huì)觸發(fā)接收方通過(guò)將 SDA 置為低電平來(lái)表示接收到的字節(jié)進(jìn)行確認(rèn)。如果接收方?jīng)]有能將 SDA 置為低電平,發(fā)送方就會(huì)中斷傳輸,并且采取適當(dāng)?shù)腻e(cuò)誤處理措施。

 

 

圖3. 帶有接收方確認(rèn)的I2C數(shù)據(jù)包

由于 I2C 是多主機(jī)總線(xiàn),因此存在同一時(shí)刻會(huì)有多個(gè)主機(jī)試圖開(kāi)始數(shù)據(jù)傳輸?shù)目赡堋PI 總線(xiàn)使用一個(gè)獨(dú)立的片選端來(lái)使接收從機(jī)有效,每個(gè) SPI 從機(jī)都有一個(gè)單獨(dú)的片選端,由主機(jī)驅(qū)動(dòng)。I2C 沒(méi)有這樣的選擇機(jī)制,不過(guò)總線(xiàn)上的每個(gè)設(shè)備都有一個(gè)唯一的地址,數(shù)據(jù)包傳輸時(shí)先發(fā)送地址位,接著才是數(shù)據(jù)。一個(gè)地址字節(jié)由7個(gè)地址位和1個(gè)指示位組成。如果指示位是0,意味著這個(gè)傳輸是一個(gè)寫(xiě)操作,被選中的從機(jī)將接收數(shù)據(jù)并將其作為輸入;如果指示位是1,就要求從機(jī)將數(shù)據(jù)發(fā)送回主機(jī)。

I2C 總線(xiàn)還支持一個(gè)擴(kuò)展的10位尋址模式,可連接的外設(shè)數(shù)量可達(dá)1024個(gè),使用7位尋址模式的設(shè)備和10位尋址模式的設(shè)備可以在同一個(gè)系統(tǒng)中混合使用。10位尋址時(shí),使用2個(gè)字節(jié)來(lái)保存地址。如果第1個(gè)地址字節(jié)以0b11110xx_開(kāi)始,就會(huì)產(chǎn)生一個(gè)10位地址,第1個(gè)字節(jié)的第1、2位(第0位是讀寫(xiě)指示位)和第2個(gè)字節(jié)的8位合起來(lái)構(gòu)成10位的地址。而7位設(shè)備將會(huì)忽略這個(gè)過(guò)程。

 

 

圖4. I2C普通的和帶重復(fù)開(kāi)始條件的7位地址格式

 

 

圖5. I2C總線(xiàn)10位地址格式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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