數據多工器

維基百科,自由的百科全書
前往: 導覽搜尋
2選1數據多工器的結構簡圖,其功能類似一個雙擲的開關。

電子技術(特別是數位電路)中,數據多工器英語multiplexer,簡稱:MUX[1]),或稱多路復用器,是一種可以從多個輸入訊號中選擇一個訊號進行輸出的器件。

概述[編輯]

一個有2n輸入端的數據多工器有n個可選擇的輸入-輸出線路,可以通過控制端來選擇其中一個訊號被選擇作為輸出[1]。數據多工器使多個訊號共享一個設備或資源,例如一個類比數位轉換器或一個傳輸線,而不必給每一個輸入訊號配備一個設備。

結構圖[編輯]

在結構圖中,數據多工器的符號是一個等腰梯形,其中較長的底上為數個輸入引腳,較短的底上為一個輸出引腳。右圖即為一個2選1數據多工器的結構圖和其等效簡化圖。Sel引腳可以選擇需要的訊號。

此外,在很多數據多工器里,還有一個「使能」引腳用於控制器件的有效或者無效[2]

數位電路中的應用[編輯]

數位電路設計中,選擇端的輸入訊號是數位訊號。在2選1數據多工器的例子中,選擇端輸入低電平0,則輸出引腳會輸出\scriptstyle I_0上的輸入訊號;反之,當選擇短輸入高電平1,則輸出引腳會輸出\scriptstyle I_1上的輸入訊號。當輸入引腳的數目更多時,情況與上面類似,不過所需的選擇端引腳數目變為\scriptstyle \left \lceil \log_2(n) \right \rceil個,這裡\scriptstyle n是輸入引腳的個數。

一個2選1數據多工器,A,B,S和Z分別表示兩個輸入訊號、選擇訊號和輸出訊號。

一個2選1數據多工器有如下的布林函數\scriptstyle A\scriptstyle B分別表示兩個輸入訊號,\scriptstyle S為選擇訊號,\scriptstyle Z為輸出訊號,則有

Z = ( A \cdot \overline{S}) + (B \cdot S)

注意,並非所有的邏輯函數直接具有以上的形式,但是所有的邏輯函數都可以使用香農展開(Shannon's expansion)的方法將它變換為上面這種形式。邏輯函數Z可以用下面的真值表表示:

\scriptstyle S \scriptstyle A \scriptstyle B \scriptstyle Z
0 1 1 1
1 0 1
0 1 0
0 0 0
1 1 1 1
1 0 0
0 1 1
0 0 0

這個真值表顯示,當\scriptstyle S=0,那麼\scriptstyle Z=A;而當\scriptstyle S=1,則\scriptstyle Z=B。在具體的電路中,實現一個這樣的2選1數據多工器需要2個及閘、一個或閘和一個反閘

更大型的數據多工器也較常見,而且正如上面描述的,n個輸入引腳需要\scriptstyle \left \lceil \log_2(n) \right \rceil個選擇引腳。其他常見的類型有4選1、8選1和16選1等。由於數位邏輯採用二進制數位訊號,輸入引腳的個數通常是2的

4選1數據多工器的布林函數如下:

F = (A \cdot \overline{S_0} \cdot \overline{S_1}) + (B \cdot \overline {S_0} \cdot S_1) + (C \cdot S_0 \cdot \overline{S_1}) + (D \cdot S_0 \cdot S_1)

這樣的數據多工器可以由如下的電路實現:

Mux from 3 state buffers.png
兩種實現方式:
  • 由一個解碼器、幾個及閘、一個或閘實現
  • 由幾個三態門、幾個及閘(及閘充當解碼器)

注意:\scriptstyle I_n輸入引腳的下標表示選擇端所表示的二進制數的各位

晶片的級聯[編輯]

大型的數據多工器可以由較小的數據多工器級聯來實現[3]。例如,一個8選1數據多工器可以由兩個4選1數據多工器組成,一個4選1數據多工器可以由兩個2選1數據多工器組成。在前者中,兩個4選1選擇器的輸出端連接到2選1選擇器,並且兩個4選1選擇器和一個2選1選擇器的選擇端的引腳平行地接出,視為「8選1數據多工器」的「3個選擇引腳」。

數據選擇集成晶片[編輯]

7400系列有若干種積體電路具有數據多工器功能,列表如下[4]

IC 晶片代號 功能 輸出狀態
1 74157 四2選1數據多工器 輸出原變數
2 74158 四2選1數據多工器 輸出反變數
3 74153 雙4選1數據多工器 輸出原變數
4 74352 雙4選1數據多工器 輸出反變數
5 74151A 8選1數據多工器 輸出原變數/反變數
6 74151 8選1數據多工器 輸出反變數
7 74150 16選1數據多工器 輸出反變數

數據多工器作為可程式邏輯裝置[編輯]

數據多工器同樣可被用作可程式邏輯裝置。通過指定輸入訊號的排列,用戶可以創建一個定製的邏輯電路。選擇引腳充當了邏輯輸入的功能。當生產成本和模塊化有限的時候,這種方式十分有用。

硬體描述語言中,可以採用數據流或者行為語句對數據多工器進行描述。例如,在Verilog中,可以使用條件運算符条件?表达式1:表达式2或者使用if條件結構或case選擇結構來實現數據多工器。

參考文獻[編輯]

  1. ^ 1.0 1.1 What is a Multiplexer. wiseGEEK. 
  2. ^ 劉寶琴、王德生、羅嶸. 邏輯設計與數字系統. 北京: 清華大學出版社. : 61頁. ISBN 978-7-302-09320-6 (中文(中國大陸)‎). 
  3. ^ 劉寶琴、王德生、羅嶸. 邏輯設計與數字系統. 北京: 清華大學出版社. : 62頁. ISBN 978-7-302-09320-6 (中文(中國大陸)‎). 
  4. ^ 7400 Series Description. capetronics.com. 
  • M. Morris Mano; Charles R. Kime. Logic and Computer Design Fundamentals 4. Prentice Hall. 2008. ISBN 013198926X (英文). 

相關內容[編輯]