編碼
在數(shù)字系統(tǒng)里,常常需要將某一信息變換為某一特定的代碼,把二進制代碼按一定的規(guī)律編排,時每組代碼具有一定的含義稱為編碼。具有編碼功能的邏輯電路稱之為編碼器。在二值邏輯電路中信號都是以高、低電平的形式給出的,因此編碼器的邏輯功能就是把輸入的每一個高、低電平信號編輯成一個對應的二進制代碼。
一、 普通編碼器
1. 下面給出4線——2線編碼器的功能表
|
輸入 |
輸出 |
|
I0 |
I1 |
I2 |
I3 |
Y1 |
Y2 |
|
1 |
0 |
0 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
0 |
1 |
|
0 |
0 |
1 |
0 |
1 |
0 |
|
0 |
0 |
0 |
1 |
1 |
1 |
注:功能表與真值表的區(qū)別
根據(jù)上表,編碼器為高電平有效,因而可由功能表得到表達式:

注:“x” 表示約束項此處約束項為零
根據(jù)邏輯表達式畫出邏輯圖 :
4線——2線編碼器邏輯圖
該邏輯電路功能:
中在某一輸入為1時,輸出
即為相應的代碼。例如 當
為1時,
為01。需要注意,當
,
都為0和
均為0時,
都是00,而這兩種情況在實際中是必須加以區(qū)分的。編碼器也可以設計為低電平有效。由于我們給出的編碼器輸入
共4個電平信號,輸出
、
是兩位二進制代碼,為此叫做4/2線編碼器。
編碼器的這種思想是否真正掌握了呢?試寫出8/3線編碼器對應的輸入——輸出關系。
|
輸入 |
輸出 |
|
I0 |
I1 |
I2 |
I3 |
I4 |
I5 |
I6 |
I7 |
Y0 |
Y1 |
Y2 |
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
|
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
(上表假設高電平有效)
2. 鍵盤輸入8421BCD碼編碼器
用十個按鍵和門電路組成的8421BCD碼編碼器
注:這里是低電平有效,GS為控制使能標志,也就是解決了
和
而
時輸出都為ABCD=0000的情況。
二、 優(yōu)先編碼器
上述機械式按鍵編碼電路雖然比較簡單,但同時按下兩個或更多個按鍵時,輸出將混亂,而在優(yōu)先編碼器電路中,允許同時輸入兩個以上編碼信號。不過在設計優(yōu)先編碼器時已經(jīng)將所有的輸入信號按優(yōu)先順序排了隊,當幾個輸入信號同時出現(xiàn)時,只對其中優(yōu)先權最高的一個進行編碼。
4/2線優(yōu)先編碼器功能表如下(高電平有效):從表中可以看出:對于
,只有當
、
、
均為0,即均無有效電平輸入,且
(有效電平)時輸出為00。而對于
,無論其他3個輸入是否為有效電平輸入,輸出均為11。由此可以判斷優(yōu)先次序
。通過化簡可以得出邏輯表達式:
三、 集成電路編碼器
1. 集成優(yōu)先編碼器74LS148邏輯圖 如下
(a)邏輯圖 (b)引腳圖
優(yōu)先編碼器74148邏輯圖和引腳圖
工作原理分析:
① EI=1時,則不論輸入
八個端為何種狀態(tài),
都為高電平,且EO=1,GS=1(此時編碼器處于不工作狀態(tài))
② EI=0時
Ⅰ.
均為高電平,GS=1時A2A1A0=111為非編碼輸出(工作,但無有效輸入請求)。這種情況EO=0,此時它可與另一片同樣的器件的EI連接,以便組成更多輸入端的優(yōu)先編碼器。
Ⅱ. 只有
(優(yōu)先級別最低位有低電平輸入時)GS=0,A2A1A0=111為編碼輸出。
優(yōu)先編碼器74148功能表
|
輸入 |
輸出 |
|
EI |
I0 |
I1 |
I2 |
I3 |
I4 |
I5 |
I6 |
I7 |
A2 |
A1 |
A0 |
GS |
EO |
|
1 |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
1 |
1 |
1 |
1 |
|
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
|
0 |
x |
x |
x |
x |
x |
x |
x |
0 |
0 |
0 |
0 |
0 |
1 |
|
0 |
x |
x |
x |
x |
x |
x |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
|
0 |
x |
x |
x |
x |
x |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
|
0 |
x |
x |
x |
x |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
|
0 |
x |
x |
x |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
|
0 |
x |
x |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
|
0 |
x |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
|
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
從功能表可以看出,輸入端優(yōu)先級別的次序依次為I7,I6,…,I0 。當某一輸入端有低電平輸入,且比它優(yōu)先級別高的輸入端無低電平輸入時,輸出端才輸出對應該輸入端的代碼。例如:I5=0且I6=I7=1(I6、I7優(yōu)先級別高于I5) 則此時輸出代碼010 ( 為
的反碼)這就是優(yōu)先編碼器的工作原理。(從優(yōu)先編碼其邏輯圖可以分析)
2. 編碼器擴展
用兩片74LS148組成16位輸入4為二進制碼輸出的優(yōu)先編碼器,試分析其工作原理:
用兩片74LS148接成的16線-4線優(yōu)先編碼器
(1)當EI2=1時,EO2=1,從而使EI1=1,這時74LS148(Ⅰ)、(Ⅱ)均禁止編碼,它們的輸出端A2A1A0=111。由電路圖可知,
,表示此時整個電路的代碼輸出端DCBA=1111是非編碼輸出。
(2)當EI2=0時,高位片(Ⅱ)允許編碼,但若
都是高電平,即均無編碼請求,則EO2=0,從而EI1=0,允許低位片(Ⅰ)編碼,這是高位片的A2A1A0=111,使門C、B、A 取決于低位片的A2A1A0。而
,總是等于1,所以輸出代碼在1111~1000之間變化。如果A0單獨有效,輸出為1111;如果A7及任意其他輸入同時有效,則輸出為1000,低位片以A7的優(yōu)先級別最高。
(3)當EI2=0且
中有編碼請求(至少一個位低電平時),EO2=1,從而EI1=1,高位片編碼,低位片禁止編碼。顯然高位片的編碼級別優(yōu)先于低位片。此時
,C、B、A取決于高位片的A2A1A0。輸出代碼在0111~0000之間變化,同理可知,高位片中
的優(yōu)先級別最高。整個電路實現(xiàn)了16位輸入的優(yōu)先編碼,其中
具有最高優(yōu)先級別,優(yōu)先級別從
依次遞減。