除了前面講過的編碼器、譯碼器,還有一種經常使用的集成組合邏輯電路器件,就是數據選擇器。數據選擇器的功能是根據地址選擇碼從多路輸入數據中選擇一路送到輸出。其作用可用圖1所示的單刀多擲開關表示。d0~d2n-1為輸入數據,y為選擇輸出的數據,s是選擇開關,實際上是n位地址信號,最大可以控制選擇的數據為2n個。
圖1 數據選擇器的功能示意圖
1、數據選擇器的工作原理
常用的數據選擇器有4選1、8選1、16選1等多種類型。下面以4選1數據選擇器為例介紹數據選擇器的工作原理。
根據前面介紹的數據選擇器的功能,可以列出4選1數據選擇器的邏輯功能表,如表5-7-1所示。其中d0~d3為數據輸入端,a0、a1為數據選擇端。
表5-7-1 4選1數據選擇器的邏輯功能表
地址輸入
輸出
a1
a0
y
0
0
d0
0
1
d1
1
0
d2
1
1
d3
由邏輯功能表可以寫出輸出與輸入之間的表達式為
(1)
由邏輯表達式畫出4選1數據選擇器邏輯電路2所示。
圖2 4選1數據選擇器的邏輯電路圖
74ls153是一種集成的雙4選1數據選擇器邏輯器件。圖3所示為74ls153的邏輯電路圖和框圖。
圖3 74ls153雙4選1數據選擇器
由圖3(a)可知,74ls153的邏輯電路中包含兩個4選1數據選擇器,它們的數據輸入端分別為d10、d11、d12、d13和d20、d21、d22、d23,數據輸出端分別為y1和y2。它們有公共的地址選擇輸入端a0、a1。除此之外,還各自有有一個使能控制端和。由圖3(a)可以寫出輸入與輸出之間的邏輯函數式為
(2)
由式(2)可以看出,只有當使能控制端=0、=0時,數據選擇器才能正常工作,否則數據輸出端鎖定在低電平。故使能控制端為低電平有效。
74ls153的邏輯功能表如表2所示。
表2 74ls153的邏輯功能表
控制端
地址輸入
輸出
a1
a0
y
1
×
×
0
0
0
0
d0
0
0
1
d1
0
1
0
d2
0
1
1
d3
2、數據選擇器的應用
(1)數據選擇器的擴展應用
可以用多片少數據輸入的數據選擇器設計多數據輸入的數據選擇器。
例1:用74ls153設計一個8選1的數據選擇器。
解:74ls153是一個雙4選1數據選擇器。有兩個公用的地址選擇輸入端,8個數據輸入端。8選1數據選擇器需要3個地址輸入端(23=8),因此需要用使能控制端來補充地址輸入端的不足。用雙4選1數據選擇器芯片74ls153設計的8選1數據選擇器的電路如圖4所示。
圖4 用雙4選1數據選擇器接成8選1數據選擇器的電路圖
當a2=0時,上邊的4選1數據選擇器工作,根據地址輸入端a0、a1的狀態(tài),輸出端y1選擇輸出d0~d3,此時y2=0,故y=y1;當a2=1時,下邊的4選1數據選擇器工作,根據地址輸入端a0、a1的狀態(tài),輸出端y2選擇輸出d4~d7,此時y1=0,故y=y2。邏輯函數式為
(3)
也可以添加使能控制端對所接成的8選1數據選擇器的工作狀態(tài)進行控制。
添加使能控制端的8選1數據選擇器的電路如圖5所示。
圖5 有使能控制端的8選1數據選擇器框圖
由圖5可知,當=0 時,8選1數據選擇器正常工作;當=1時,8選1數據選擇器的輸出被鎖定在低電平。
(2)用數據選擇器設計組合邏輯電路
由表2可知,具有兩位地址輸入a0、a1的4選1數據選擇器,當使能控制端=0時,輸出與輸入之間的邏輯關系式為
(4)
若將a0、a1作為兩個輸入變量,同時令d0~d3為第三個變量的適當狀態(tài)(包括原變量、反變量、0和1),就可以用4選1數據選擇器實現任何形式的三變量組合邏輯函數。
同理,用由n位地址輸入端的數據選擇器可以實現任何形式的變量數不大于n+1的組合邏輯函數。
例2:用4選1數據選擇器實現以下組合邏輯函數:
(5)
解:將式(4)化成與式(5)相對應的形式:
(6)
將式(6)與式(4)比較可知,只要令數據選擇器的數據輸入端為
、、、、、
則數據選擇器的輸出就是所要表達的組合邏輯函數。