我相信互聯(lián)網(wǎng)搜索引擎可為我提供可靠、快速的答案,因此當(dāng)我第一次遇到I2C協(xié)議時,我首先尋求互聯(lián)網(wǎng)搜索引擎獲得幫助。我的搜索給出如下響應(yīng):內(nèi)部集成電路(I2C)協(xié)議是雙向雙線串行總線,其提供集成電路之間的通信鏈路。這一解釋已經(jīng)很清楚了,但我還有更多的問題:它究竟是什么?什么類型的設(shè)備使用I2C?I2C如何幫我解決系統(tǒng)中遇到的實際問題?
I2C是使主設(shè)備(例如處理器,微控制器(MCU)或?qū)S眉呻娐罚?a href="http://www.socialnewsupdate.com/tags/asic/" target="_blank">ASIC))能夠與同一雙線總線上的其它外圍設(shè)備通信的流行通信協(xié)議。一條線專用于數(shù)據(jù)傳輸,而另一條用于時鐘信號。想象它就像一個雙車道公路:每個車道都有汽車從一端流向另一端,就像數(shù)據(jù)包將從主設(shè)備(處理器、MCU、ASIC)傳輸?shù)酵鈬O(shè)備(溫度傳感器、濕度傳感器及其它設(shè)備)。
那I2C到底是什么呢……現(xiàn)在,為什么要使用它?I2C可以在同一總線上輕松實現(xiàn)多個外設(shè) - 例如,使用各種傳感器來監(jiān)視服務(wù)器的溫度。I2C協(xié)議實際上設(shè)計用于在單個總線上支持多個設(shè)備,而如串行外設(shè)接口(SPI)的其他協(xié)議的設(shè)計用于點對點單設(shè)備支持。雙線I2C接口還可以幫助簡化對四線SPI接口的布線,并減少通用輸入/輸出(GPIO)。
TI的用于構(gòu)建I2C樹狀圖的產(chǎn)品組合可以分為三個功能,如圖1所示:緩沖轉(zhuǎn)換器、I / O擴展器和I2C開關(guān)。
圖1:具有各種I2C功能設(shè)備的電子系統(tǒng)
當(dāng)您的設(shè)計在集成電路(IC)之間的長走線和/或電壓失配時遇到劣化信號時,I2C緩沖轉(zhuǎn)換器可以幫助您。例如,如果您發(fā)現(xiàn)3.3V MCU I2C I / O和5V溫度傳感器之間存在電壓失配,則可以使用I2C電壓轉(zhuǎn)換器(如PCA9306)。此外,對于長走線上的相同電壓失配,您可使用緩沖轉(zhuǎn)換器(如TCA9617B)來解決輸出刷新信號時的電壓差。
I2C I / O擴展器顧名思義 - 當(dāng)選定的處理器無可用端口時,它們會擴展I / O數(shù)量,如圖2所示。這些設(shè)備與標(biāo)準(zhǔn)GPIO擴展器不同,因為它們直接與I2C總線上的設(shè)備通信。該組合還提供了多種功能,具體取決于您的特定系統(tǒng)需求,例如通道數(shù)、復(fù)位引腳和電平轉(zhuǎn)換。
圖2:微控制器或處理器使用I / O擴展器控制外設(shè)
I2C開關(guān)可以解決兩個不同的問題。第一個問題與地址沖突有關(guān)。當(dāng)同一總線上的兩個設(shè)備具有相同地址時通常會發(fā)生沖突。如果系統(tǒng)在同一I2C總線上有兩個溫度傳感器和兩個濕度傳感器,所有地址為0xFF - 一個I2C開關(guān)可以一次切換到單個傳感器;見圖3。第二個問題與功耗有關(guān)。I2C開關(guān)一次只為I2C總線的一部分供電,從而在不使用時保持總線的未使用部分掉電。
圖3:具有八個通道的I2C開關(guān)示例
起初,互聯(lián)網(wǎng)搜索將會告訴您,I2C使系統(tǒng)設(shè)計人員能夠輕松實現(xiàn)魯棒的系統(tǒng)控制。這一協(xié)議不僅有用,而且還具有很多設(shè)備功能,可令您的系統(tǒng)受益。您可以使用緩沖中繼器、I / O擴展器和I2C開關(guān)來增強,擴展并修改I2C總線實現(xiàn),以滿足您的獨特設(shè)計目標(biāo)。有關(guān)I2C設(shè)計的更多信息,請閱讀應(yīng)用注釋“了解I2C總線”。
審核編輯:何安淇
-
模擬
+關(guān)注
關(guān)注
7文章
1438瀏覽量
84514 -
I2C
+關(guān)注
關(guān)注
28文章
1541瀏覽量
127770
發(fā)布評論請先 登錄
I2C總線通信原理 如何設(shè)計I2C總線電路
I2C總線的優(yōu)缺點分析
I2C總線與Arduino的接口示例
I2C總線的工作模式介紹
I2C總線在嵌入式系統(tǒng)中的應(yīng)用
I2C總線協(xié)議詳細(xì)解析
I2C總線故障排除技巧
I2C總線與單片機的連接
I2C總線應(yīng)用實例分析
RISC V的I2C操作
I2C協(xié)議的基礎(chǔ)知識

物聯(lián)網(wǎng)嵌入式軟件中的I2C總線設(shè)計詳解

I2C轉(zhuǎn)UART子系統(tǒng)設(shè)計

評論