I2C是使主設備(例如處理器,微控制器(MCU)或?qū)S?a href="http://m.makelele.cn/v/tag/123/" target="_blank">集成電路(ASIC))能夠與同一雙線總線上的其它外圍設備通信的流行通信協(xié)議。一條線專用于數(shù)據(jù)傳輸,而另一條用于時鐘信號。想象它就像一個雙車道公路:每個車道都有汽車從一端流向另一端,就像數(shù)據(jù)包將從主設備(處理器、MCU、ASIC)傳輸?shù)酵鈬O備(溫度傳感器、濕度傳感器及其它設備)。
那I2C到底是什么呢……現(xiàn)在,為什么要使用它?I2C可以在同一總線上輕松實現(xiàn)多個外設 - 例如,使用各種傳感器來監(jiān)視服務器的溫度。I2C協(xié)議實際上設計用于在單個總線上支持多個設備,而如串行外設接口(SPI)的其他協(xié)議的設計用于點對點單設備支持。雙線I2C接口還可以幫助簡化對四線SPI接口的布線,并減少通用輸入/輸出(GPIO)。
TI的用于構(gòu)建I2C樹狀圖的產(chǎn)品組合可以分為三個功能,如圖1所示:緩沖轉(zhuǎn)換器、I / O擴展器和I2C開關。

圖1:具有各種I2C功能設備的電子系統(tǒng)
當您的設計在集成電路(IC)之間的長走線和/或電壓失配時遇到劣化信號時,I2C緩沖轉(zhuǎn)換器可以幫助您。例如,如果您發(fā)現(xiàn)3.3V MCU I2C I / O和5V溫度傳感器之間存在電壓失配,則可以使用I2C電壓轉(zhuǎn)換器(如PCA9306)。此外,對于長走線上的相同電壓失配,您可使用緩沖轉(zhuǎn)換器(如TCA9617B)來解決輸出刷新信號時的電壓差。
I2C I / O擴展器顧名思義 - 當選定的處理器無可用端口時,它們會擴展I / O數(shù)量,如圖2所示。這些設備與標準GPIO擴展器不同,因為它們直接與I2C總線上的設備通信。該組合還提供了多種功能,具體取決于您的特定系統(tǒng)需求,例如通道數(shù)、復位引腳和電平轉(zhuǎn)換。

圖2:微控制器或處理器使用I / O擴展器控制外設
I2C開關可以解決兩個不同的問題。第一個問題與地址沖突有關。當同一總線上的兩個設備具有相同地址時通常會發(fā)生沖突。如果系統(tǒng)在同一I2C總線上有兩個溫度傳感器和兩個濕度傳感器,所有地址為0xFF - 一個I2C開關可以一次切換到單個傳感器;見圖3。第二個問題與功耗有關。I2C開關一次只為I2C總線的一部分供電,從而在不使用時保持總線的未使用部分掉電。

圖3:具有八個通道的I2C開關示例
起初,互聯(lián)網(wǎng)搜索將會告訴您,I2C使系統(tǒng)設計人員能夠輕松實現(xiàn)魯棒的系統(tǒng)控制。這一協(xié)議不僅有用,而且還具有很多設備功能,可令您的系統(tǒng)受益。您可以使用緩沖中繼器、I / O擴展器和I2C開關來增強,擴展并修改I2C總線實現(xiàn),以滿足您的獨特設計目標。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
20256瀏覽量
252473 -
mcu
+關注
關注
147文章
18936瀏覽量
398581 -
asic
+關注
關注
34文章
1274瀏覽量
124630 -
I2C
+關注
關注
28文章
1556瀏覽量
131266
發(fā)布評論請先 登錄
I2C通信開發(fā)障礙以及總結(jié)
Linux內(nèi)核中I2C系統(tǒng)的設計思路
i2c總線ppt(I2C總線器件應用)
I2C總線應用中的幾個問題
I2C Guid I2C指南
I2C總線在Linux系統(tǒng)中的驅(qū)動設計
I2C如何幫我解決系統(tǒng)中遇到的實際問題
硬件I2C與模擬I2C
I2C子系統(tǒng)SW Architecture
如何解決I2C器件死鎖的問題?
什么是I2C協(xié)議 I2C總線的控制邏輯
I2C如何解決系統(tǒng)中遇到的實際問題
評論