【導讀】雙向總線(例如,I 2 C、SMBus 和 LIN)在當今的電子產品中已變得無處不在,部分原因在于它們的簡單性。僅使用兩條線——數(shù)據線和時鐘線——多個設備就可以相互通信。根據I 2 C總線規(guī)范,多128個設備可以共享相同的數(shù)據和時鐘線;這是通過在每個設備上使用外部上拉電阻和開漏驅動器來實現(xiàn)的。如果沒有設備在傳輸 0,則總線自然會被上拉電阻拉到 1。但是,總線上的任何設備都可以將其拉為 0。
雙向總線介紹
雙向總線(例如,I 2 C、SMBus 和 LIN)在當今的電子產品中已變得無處不在,部分原因在于它們的簡單性。僅使用兩條線——數(shù)據線和時鐘線——多個設備就可以相互通信。根據I 2 C總線規(guī)范,多128個設備可以共享相同的數(shù)據和時鐘線;這是通過在每個設備上使用外部上拉電阻和開漏驅動器來實現(xiàn)的。如果沒有設備在傳輸 0,則總線自然會被上拉電阻拉到 1。但是,總線上的任何設備都可以將其拉為 0。
允許總線master隨時驅動總線,slave在一定時間內響應總線master的查詢
收到查詢后。在多主機場景中,充當總線主機的各個設備需要執(zhí)行自己的總線仲裁。希望斷言對總線的控制的總線主機需要通過將其拉至 0 來對其進行測試;這會通知其他主設備正在使用總線。
為什么拆分雙向總線?
I 2 C 總線規(guī)范 [1] 包含一個參考電路,允許將其分為輸入和輸出對。出于多種原因需要此配置。首先,在安全、噪聲和接地問題的情況下,分離總線可用于光學隔離總線主機和從機(圖 1 )。此外,可以通過放大分離總線(圖 2)或用執(zhí)行媒體轉換的電路替換放大器來實現(xiàn)性能提升。這可以增加總線的工作距離,并通過減少電容來提高性能。隨著電容下降,信號時間常數(shù) t 將由上拉電阻決定。
圖 1 雙向總線隔離
圖2 雙向總線中繼器
對于那些設計雙向總線控制器的人,可以使用總線拆分技術進行調試。雙向協(xié)議的典型調試變得困難,因為行為不當?shù)目刂破骺赡軐⒖偩€拉到 0,而另一個控制器正在斷言對總線的控制。這種情況使得在不知道每個設備控制器的內部狀態(tài)的情況下不可能識別總線上的傳輸設備。然而,通過監(jiān)控圖 2中的 /gateB1 和 /gateA2 線路, 可以僅使用標準實驗室設備和調試技術來識別傳輸設備和總線的任何同時斷言。
總線拆分技術可用于將支持 I 2 C 的設備連接到另一個沒有 I 2 C 控制器的設備。在這種情況下,分離總線可以連接到其他設備的 GPIO(圖 3)。
圖 3 連接到 GPIO 的拆分總線
有幾個已發(fā)布的電路可以拆分雙向總線。不幸的是,用于分離總線應用的參考電路要么需要為特定應用專門設計的電路(如 見于已發(fā)表的文章),或需要使用傳輸門的外部控制邏輯(如 I 2C 標準中所示)允許發(fā)送器和接收器進行通信,而不會創(chuàng)建導致閂鎖的反饋路徑。閂鎖情況在圖 2中很明顯,其中 IOA 將總線拉至 0 迫使 IOB 通過 /gateB1 拉至 0,然后強制 IOA 通過 /gateA2 無限期拉至 0。
本設計理念中介紹的雙邊仲裁器可以將雙向總線拆分為發(fā)送和接收對,并以通用方式構建,使其可用于任何拆分總線應用。此外,它不需要外部控制邏輯——總線僅由數(shù)據總線的狀態(tài)控制:
圖 4 雙邊仲裁器使能電路
雙邊仲裁
圖 5中所示的仲裁器由圖 4中的交叉耦合使能電路組成,之所以起作用,是因為根據定義,雙向總線僅支持半雙工通信。在穩(wěn)定狀態(tài)下,DATA 總線被上拉電阻 R1 和 R2 拉高,迫使 OUT1 和 OUT2 為 0。這使兩個 NMOS FET 都處于截止狀態(tài)。當IC1拉低DATA時,OUT1變?yōu)?,使Q2拉低IC2的DATA總線。同時,OUT1 被饋送到或非門 U2 的輸入端,斷開從 OUT2 返回到 Q1 的反饋回路。反饋回路的這種中斷消除了閉鎖條件,使得任何其他控制邏輯都變得不必要,因為個斷言其數(shù)據線的電路贏得了比賽,并通過或非門阻塞了另一個電路。
圖5 雙向總線的雙邊仲裁
圖 6 雙邊仲裁啟用總線放大
由于電路的通用性,雙邊仲裁可應用于任何拆分總線應用。圖 6 顯示了應用于放大的雙邊仲裁。通過分別用媒體轉換電路或光隔離器替換放大器組件,這可以很容易地擴展到媒體轉換和總線隔離。出于調試總線控制器的目的,可以監(jiān)控放大器之間的線路以幫助識別故障總線控制器。圖 7 顯示了應用于 I 2 C 到 GPIO 連接的雙邊仲裁。
圖 7 I 2 C 到 GPIO 連接
結論
將雙向總線分成發(fā)送/接收對有多種原因。從提高性能到啟用調試再到隔離,總線分離是一種許多設計人員都曾發(fā)現(xiàn)有用的技術。
雙邊仲裁是一種總線仲裁技術,可實現(xiàn)大多數(shù)總線拆分應用。它依賴于雙向總線通信的行為來消除對外部控制電路的需求,并且足夠通用以用于許多應用程序而不會增加不必要的復雜性。
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯(lián)系小編進行處理。
推薦閱讀: