在電子技術(特別是數碼電路)中,數據多工器(英語:Data Selector),或稱多路復用器(英語:multiplexer,簡稱:MUX[1]),是一種可以從多個模擬或數碼輸入訊號中選擇一個訊號進行輸出的元件。[2] 一個有 2n 輸入端的數據多工器有 n 個可選擇的輸入-輸出線路,可以通過控制端來選擇其中一個訊號被選擇作為輸出。[3] 數據多工器主要用於增加一定量的時間和帶寬內的可以通過網絡發送的數據量。[2]
數據多工器使多個訊號共享一個設備或資源,例如一個模擬數碼轉換器或一個傳輸線,而不必給每一個輸入訊號配備一個設備。
結構圖
在結構圖中,數據多工器的符號是一個等腰梯形,其中較長的底上為數個輸入引腳,較短的底上為一個輸出引腳。右圖即為一個2選1數據多工器的結構圖和其等效簡化圖。Sel引腳可以選擇需要的訊號。
此外,在很多數據多工器里,還有一個「使能」引腳用於控制元件的有效或者無效[4]。
數碼電路中的應用
在數碼電路設計中,選擇端的輸入訊號是數碼訊號。在2選1數據多工器的例子中,選擇端輸入低電平0,則輸出引腳會輸出上的輸入訊號;反之,當選擇端輸入高電平1,則輸出引腳會輸出上的輸入訊號。當輸入引腳的數目更多時,情況與上面類似,不過所需的選擇端引腳數目變為個,這裏是輸入引腳的個數。
一個2選1數據多工器有如下的布林函數,和分別表示兩個輸入訊號,為選擇訊號,為輸出訊號,則有
注意,並非所有的邏輯函數直接具有以上的形式,但是所有的邏輯函數都可以使用香農展開(Shannon's expansion)的方法將它變換為上面這種形式。邏輯函數可以用下面的真值表表示:
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 |
這個真值表顯示,當,那麼;而當,則。在具體的電路中,實現一個這樣的2選1數據多工器需要2個與門、一個或門和一個非門。
更大型的數據多工器也較常見,而且正如上面描述的,個輸入引腳需要個選擇引腳。其他常見的類型有4選1、8選1和16選1等。由於數碼邏輯採用二進制的數碼訊號,輸入引腳的個數通常是2的冪。
-
4選1數據多工器
-
8選1數據多工器
-
16選1數據多工器
4選1數據多工器的布林函數如下:
這樣的數據多工器可以由如下的電路實現:
|
大型的數據多工器可以由較小的數據多工器級聯來實現[5]。例如,一個8選1數據多工器可以由兩個4選1數據多工器組成,一個4選1數據多工器可以由兩個2選1數據多工器組成。在前者中,兩個4選1選擇器的輸出端連接到2選1選擇器,並且兩個4選1選擇器和一個2選1選擇器的選擇端的引腳平行地接出,視為「8選1數據多工器」的「3個選擇引腳」。
7400系列有若干種集成電路具有數據多工器功能,列表如下[6]:
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
選擇結構來實現數據多工器。
參考文獻
相關內容
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.