我相信互聯網搜索引擎可為我提供可靠、快速的答案,因此當我第一次遇到I2C協議時,我首先尋求互聯網搜索引擎獲得幫助。我的搜索給出如下響應:內部集成電路(I2C)協議是雙向雙線串行總線,其提供集成電路之間的通信鏈路。這一解釋已經很清楚了,但我還有更多的問題:它究竟是什么?什么類型的設備使用I2C?I2C如何幫我解決系統中遇到的實際問題?
I2C是使主設備(例如處理器,微控制器(MCU)或專用集成電路(ASIC))能夠與同一雙線總線上的其它外圍設備通信的流行通信協議。一條線專用于數據傳輸,而另一條用于時鐘信號。想象它就像一個雙車道公路:每個車道都有汽車從一端流向另一端,就像數據包將從主設備(處理器、MCU、ASIC)傳輸到外圍設備(溫度傳感器、濕度傳感器及其它設備)。
那I2C到底是什么呢……現在,為什么要使用它?I2C可以在同一總線上輕松實現多個外設 - 例如,使用各種傳感器來監視服務器的溫度。I2C協議實際上設計用于在單個總線上支持多個設備,而如串行外設接口(SPI)的其他協議的設計用于點對點單設備支持。雙線I2C接口還可以幫助簡化對四線SPI接口的布線,并減少通用輸入/輸出(GPIO)。
TI的用于構建I2C樹狀圖的產品組合可以分為三個功能,如圖1所示:緩沖轉換器、I / O擴展器和I2C開關。
圖1:具有各種I2C功能設備的電子系統
當您的設計在集成電路(IC)之間的長走線和/或電壓失配時遇到劣化信號時,I2C緩沖轉換器可以幫助您。例如,如果您發現3.3V MCU I2C I / O和5V溫度傳感器之間存在電壓失配,則可以使用I2C電壓轉換器(如PCA9306)。此外,對于長走線上的相同電壓失配,您可使用緩沖轉換器(如TCA9617B)來解決輸出刷新信號時的電壓差。
I2C I / O擴展器顧名思義 - 當選定的處理器無可用端口時,它們會擴展I / O數量,如圖2所示。這些設備與標準GPIO擴展器不同,因為它們直接與I2C總線上的設備通信。該組合還提供了多種功能,具體取決于您的特定系統需求,例如通道數、復位引腳和電平轉換。
圖2:微控制器或處理器使用I / O擴展器控制外設
I2C開關可以解決兩個不同的問題。第一個問題與地址沖突有關。當同一總線上的兩個設備具有相同地址時通常會發生沖突。如果系統在同一I2C總線上有兩個溫度傳感器和兩個濕度傳感器,所有地址為0xFF - 一個I2C開關可以一次切換到單個傳感器;見圖3。第二個問題與功耗有關。I2C開關一次只為I2C總線的一部分供電,從而在不使用時保持總線的未使用部分掉電。
圖3:具有八個通道的I2C開關示例
起初,互聯網搜索將會告訴您,I2C使系統設計人員能夠輕松實現魯棒的系統控制。這一協議不僅有用,而且還具有很多設備功能,可令您的系統受益。您可以使用緩沖中繼器、I / O擴展器和I2C開關來增強,擴展并修改I2C總線實現,以滿足您的獨特設計目標。有關I2C設計的更多信息,請閱讀應用注釋“了解I2C總線”。
審核編輯:何安淇
-
模擬
+關注
關注
7文章
1423瀏覽量
83930 -
I2C
+關注
關注
28文章
1489瀏覽量
123908
發布評論請先 登錄
相關推薦
評論