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