24小時(shí)聯(lián)系電話(huà):18217114652、13661815404
中文
公司新聞
I2C 總線(xiàn)多路復用器
I2C 總線(xiàn)多路復用器
在本文中,我們將闡明如何構建可與 I 2 C 線(xiàn)路一起使用的雙向 2 位多路復用器電路。如果需要,該電路還具有作為電平轉換器工作的額外功能。該設計基于 GreenPAK? SLG46826V。由于 SDA 和 SCL 線(xiàn)路的雙向性,該設計可用于單主或多主 I 2 C 通信。
該電路是一個(gè)雙軌 IC,包括構建適合 I 2 C 協(xié)議的雙向多路復用器電路所需的所有元件。使用此 IC 可實(shí)現小尺寸。除了實(shí)現 I 2 C 多路復用器電路的小尺寸外,GreenPAK 還能夠集成電路所需的振蕩器和上拉電阻器。
該設計針對實(shí)際應用進(jìn)行了優(yōu)化,可以輕松修改以滿(mǎn)足閱讀器系統的要求。
通過(guò)將其放置在由 Arduino 板和四個(gè) I 2 C-LCD 屏幕組成的 I 2 C 網(wǎng)絡(luò )中對其進(jìn)行了檢查,其中每個(gè)屏幕包含相同的 I 2 C 地址。在設計的 IC 的幫助下,每個(gè)屏幕都被單獨寫(xiě)入。
I 2 C 協(xié)議
連接兩個(gè)或多個(gè)設備以傳輸和接收信息需要特殊的通信路徑,由發(fā)送方和接收方共享的通信協(xié)議控制。集成電路間總線(xiàn),也稱(chēng)為 I 2 C,是一種非常常見(jiàn)的雙向通信總線(xiàn),使用兩條線(xiàn)路在設備之間發(fā)送串行信息。
I 2 C 用于在控制器和一組外圍設備之間創(chuàng )建通信網(wǎng)絡(luò )。它已得到眾多電子傳感器和執行器的支持,因為它高效且易于布線(xiàn)。I 2 C 總線(xiàn)支持7 位和10 位地址空間設備,由兩條信號線(xiàn)組成:SCL 和SDA 線(xiàn),用于與設備進(jìn)行通信。SCL 代表“串行時(shí)鐘”,它承載由主機驅動(dòng)的時(shí)鐘信號。SDA 代表“串行數據”,因此主機和從機都可以發(fā)送和接收數據。當I 2 C 外設之間沒(méi)有傳輸時(shí),SCL 和SDA 線(xiàn)都被上拉到V DD。
我們可以使用 I 2 C 協(xié)議連接多達 128 個(gè)設備,所有設備都共享相同的 SCL 和 SDA 線(xiàn)。圖 1 顯示了一個(gè)小規模的例子。
系統通常需要為不同的 IC 提供多種不同的電源電壓,如今的外圍設備通常在 I 2 C 總線(xiàn)和 I 2 C 電平轉換器或 I 2 C 總線(xiàn)多路復用器的幫助下連接到微控制器以解決兼容性問(wèn)題。
圖 1:I2C 網(wǎng)絡(luò )圖
I 2 C 總線(xiàn)多路復用器
在 I 2 C 網(wǎng)絡(luò )中,每個(gè)設備都必須有一個(gè)唯一的不重復地址才能正確實(shí)現主從設備之間的通信,但是當許多傳感器和外圍設備組合在同一條總線(xiàn)上時(shí),相同的 I 2 C 地址可以分配給多個(gè)設備。為了解決這個(gè)問(wèn)題,我們實(shí)現了一個(gè)獨特的多路復用電路,將具有相同地址的從設備連接到通信總線(xiàn),我們可以通過(guò)輪詢(xún)輸入交換通道。
I 2 C 總線(xiàn)多路復用器電路是 SCL 和 SDA 總線(xiàn)的雙向選擇器,設計使用 SLG46826 雙軌 IC 構建四通道輸出多路復用器電路,如圖 2 所示。 SCL 線(xiàn)的雙向性,雖然單主系統不需要,但確保拓撲可用于多主配置,其中主主(連接到圖 2 的左側)可以仲裁輔助主(連接到地址上的圖 2 的右側)可以向主 I 2 C 網(wǎng)絡(luò )發(fā)送命令。
圖 2:I2C 總線(xiàn)多路復用器 IC 圖
GreenPAK 設計
設計由兩個(gè)主要部分組成;SDA 線(xiàn)多路復用器和 SCL 線(xiàn)多路復用器。該電路的關(guān)鍵行為是 SLG46826 的雙向引腳和 OE(輸出使能)邏輯的配置和靈活性,用于配置特定引腳是輸入還是輸出。
SDA 線(xiàn)路多路復用器
在這部分中,引腳 3 將根據輸入 A0 和 A1 的狀態(tài)連接到引腳 7、13、15、16 之一。這些輸入已配置為用作數字輸入/輸出。輸出類(lèi)型為漏極開(kāi)路 NMOS,輸入上拉至 10 kΩ 電阻。如圖 3 所示,NOR 門(mén)控制每個(gè)引腳的 OE“輸出使能”;當 OE 為“低”時(shí),該引腳成為連接到 10K 上拉電阻的輸入,當 OE 為“高”時(shí),該引腳成為輸出且為 GND。
圖 3:SDA 線(xiàn)路復用器設計
3 位 LUT7 的輸出連接到引腳 3 的 OE,而 3L8 或非門(mén)的輸出將被多路復用并連接到引腳 7、13、15、16 的 OE。時(shí)間延遲塊被配置為下降Edge Delay 并因此產(chǎn)生到 NOR 門(mén)的時(shí)間延遲。2 位解復用器是使用塊 3L3、3L4、3L5、2L2 和 2L3 構建的。
因此,當 [A1A0] = [00] 時(shí),3L8 輸出傳遞到引腳 7,活動(dòng)通道為 0 到 3L3,而其余通道的輸入被上拉至 1。當 [A1A0] = [01] 時(shí),3L8 輸出通過(guò) 3L4 傳遞到引腳 13,當 [A1A0] = [10] 時(shí),輸出通過(guò) 3L5 傳遞到引腳 15,當 [A1A0] = [11] 時(shí),3L8 輸出通過(guò)兩個(gè)與門(mén) 2L3 和 2L2 傳遞到引腳 16。
圖 4:引腳 6 屬性
塊3L0、3L1和3L2用于構建2位多路復用器電路;然后它選擇來(lái)自引腳 7、13、15、16 的一個(gè)輸入信號并將其傳遞到 NOR 門(mén),稍后傳遞到引腳 3 (SDA)。引腳 4 和 5 被配置為連接到下拉電阻器的輸入,然后通道 0 在初始狀態(tài)下處于活動(dòng)狀態(tài),因為 [A0A1] = [00]。
MF1 和 MF2 是多功能塊,可配置為執行多個(gè)功能。在這個(gè)設計中,它們被用來(lái)產(chǎn)生一個(gè)時(shí)間延遲,此外,用來(lái)制定或非門(mén)。每個(gè)計數器的“DLY IN”輸入連接到或非門(mén)輸出。
圖 5:MF1(多功能塊)配置
設計事件順序
當總線(xiàn)處于空閑狀態(tài)(不發(fā)送或接收)時(shí),通信引腳連接到一個(gè)上拉電阻(高電平),所有引腳根據傳遞到 OE 的信號處于輸入狀態(tài)。如果輸入之一接收到 LO 信號,則該信號將通過(guò) NOR 門(mén)傳播,從而在基于 A0A1 的適當 OE 處產(chǎn)生 HI 信號。這會(huì )將引腳配置為輸出并因此保持到 GND。如果輸入返回 HI,則會(huì )產(chǎn)生一個(gè)短時(shí)間延遲以保持 OE 狀態(tài),以考慮引腳需要從 LO 變?yōu)?span> HI(從輸入到輸出)的時(shí)間。
要繼續處理事件序列,請考慮以下示例:
初始狀態(tài),總線(xiàn)上無(wú)通訊,[A1A0]=[00]。即所有引腳都是輸入,并且由于輸入的上拉電阻被激活,信號 HI 從所有輸入傳遞到 IC。當引腳 3 從主機接收到 LO 時(shí),信號傳遞到 3L8,然后到 3 位 LUT3 和 3L3 輸出也為低電平,因為信號低電平到達引腳 7 的 OE,這使得引腳 7 的狀態(tài)從輸入變?yōu)檩敵觥?span>LO 信號通過(guò)總線(xiàn) SDA0 傳播到外部設備。
當主機釋放通信總線(xiàn)時(shí),由于現有的上拉電阻,輸入變?yōu)?span> HI。然后 HI 傳遞到 3L8,后者反轉信號并將信號低電平傳遞到引腳 7 的 OE,從而導致引腳將其狀態(tài)從輸出更改為輸入。由于上拉電阻處于活動(dòng)狀態(tài),HI 被傳遞到外部設備,并在下降沿應用時(shí)間延遲,以便在接收新值之前為引腳提供足夠的時(shí)間來(lái)改變其 IO 狀態(tài)。
SCL 線(xiàn)路多路復用器
與 SDA 總線(xiàn)的多路復用器電路的設計一樣,SCL 總線(xiàn)的另一個(gè)多路復用器電路也采用相同的配置設計,其中引腳 6、17、18、19 和 20 被配置為作為數字輸入/輸出和內部上拉電阻在引腳上被激活。因此,通過(guò)引腳 6 來(lái)自主機的信號將根據 A1 和 A0 連接到引腳 17、18、19 和 20 之一。塊 3L11、3L12、3L13 和 2L0 用于構建 2 位解復用器,而塊 4L0、3L6 和 2L1 用于構建 2 位復用器,從而實(shí)現雙向通信。
圖 6:SCL 線(xiàn)路復用器設計
表 1:選擇輸入狀態(tài)
SLG46826 具有雙電源 V DD和 V DD2,這允許設計添加電平轉換作為多路復用器電路的另一個(gè)功能。引腳 3、6 和 7 由 V DD供電,而引腳13、15、16、17、18、19和 20 由 V DD2供電。因此,可以將此復用器電路用作通道 1、2、3 的電平轉換電路,而無(wú)需通道 0??梢詮捻椖啃畔⒅羞x擇所需的電壓(V DD和 V DD2)。
電平轉換功能
表 2:已實(shí)現多路復用器的 GreenPAK 引腳圖
結果
為確保設計按預期工作,該設計置于真實(shí)場(chǎng)景中:控制四個(gè)屏幕 (I 2 C-LCD),所有屏幕均具有相同的靜態(tài) I 2 C 地址。所有通信都來(lái)自一個(gè)主設備,在這種情況下,是一個(gè) Arduino 板。已經(jīng)為 Arduino 板編寫(xiě)了一個(gè)程序,它可以作為主機運行,并通過(guò) I 2 C 協(xié)議在每個(gè)屏幕上打印不同的短語(yǔ)。屏幕通過(guò) I 2 C 多路復用器電路和 Arduino 數字輸出在總線(xiàn)上互換,以控制 A0 和 A1。在每個(gè)打印指令之前,總線(xiàn)在屏幕之間多路復用。圖 7 描述了實(shí)施后的屏幕輸出。
圖 7:實(shí)施后的 I2C-LCD 輸出