三態邏輯
在數位電路中,三態邏輯(英語:tri-state logic 或 Three-state logic)允許輸出端在0和1兩種邏輯電平之外呈現高阻態,等效於將輸出的影響從後級電路中移除。這允許多個電路共同使用同一個輸出線(例如匯流排)。
輸入 | 輸出 | |
A | B | C |
0 | 1 | 0 |
1 | 1 | |
X | 0 | Z |
三態輸出在暫存器、匯流排以及7400系列、4000系列等各型號的邏輯IC發揮著重要的作用,並常常內建在其他各種積體電路。除此之外,三態邏輯的典型應用還包括微處理器、儲存裝置、外設的內部和外部匯流排。許多裝置提供一個OE(Output Enable)用於在低電平時才令輸出使能,而在不使能時保持高阻態。
應用
三態邏輯緩衝區還可以被用在數據多工器中,尤其是那些具有大量輸入的情況。[2]另外,三態邏輯對於匯流排的工作十分關鍵。 三態邏輯能夠減少用於驅動一系列發光二極體所用的導線數量。
輸出選擇和晶片選擇
許多設計為連接匯流排的儲存裝置(例如 RAM 和 ROM)同時具有CS(晶片選擇,chip select)和OE(輸出使能,output enable)引腳,它們起到的作用即產生三態邏輯。如果CS未與一個低電平連接,那麼將輸出高阻態。
不同之處在於輸出訊號所需的時間。當晶片選擇未被使能(CS連接高電平[3])時,晶片內部根本不工作,並且在提供位址和接收資料之間有顯著的時間延遲。當然,這樣的優點是在此情況中,晶片所消耗的功率最少。
當晶片選擇連接到一個低電平,那麼晶片內部將會進行預設的工作流程,只是因為輸出使能引腳未連接低電平,最後並未輸出對應的訊號。當匯流排正在進行其他工作的時候,這種特性將會起到作用,而當最後輸出使能連接到低電平之後,資料才會以最小延遲的狀態輸出。具有這樣的輸出使能引腳的 ROM 或者 SRAM 通常具有兩個存取時序:一個是晶片被選擇以及位址有效,另一個是輸出被使能。
上拉電阻和下拉電阻
當一節點所有相連的輸出都處於第三狀態(高阻態),它們對於電路其餘部門的影響就被消除了。如果沒有別的電路元素來決定其具體的狀態(高或者低),那麼其對應的電路節點會處於一種類似「浮動」的狀態。電路設計人員經常使用上拉電阻以及下拉電阻(通常為1至100 kΩ)讓這個處於三態的節點能有確定的預設邏輯狀態,防止狀態不定或感染雜訊。例如,I²C匯流排協定(一種常用的裝置間雙向通訊的協定)在兩條通訊線上使用了上拉電阻。當裝置處於非啟用狀態,它們「釋放」掉通訊線並使它們的輸出端呈現高阻態,這樣使它們的高低電平不影響其他電路。當匯流排上所有的裝置都「釋放」掉通訊線時,對輸出目標電路的唯一影響就是上拉電阻將輸出端的電平拉高。當一個裝置需要通訊時,這個輸出端脫離高阻態,並使得通訊線的輸出端電平降低。這時,通訊的裝置利用此協定將通訊的內容呈現在輸出端上——這樣將避免匯流排上一個裝置驅動高電平而另一個裝置驅動低電平的衝突。
PCI匯流排也提供了上拉電阻,但是它們要求在數個時鐘周期內將輸出訊號拉高,為了使得高速工作成為可能,其對應的工作協定要求每一個連接到匯流排上的裝置在至少一個時鐘周期的時間裡輸出控制訊號,然後才進入高阻態。這樣,上拉電阻的作用只是在面對串擾的情況下,維持匯流排的訊號。[4]
參考文獻
- ^ Tri-state是美國國家半導體的註冊商標,不過也經常用來描述任意製造商生產的這類產品。
- ^ Winfield Hill and Paul Horowitz. The Art of Electronics. Cambridge University Press. 1989: 495–497 [2011-12-01]. ISBN 0-521-37095-7. (原始內容存檔於2011-08-05).
- ^ 但如果不是CS而是CS,則連接高電平才是使能
- ^ "On-Chip Buses/Networks for SoC" (頁面存檔備份,存於網際網路檔案館) "On-Chip Buses [have] No use of tri-state signals [because] Tri-state bus is difficult for static timing analysis"