【導(dǎo)讀】雙向總線(例如,I 2 C、SMBus 和 LIN)在當(dāng)今的電子產(chǎn)品中已變得無處不在,部分原因在于它們的簡(jiǎ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。
雙向總線介紹
雙向總線(例如,I 2 C、SMBus 和 LIN)在當(dāng)今的電子產(chǎn)品中已變得無處不在,部分原因在于它們的簡(jiǎ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的查詢
收到查詢后。在多主機(jī)場(chǎng)景中,充當(dāng)總線主機(jī)的各個(gè)設(shè)備需要執(zhí)行自己的總線仲裁。希望斷言對(duì)總線的控制的總線主機(jī)需要通過將其拉至 0 來對(duì)其進(jìn)行測(cè)試;這會(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ù)雜性。
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)聯(lián)系小編進(jìn)行處理。
推薦閱讀:
串聯(lián)連接的 MOSFET 可提高電壓和功率處理能力