編碼器的定義與功能
1.4線-2線編碼器
在數字系統里,常常需要將某一信息(輸入)變換為某一特定的代碼(輸出)。把二進制碼按一定的規律編排,例如8421碼、格雷碼等,使每組代碼具有一特定的含義(代表某個數或控制信號)稱為編碼。具有編碼功能的邏輯電路稱為編碼器。編碼器有若干個輸入,在某一時刻只有一個輸入信號被轉換為二進制碼。例如8線-3線編碼器和10線-4線編碼器分別有8輸入、3位二進制碼輸出和10輸入A位二進制碼輸出。下面分析4輸入2位二進制碼輸出的編碼器的工作原理。
4線-2線編碼器的功能表如下:

由上表可知,該編碼器為高電平輸入有效,因而可由功能表得到如下邏輯表達式:

根據邏輯表達式畫出的邏輯圖,可實現功能表所列的功能:

4線-2線編碼器邏輯圖
這里還有一種情況需要注意:當I0為1,I1~I3都為0時和I0
~I3均為0時Y1Y0都是00,而這兩種情況在實際中是必須加以區分的,這個問題留待后面加以解決。當然,編碼器也可以設計為低電平有效。
2.鍵盤輸入8421BCD碼編碼器
計算機的鍵盤輸入邏輯電路就是由編碼器組成。

上圖為一個用十個按鍵和門電路組成的8421碼編碼器,其功能表如下:

其中S0~S9代表十個按鍵,即對應十進制數0~9的輸入鍵,它們對應的輸出代碼正好是8421BCD碼,同時也把它們作為邏輯變量,ABCD為輸出代碼(A為最高位),GS為控制使能標志。
對功能表和邏輯電路進行分析,都可得知:①該編碼器為輸入低電平有效;②在按下S0~S9中任意一個鍵時,即輸入信號中有一個為有效電平時GS=1,代表有信號輸入,而只有S0~S9均為高電平時GS=0
,代表無信號輸入,此時的輸出代碼0000為無效代碼。由此解決了前面提出的如何區分兩種情況下輸出都是全0的問題。
3.優先編碼器
上述機械式按鍵編碼電路雖然比較簡單,但當同時按下兩個或更多個鍵時,其輸出將是混亂的。在數字系統中,特別是在計算機系統中,常常要控制幾個工作對象,例如微型計算機主機要控制打印機、磁盤驅動器、輸入鍵盤等。當某個部件需要實行操作時,必須先送一個信號給主機(稱為服務請求),經主機識別后再發出允許操作信號(服務響應),并按事先編好的程序工作。這里會有幾個部件同時發出服務請求的可能,而在同一時刻只能給其中1個部件發出允許操作信號。因此,必須根據輕重緩急,規定好這些控制對象允許操作的先后次序,即優先級別。識別這類請求信號的優先級別并進行編碼的邏輯部件稱為優先編碼器。4線-2線優先編碼器的功能表如下:

分析該表中的I0~I3的優先級別,可以發現,對于I0,只有當I1,I2,I3均為0,即均無有效電平輸入,且I0為1時,輸出為00。對于I3,無論其他3個輸入是否為有效電平輸入,輸出均為11。由此可知I3的優先級別高于I0的優先級別,且這4個輸入的優先級別的高低次序依次為I3,I2,I1,I0。
由該功能表可以導出該優先編碼器的邏輯表達式為

由于這里包括了無關項,邏輯表達式比前面介紹的非優先編碼器簡單些。
|