新聞中心

EEPW首頁 > 元件/連接器 > 設(shè)計(jì)應(yīng)用 > 拆分和仲裁雙向串行總線

拆分和仲裁雙向串行總線

作者: 時(shí)間:2023-03-27 來源: 收藏

雙向總線(例如,I 2 C、SMBus 和 LIN)在當(dāng)今的電子產(chǎn)品中已變得無處不在,部分原因在于它們的簡單性。僅使用兩條線——數(shù)據(jù)線和時(shí)鐘線——多個(gè)設(shè)備就可以相互通信。根據(jù)I 2 C總線規(guī)范,多128個(gè)設(shè)備可以共享相同的數(shù)據(jù)和時(shí)鐘線;這是通過在每個(gè)設(shè)備上使用外部上拉電阻和開漏驅(qū)動(dòng)器來實(shí)現(xiàn)的。如果沒有設(shè)備在傳輸 0,則總線自然會(huì)被上拉電阻拉到 1。但是,總線上的任何設(shè)備都可以將其拉為 0。

本文引用地址:http://www.butianyuan.cn/article/202303/444906.htm


雙向總線介紹

雙向總線(例如,I 2 C、SMBus 和 LIN)在當(dāng)今的電子產(chǎn)品中已變得無處不在,部分原因在于它們的簡單性。僅使用兩條線——數(shù)據(jù)線和時(shí)鐘線——多個(gè)設(shè)備就可以相互通信。根據(jù)I 2 C總線規(guī)范,多128個(gè)設(shè)備可以共享相同的數(shù)據(jù)和時(shí)鐘線;這是通過在每個(gè)設(shè)備上使用外部上拉電阻和開漏驅(qū)動(dòng)器來實(shí)現(xiàn)的。如果沒有設(shè)備在傳輸 0,則總線自然會(huì)被上拉電阻拉到 1。但是,總線上的任何設(shè)備都可以將其拉為 0。

允許總線master隨時(shí)驅(qū)動(dòng)總線,slave在一定時(shí)間內(nèi)響應(yīng)總線master的查詢


3-0.jpg


收到查詢后。在多主機(jī)場景中,充當(dāng)總線主機(jī)的各個(gè)設(shè)備需要執(zhí)行自己的總線仲裁。希望斷言對(duì)總線的控制的總線主機(jī)需要通過將其拉至 0 來對(duì)其進(jìn)行測試;這會(huì)通知其他主設(shè)備正在使用總線。

為什么拆分雙向總線?

I 2 C 總線規(guī)范 [1] 包含一個(gè)參考電路,允許將其分為輸入和輸出對(duì)。出于多種原因需要此配置。首先,在安全、噪聲和接地問題的情況下,分離總線可用于光學(xué)隔離總線主機(jī)和從機(jī)(圖 1 )。此外,可以通過放大分離總線(圖 2)或用執(zhí)行媒體轉(zhuǎn)換的電路替換放大器來實(shí)現(xiàn)性能提升。這可以增加總線的工作距離,并通過減少電容來提高性能。隨著電容下降,信號(hào)時(shí)間常數(shù) t 將由上拉電阻決定。


 拆分和仲裁雙向串行總線
圖 1  雙向總線隔離



 拆分和仲裁雙向串行總線
圖2  雙向總線中繼器


對(duì)于那些設(shè)計(jì)雙向總線控制器的人,可以使用總線拆分技術(shù)進(jìn)行調(diào)試。雙向協(xié)議的典型調(diào)試變得困難,因?yàn)樾袨椴划?dāng)?shù)目刂破骺赡軐⒖偩€拉到 0,而另一個(gè)控制器正在斷言對(duì)總線的控制。這種情況使得在不知道每個(gè)設(shè)備控制器的內(nèi)部狀態(tài)的情況下不可能識(shí)別總線上的傳輸設(shè)備。然而,通過監(jiān)控圖 2中的 /gateB1 和 /gateA2 線路, 可以僅使用標(biāo)準(zhǔn)實(shí)驗(yàn)室設(shè)備和調(diào)試技術(shù)來識(shí)別傳輸設(shè)備和總線的任何同時(shí)斷言。

