數位電子學 - 優先編碼器



在數位電子學中,編碼器是一種組合邏輯電路,它接收十進位制數字和字母字元作為輸入,併產生輸入的編碼表示作為輸出。換句話說,將數字和符號轉換為其對應編碼格式的電子組合電路稱為編碼器。編碼器執行的操作稱為編碼,這是一個將熟悉的數字和字元轉換為其等效程式碼的過程。

編碼器具有2n個輸入線和n個輸出線。一次只有一個2n個輸入線被啟用。編碼器的編碼輸出取決於啟用的輸入線。有幾種型別的編碼器可用,例如“八進位制到二進位制編碼器”、“十進位制到BCD編碼器”、“鍵盤編碼器”等。

什麼是優先編碼器?

對於普通編碼器,在任何給定時間只能啟用一個十進位制輸入。但在某些實際數字系統中,兩個或多個十進位制輸入可能會意外地同時啟用,這可能會導致混淆。例如,在鍵盤上,使用者在釋放另一個鍵2之前按下鍵4。在這種情況下,輸出將對應於(6)10,而不是(4)10或(2)10。這種問題可以用優先編碼器來解決。

在數位電子學中,一種組合邏輯電路,它只對所有可能同時啟用的輸入中的一個輸入產生響應,稱為優先編碼器。為此,它使用優先順序系統,因此得名。

一個最常用的優先順序系統是基於輸入的相對大小。根據優先順序系統,所有同時輸入中具有最大值的十進位制輸入將被編碼。因此,根據此優先順序編碼系統,如果4和2同時啟用,優先編碼器將編碼4。

在某些實際系統中,優先編碼器有幾個輸入,這些輸入通常同時啟用。在這種情況下,編碼器的主要功能是選擇具有最高優先順序的輸入。優先編碼器的此功能稱為仲裁。例如,在計算機系統中,連線了多個輸入裝置,並且其中幾個可能嘗試同時向系統提供資料。在這種情況下,優先編碼器負責啟用所有輸入裝置中優先順序最高的輸入裝置。

優先編碼器的型別

有幾種型別的優先編碼器。下面列出並解釋了一些最重要的優先編碼器型別。

  • 4輸入優先編碼器
  • 十進位制到BCD優先編碼器
  • 八進位制到二進位制優先編碼器

讓我們詳細討論每種型別的優先編碼器。

4輸入優先編碼器

4輸入優先編碼器的邏輯電路如圖1所示。

4-Input Priority Encoder

它有三個輸出,分別用A、B和V表示。其中,A和B是普通輸出,V是充當有效位指示器的輸出。當一個或多個輸入等於1時,此第三個輸出V設定為1。當編碼器的所有輸入都等於0時,沒有有效的輸入,因此輸出V設定為0。當V等於0時,編碼器的另外兩個輸出,即A和B是不確定的。因此,當V等於0時,輸出A和B指定為“無關項”。

4輸入優先編碼器的真值表如下所示。

輸入 (X = 無關項) 輸出
I0 I1 I2 I3 A B V
0 0 0 0 X X 0
1 0 0 0 0 0 1
X 1 0 0 0 1 1
X X 1 0 1 0 1
X X X 1 1 1 1

從這個真值表中可以看出,輸入的下標數字越高,輸入的優先順序越高。因此,輸入I3具有最高的優先順序。因此,無論其他輸入的值如何,當輸入I3等於1時,AB的輸出為11,即3。輸入I2具有次高的優先順序,然後是I1,最後I0具有最低的優先順序。

我們可以從上表中寫出輸出A、B和V的布林表示式如下:

$$\mathrm{A \: = \: I_{3} \: + \: \bar{I_{3}} \: I_{2}\: = \: I_{3} \: + \: I_{2}}$$

$$\mathrm{B \: = \: I_{3} \: + \: \bar{I_{3}} \: \bar{I_{2}} \: I_{1} \: = \: I_{3} \: + \: \bar{I_{2}} \: I_{1}}$$

並且,

$$V = I_3 + I_2 + I_1 + I_0$$

因此,輸出V的條件是對所有輸入變數進行或運算。

十進位制到BCD優先編碼器

這種優先編碼器將十進位制數字編碼為4位BCD(二進位制編碼十進位制)輸出。作為十進位制到BCD優先編碼器,它產生與所有輸入中最高優先順序的十進位制數字對應的BCD碼,並忽略所有其他輸入。

十進位制到BCD優先編碼器的真值表如下所示。

十進位制輸入 (X = 不關心) BCD 輸出
I1 I2 I3 I4 I5 I6 I7 I8 I9 A3 A2 A1 A0
1 1 1 1 1 1 1 1 1 1 1 1 1
X X X X X X X X 0 0 1 1 0
X X X X X X X 0 1 0 1 1 1
X X X X X X 0 1 1 1 0 0 0
X X X X X 0 1 1 1 1 0 0 1
X X X X 0 1 1 1 1 1 0 1 0
X X X 0 1 1 1 1 1 1 0 1 1
X X 0 1 1 1 1 1 1 1 1 0 0
X 0 1 1 1 1 1 1 1 1 1 0 1
0 1 1 1 1 1 1 1 1 1 1 1 0

十進位制到BCD優先編碼器的真值表清楚地表明,十進位制輸入的幅度決定了它們的優先順序。如果任何十進位制輸入為高電平,則如果所有其他更高值輸入為低電平,則無論所有較低值輸入的狀態如何,它都將被編碼。

八進位制到二進位制優先編碼器

這種型別的優先編碼器用於將八進位制程式碼編碼為二進位制程式碼。因此,這種優先編碼器具有八個輸入和三個輸出,這些輸出產生真值表中給出的相應二進位制程式碼。

輸入 輸出
I0 I1 I2 I3 I4 I5 I6 I7 A2 A1 A0 V
0 0 0 0 0 0 0 0 X X X 0
1 0 0 0 0 0 0 0 0 0 0 1
X 1 0 0 0 0 0 0 0 0 1 1
X X 1 0 0 0 0 0 0 1 0 1
X X X 1 0 0 0 0 0 1 1 1
X X X X 1 0 0 0 1 0 0 1
X X X X X 1 0 0 1 0 1 1
X X X X X X 1 0 1 1 0 1
X X X X X X X 1 1 1 1 1

這就是關於優先編碼器及其在數位電子技術中主要型別的全部內容。

廣告