啊啊啊流水了啊操逼污污,与妇女日逼视频,亚洲国产日韩欧美一区二区,k8经典网在线观看电影

24小時(shí)聯(lián)系電話:18217114652、13661815404

中文

您當(dāng)前的位置:
首頁>
電子資訊>
公司新聞>
串行通信協(xié)議第 6 部...

公司新聞

串行通信協(xié)議第 6 部分 - I2C


串行通信協(xié)議第 6 部分 - I2C

在串行通信協(xié)議系列的下一部分中,我們將研究流行的 I 2 C 協(xié)議。這是在前面的文章中我們正在研究一些不同類型的可用串行通信協(xié)議的后續(xù)文章。這些為在合理短距離內(nèi)在設(shè)備之間傳輸數(shù)據(jù)提供了實(shí)用的解決方案。典型應(yīng)用包括通過微控制器從產(chǎn)生數(shù)據(jù)的外圍設(shè)備中捕獲大量數(shù)據(jù)。

本系列涵蓋了一些比較流行的協(xié)議。在本系列的最后,我們將通過查看每個(gè)協(xié)議的優(yōu)點(diǎn)和缺點(diǎn)來總結(jié)。我們希望您下次想在設(shè)計(jì)中實(shí)現(xiàn)串行通信總線時(shí)會(huì)發(fā)現(xiàn)本系列很有價(jià)值

I 2 C(發(fā)音為 I-squared-C)代表內(nèi)部集成電路。簡而言之,它是一種單端、同步、多主、多從、封裝交換串行通信總線。我們現(xiàn)在將解釋這一口的含義。

由于它是同步的,這意味著它有一條時(shí)鐘線。這種類型的通信協(xié)議被微控制器廣泛用于短距離傳輸數(shù)據(jù)或與設(shè)備通信。盡管 I 2 C 是由飛利浦半導(dǎo)體(現(xiàn)為 NXP)發(fā)明的,但許多其他制造商生產(chǎn)的 IC I 2 C 通信協(xié)議兼容或使用 I 2 C 通信協(xié)議。SMBus 是一種基本上與 I 2 C兼容的協(xié)議,主要區(qū)別在于 SMBus 具有較低的最大頻率、超時(shí)功能和較低的最大電流 - 因此本文中的討論也非常適用于 SMBus。

I 2 C 總線具有指定為主設(shè)備和從設(shè)備的設(shè)備。主設(shè)備是產(chǎn)生時(shí)鐘信號(hào)并啟動(dòng)與從設(shè)備通信的設(shè)備。從設(shè)備是接收時(shí)鐘信號(hào)并在被主設(shè)備尋址時(shí)做出響應(yīng)的設(shè)備。I 2 C 總線可以是多從,也可以是多主,即一個(gè)主設(shè)備可以有多個(gè)從設(shè)備,一個(gè)從設(shè)備可以有多個(gè)主設(shè)備:

I2C多從多主接線示例

I 2 C 協(xié)議具有三種基本的消息格式類型;每條消息都以 START 信號(hào)開始,然后以 STOP 信號(hào)結(jié)束。在第一種消息格式中,單個(gè)消息由主機(jī)發(fā)送到從機(jī),從機(jī)將數(shù)據(jù)傳輸?shù)綇臋C(jī)。在第二種消息格式中,單個(gè)消息由主機(jī)發(fā)送到從機(jī),從機(jī)將數(shù)據(jù)從從機(jī)傳輸回主機(jī)。在最終的組合消息格式中,主設(shè)備向一個(gè)或多個(gè)從設(shè)備發(fā)送多個(gè)讀或?qū)懨睢C總€(gè)命令必須包含目標(biāo)從設(shè)備的地址。

I 2 C 總線由兩條傳輸線組成,不包括地線。通常,I 2 C 總線由作為時(shí)鐘信號(hào)的 SCL 線和作為數(shù)據(jù)信號(hào)的 SDA 線組成。時(shí)鐘線是單向的,從主機(jī)到從機(jī)。 