總線拆分技術(shù)可用于將支持 I 2 C 的設(shè)備連接到另一個(gè)沒有 I 2 C 控制器的設(shè)備。在這種情況下,分離總線可以連接到其他設(shè)備的 GPIO(圖 3)。


拆分和仲裁雙向串行總線
圖 3  連接到 GPIO 的拆分總線


有幾個(gè)已發(fā)布的電路可以拆分雙向總線。不幸的是,用于分離總線應(yīng)用的參考電路要么需要為特定應(yīng)用專門設(shè)計(jì)的電路(如 見于已發(fā)表的文章),或需要使用傳輸門的外部控制邏輯(如 I 2C 標(biāo)準(zhǔn)中所示)允許發(fā)送器和接收器進(jìn)行通信,而不會(huì)創(chuàng)建導(dǎo)致閂鎖的反饋路徑。閂鎖情況在圖 2中很明顯,其中 IOA 將總線拉至 0 迫使 IOB 通過 /gateB1 拉至 0,然后強(qiáng)制 IOA 通過 /gateA2 無限期拉至 0。

本設(shè)計(jì)理念中介紹的雙邊仲裁器可以將雙向總線拆分為發(fā)送和接收對(duì),并以通用方式構(gòu)建,使其可用于任何拆分總線應(yīng)用。此外,它不需要外部控制邏輯——總線僅由數(shù)據(jù)總線的狀態(tài)控制:


拆分和仲裁雙向串行總線
圖 4  雙邊仲裁器使能電路


雙邊仲裁

圖 5中所示的仲裁器由圖 4中的交叉耦合使能電路組成,之所以起作用,是因?yàn)楦鶕?jù)定義,雙向總線僅支持半雙工通信。在穩(wěn)定狀態(tài)下,DATA 總線被上拉電阻 R1 和 R2 拉高,迫使 OUT1 和 OUT2 為 0。這使兩個(gè) NMOS FET 都處于截止?fàn)顟B(tài)。當(dāng)IC1拉低DATA時(shí),OUT1變?yōu)?,使Q2拉低IC2的DATA總線。同時(shí),OUT1 被饋送到或非門 U2 的輸入端,斷開從 OUT2 返回到 Q1 的反饋回路。反饋回路的這種中斷消除了閉鎖條件,使得任何其他控制邏輯都變得不必要,因?yàn)閭€(gè)斷言其數(shù)據(jù)線的電路贏得了比賽,并通過或非門阻塞了另一個(gè)電路。


拆分和仲裁雙向串行總線
圖5  雙向總線的雙邊仲裁

 拆分和仲裁雙向串行總線
圖 6  雙邊仲裁啟用總線放大


由于電路的通用性,雙邊仲裁可應(yīng)用于任何拆分總線應(yīng)用。圖 6 顯示了應(yīng)用于放大的雙邊仲裁。通過分別用媒體轉(zhuǎn)換電路或光隔離器替換放大器組件,這可以很容易地?cái)U(kuò)展到媒體轉(zhuǎn)換和總線隔離。出于調(diào)試總線控制器的目的,可以監(jiān)控放大器之間的線路以幫助識(shí)別故障總線控制器。圖 7 顯示了應(yīng)用于 I 2 C 到 GPIO 連接的雙邊仲裁。


拆分和仲裁雙向串行總線
圖 7  I 2 C 到 GPIO 連接


結(jié)論

將雙向總線分成發(fā)送/接收對(duì)有多種原因。從提高性能到啟用調(diào)試再到隔離,總線分離是一種許多設(shè)計(jì)人員都曾發(fā)現(xiàn)有用的技術(shù)。

雙邊仲裁是一種總線仲裁技術(shù),可實(shí)現(xiàn)大多數(shù)總線拆分應(yīng)用。它依賴于雙向總線通信的行為來消除對(duì)外部控制電路的需求,并且足夠通用以用于許多應(yīng)用程序而不會(huì)增加不必要的復(fù)雜性。



關(guān)鍵詞: 串行總線

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