雙向總線(例如,I 2 C,SMBus和LIN)在今天已經無處不在電子產品部分原因在于其簡潔性。僅使用兩條線 - 數據和時鐘 - 多個設備可以相互通信。根據I 2 C總線規范,多達128個設備可以共享相同的數據和時鐘線;這可以通過在每個器件上使用外部上拉電阻和開漏驅動器來實現。如果沒有設備發送0,則總線通過上拉電阻自然地拉至1。但是,總線上的任何器件都可以將其拉至0.
允許總線主控器隨時驅動總線,并且從器件在一定時間內響應總線主控器的查詢。在多主方案中,作為總線主控的各個設備需要執行自己的總線仲裁。希望對總線進行控制的總線主控器需要將其拉至0進行測試;這通知其他主設備正在使用總線。
為什么要拆分雙向總線?
I 2 C總線規范[1]包含一個參考電路,允許它分成輸入和輸出對。出于若干原因需要此配置。首先,在安全,噪聲和接地問題的情況下,分離總線可用于光學隔離總線主機和從機(圖1)。此外,通過放大分離總線(圖2)或用執行介質轉換的電路替換放大器,可以實現性能提升。這可以增加總線的工作距離并通過減小電容來提高性能。隨著電容下降,信號時間常數t由上拉電阻控制。
圖1雙向總線隔離
圖2雙向總線中繼器
對于那些設計雙向總線控制器的人,可以使用總線分流技術進行調試。雙向協議的典型調試變得困難,因為行為不當的控制器可以將總線拉到0而另一個控制器斷言對總線的控制。這種情況使得在不知道每個設備的控制器的內部狀態的情況下識別總線上的發送設備是不可能的。但是,通過圖2監控/gateB1和/gateA2線路,可以僅使用標準實驗室設備和調試技術識別發送設備和總線的任何同時斷言。
最后,總線分離技術可用于將I 2 C支持的設備連接到另一個沒有I 2 C控制器的設備。在這種情況下,分離總線可以連接到另一個設備的GPIO(圖3)。
圖3與GPIO接口的分離總線
有幾個已發布的電路能夠拆分雙向總線。不幸的是,用于分離總線應用的參考電路要么需要為特定應用專門設計的電路(如發表的文章中所見),或者需要外部控制邏輯(如I 2中所見) C標準)使用傳輸門允許發送器和接收器進行通信,而不會產生導致閉鎖的反饋路徑。閉鎖條件在圖2中很明顯,其中IOA將總線拉至0迫使IOB通過/gateB1拉至0,然后迫使IOA通過/gateA2無限期地拉到0。
本設計方案中介紹的雙邊仲裁器可以將雙向總線分成發送和接收對,并以通用方式構建,允許它用于任何分離總線應用。此外,它不需要外部控制邏輯 - 總線僅由數據總線的狀態控制:
圖4雙邊仲裁者啟用電路
雙邊仲裁
圖5 中所示的仲裁器,包括來自圖4的交叉耦合使能電路,因為根據定義,雙向總線僅支持半雙工通信。在穩定狀態下,DATA總線通過上拉電阻R1和R2拉高,強制OUT1和OUT2為0.這使兩個NMOS FET保持在截止狀態。當IC1將DATA拉低時,OUT1變為1,這使得Q2下拉IC2的DATA總線。同時,OUT1被饋送到NOR門U2的輸入端,將反饋回路從OUT2斷開回Q1。這種反饋環路的中斷消除了閉鎖條件,使得任何其他控制邏輯都不必要,因為斷言其數據線的第一個電路贏得競爭并通過NOR門阻斷另一個電路。
圖5雙向總線的雙邊仲裁
圖6雙邊仲裁啟用總線放大
由于電路的通用性,雙邊仲裁可以應用于任何分離總線應用。圖6顯示應用于擴增的雙邊仲裁。通過分別用介質轉換電路或光隔離器替換放大器組件,可以很容易地將其擴展到介質轉換和總線隔離。對于總線控制器調試目的,可以監視放大器之間的線路,以幫助識別故障總線控制器。圖7顯示雙邊仲裁適用于I 2 C-to-GPIO連接。
圖7I 2 C到GPIO的連接
結論
將雙向總線分成發送/接收對有幾個原因。從提高性能到啟用調試再到隔離,總線分離是許多設計人員隨時都會發現有用的技術。
雙邊仲裁是一種總線仲裁技術,可實現大多數總線分裂應用。它依賴于雙向總線通信的行為來消除對外部控制電路的需求,并且通用性足以用于許多應用而不會增加不必要的復雜性。
-
總線
+關注
關注
10文章
2955瀏覽量
89447 -
PCB打樣
+關注
關注
17文章
2977瀏覽量
22389 -
華強PCB
+關注
關注
8文章
1831瀏覽量
28479 -
華強pcb線路板打樣
+關注
關注
5文章
14629瀏覽量
43787
發布評論請先 登錄
IIC總線簡介

一款RAM雙向數據總線電路分享
I2C總線簡介
?IIC總線簡介
PCA9306 I2C總線和SMBus雙向電平轉換器簡介
PCA9564 并行總線轉I2C總線接口芯片簡介
PCA9665并行總線轉I2C總線接口芯片簡介
PCF8584 并行總線轉I2C總線接口芯片簡介
CAN總線系統測試技術簡介
基于LTC4310設計的絕緣雙向I2C總線通信技術

評論