這是一種半雙工串行通信,即在任一時(shí)刻只能向一個(gè)方向發(fā)送數(shù)據(jù),因此主從不能同時(shí)發(fā)送數(shù)據(jù)。

帶有上拉電阻的 I2C 接線示例

I 2 C 具有漏極開路或集電極開路輸出,這意味著驅(qū)動(dòng)器可以將線路拉低但不能將其拉高??偩€需要外部上拉電阻將每條線路的空閑狀態(tài)設(shè)置為高電平,即當(dāng)沒有設(shè)備將其拉低時(shí):

I2C 主從驅(qū)動(dòng)程序簡化的硬件示例

上拉電阻也決定了總線的通信速度,取決于總線的總電容。較高值的上拉電阻將降低通信速率,而較低的電阻值將提供較高的通信速率。內(nèi)部驅(qū)動(dòng)程序也將顯著決定通信速度。更大的(更高的電流能力)驅(qū)動(dòng)器將產(chǎn)生更快的上升和下降時(shí)間并增加潛在的通信速率。一個(gè)好的經(jīng)驗(yàn)法則是首先考慮使用值為 4.7 kΩ 的上拉電阻,然后在必要時(shí)進(jìn)行調(diào)整。此外,在不需要更高速度的情況下降低通信速率可能是一種很好的做法,因?yàn)樗梢源蟠蠼档碗娙菪?yīng),并且總線的功耗也會(huì)更低。但是,電阻值必須介于指定的允許限值之間

不同選擇的上拉電阻值的信號(hào)示例

還可以使用以下公式計(jì)算所需的上拉電阻值:

其中最小電阻值使用以下公式計(jì)算:

V CC – I 2 C 高電平(上拉)電壓嗎
V OL -
I 2 C 驅(qū)動(dòng)器的有效邏輯低電平
I OL -
是拉低邏輯電平所需的驅(qū)動(dòng)器電流(使電容放電)

最大電阻值的計(jì)算方法如下:

T r – SCL SDA 線的上升時(shí)間
C b –
是每條總線的電容負(fù)載

I 2 C 總線的典型參數(shù)如下:

此外,下圖顯示了不同要求如何影響最小和最大上拉電阻限制:

最小和最大的上拉電阻值圖表

我們還必須考慮到 I 2 C 總線可以與多個(gè)電壓電平設(shè)備一起使用。例如,您可以通過將上拉電阻連接到 3.3 V 電源,將公共總線連接到 5 V 3.3 V 設(shè)備。這將與兩種設(shè)備類型兼容。但是,在某些情況下,這將不起作用,例如,在同時(shí)使用 5 V 1.2 V 設(shè)備的情況下。此處,一個(gè)設(shè)備使用的最高電壓 1.2 V 會(huì)被另一個(gè)設(shè)備讀取為低電壓或未知電壓。在這些情況下,邏輯電平轉(zhuǎn)換器是使兩種設(shè)備類型都能使用公共總線的正確解決方案。

下面是一個(gè)示例時(shí)間圖,顯示了 I 2 C 總線上的數(shù)據(jù)位:

I2C中的數(shù)據(jù)包示例

在數(shù)據(jù)傳輸開始條件 (S) 下,SDA 被拉低,而 SCL 保持高電平

然后 SCL 被拉低,SDA 設(shè)置第一個(gè)數(shù)據(jù)位電平,同時(shí)保持 SCL 為低。(藍(lán)條)

SLC 保持高電平時(shí)采樣來自 SDA 的數(shù)據(jù)。SDA 不得在 SLC 的上升沿和下降沿之間改變狀態(tài)(綠條)

該過程以設(shè)置的比特率重復(fù)

最后一位由時(shí)鐘脈沖設(shè)置,在此期間 SDA 被拉低以準(zhǔn)備停止位

當(dāng) SCL 上升并跟隨 SDA 的上升沿時(shí)出現(xiàn)停止條件 (P)

通常,一臺(tái)主I 2 C 通信設(shè)備最多可支持1008 個(gè)從設(shè)備。然而,這使得硬件設(shè)計(jì)非常復(fù)雜,并且要求 I 2 C 總線以最低速度運(yùn)行。這是因?yàn)楹荛L的傳輸線的電容增加,使得信號(hào)上升和下降時(shí)間變慢。高速總線的問題在于,當(dāng)電容增加太多時(shí),由于信號(hào)的上升和下降時(shí)間增加,位可能會(huì)重疊。

一種解決方案是,如果總線包括太多從設(shè)備,可以使用緩沖或多路復(fù)用技術(shù)將單個(gè)長總線分成更小的段。這將有助于將總線段的電容保持在最大允許值以下,甚至允許使用多路復(fù)用器將具有相同地址的多個(gè)設(shè)備分開。

緩沖用于將每個(gè)段的電容與其他段隔離,并允許在更長的電線或跡線上使用單獨(dú)的從站和主站。 

I2C 總線上的緩沖和復(fù)用技術(shù)

在某些情況下,當(dāng)從設(shè)備需要延遲主設(shè)備發(fā)送更多數(shù)據(jù)時(shí),它可能需要將時(shí)鐘強(qiáng)制為低電平。通常,當(dāng)從設(shè)備在將數(shù)據(jù)發(fā)送到主設(shè)備之前需要時(shí)間準(zhǔn)備數(shù)據(jù)時(shí),就會(huì)發(fā)生這種情況。例如,要完成模數(shù)轉(zhuǎn)換或 EEPROM 存儲(chǔ)命令尚未完成寫入非易失性存儲(chǔ)器。此操作稱為時(shí)鐘拉伸

對(duì)于一個(gè)主設(shè)備與多個(gè)從設(shè)備進(jìn)行通信,需要一種尋址機(jī)制。大多數(shù)情況下,從設(shè)備地址將由被拉低或拉高的設(shè)備上的引腳設(shè)置。當(dāng)主設(shè)備發(fā)送命令時(shí),所有連接到總線的設(shè)備都會(huì)收到該命令。但是,在每個(gè)消息的開頭,主設(shè)備會(huì)發(fā)送一組尋址位。結(jié)果是只有一個(gè)設(shè)備會(huì)響應(yīng)該命令,該設(shè)備將是該命令所針對(duì)的設(shè)備。其他從設(shè)備將忽略該命令。

有大量可用的 IC 可以使用 I 2 C 總線。這些組件及其應(yīng)用的一些示例是:

RTC(實(shí)時(shí)時(shí)鐘)

低速 DAC(數(shù)模轉(zhuǎn)換器)或 ADC(模數(shù)轉(zhuǎn)換器)

顯示數(shù)據(jù)通道的色彩平衡設(shè)置

改變智能數(shù)字揚(yáng)聲器的音量

與外部存儲(chǔ)設(shè)備通信,例如 EEPROM

控制 OLED LCD 顯示器

打開和關(guān)閉電源 

請(qǐng)輸入搜索關(guān)鍵字

確定
武定县| 阳城县| 米林县| 澄城县| 儋州市| 延吉市| 凤凰县| 赤峰市| 金华市| 菏泽市| 云南省| 洛川县| 丘北县| 安康市| 西和县| 竹北市| 台湾省| 乳源| 竹溪县| 阳曲县| 昆明市| 上栗县| 襄汾县| 纳雍县| 青阳县| 镇宁| 曲松县| 浦江县| 攀枝花市| 万全县| 方正县| 湖南省| 德钦县| 敖汉旗| 瑞金市| 庆安县| 锡林浩特市| 巴青县| 河源市| 项城市| 长治县|