優先級編碼器一次一個地獲取所有數據輸入并將其轉換為輸出端的等效二進制代碼,與選擇一個單獨數據輸入線然后發送的多路復用器不同數據到單個輸出線或開關,數字編碼器通常稱為二進制編碼器一次一個地獲取所有數據輸入,然后將它們轉換為單個編碼輸出。所以我們可以說二進制編碼器是一個多輸入組合邏輯電路,它將輸入端的邏輯電平“1”數據轉換成輸出端的等效二進制代碼。
通常,數字編碼器產生根據數據輸入線的數量,輸出2位,3位或4位代碼。 “n位”二進制編碼器具有 2 n 輸入線和 n位輸出線,其常見類型包括4對2 ,8到3和16到4線配置。
數字編碼器的輸出線產生輸入線的二進制等效值,其值等于“1”并可用于編碼十進制或十六進制輸入模式,通常為二進制或“BCD”(二進制編碼的十進制)輸出代碼。
4到2位二進制編碼器
標準數字編碼器的一個主要缺點是,當邏輯電平“1”存在多個輸入時,它們會產生錯誤的輸出代碼。例如,如果我們在邏輯“1”處輸入 D 1 和 D 2 HIGH,兩者都是相同的時間,結果輸出既不是“01”,也不是“10”,而是“11”,這是一個與實際輸入不同的輸出二進制數。此外,當所有輸入都為“0”或輸入 D 0 等于1時,可以生成所有邏輯“0”的輸出代碼。
克服此問題的一種簡單方法是“優先化”每個輸入引腳的電平。因此,如果同時存在多個邏輯電平“1”的輸入,則實際輸出代碼將僅對應于具有最高指定優先級的輸入。然后,這種類型的數字編碼器通常稱為優先編碼器或P編碼器。
優先編碼器
優先級編碼器通過為每個輸入分配優先級來解決上述問題。 優先編碼器輸出對應于具有最高優先級的當前活動輸入。因此,當存在具有較高優先級的輸入時,將忽略具有較低優先級的所有其他輸入。
優先級編碼器有許多不同的形式,其中包含8輸入優先級編碼器的示例及其真值表如下所示。
8到3位優先編碼器
優先級編碼器以標準IC形式提供,TTL 74LS148是一個8至3位優先級編碼器,具有8個低電平有效(邏輯“0”)輸入,并在其輸出端提供排名最高的輸入的3位代碼。 / p>
優先編碼器首先輸出最高階輸入,例如,如果輸入行“ D2 ”,“ D3 ”和“ D5 “同時應用輸出代碼將用于輸入” D5 “(”101“),因為它具有3個輸入中的最高順序。一旦輸入“ D5 ”被刪除,下一個最高輸出代碼將用于輸入“ D3 ”(“011”),依此類推。
8到3位優先級編碼器的真值表如下:
<噸d>1
數字輸入 | 二進制輸出 | |||||||||
D 7 | D 6 | D 5 | D 4 | D 3 | D 2 | D 1 | D 0 | Q 2 | Q 1 | Q 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | X | 0 | 0 | 1 | |
0 | 0 | 0 | 0 | 0 | 1 | X | X | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 | X | X | X | 0 | 1 | 1 |
0 | 0 | 0 | 1 | X | X | X | X | 1 | 0 | 0 |
0 | 0 | 1 | X | X | X | X | X | 1 | 0 | 1 |
0 | 1 | X | X | X | X | X | X | 1 | 1 | 0 |
1 | X | X | X | X | X | X | X | 1 | 1 | 1 |
其中 X 等于“不關心”,即邏輯“0”或邏輯“1” 。
從這個真值表,上面的編碼器的布爾表達式數據輸入 D 0 到 D 7 并輸出 Q 0 , Q 1 ,Q 2 給出如下:
輸出 Q 0
輸出 Q 1
輸出 Q 2
然后包含零輸入的優先級編碼器的最終布爾表達式定義為:
優先級編碼器輸出表達式
實際上,這些零輸入將被忽略,允許為8到3優先級編碼器的輸出實現最終的布爾表達式。我們可以使用單獨的 OR 門從上面的表達式構造一個簡單的編碼器,如下所示。
使用邏輯門的數字編碼器
數字編碼器應用程序
鍵盤編碼器
優先級編碼器可用于減少具有多個輸入的特定電路或應用中所需的導線數量。例如,假設一臺微型計算機需要讀取標準QWERTY鍵盤的104鍵,其中任何一次只能按下一個鍵“HIGH”或“LOW”。
一種方法是將鍵盤上各個鍵的所有104根電線直接連接到計算機輸入端,但這對于小型家用電腦來說是不切實際的。另一種更好的方法是使用優先級編碼器將鍵盤連接到PC。
104個單獨的按鈕或鍵可編碼為僅7位的標準ASCII碼(0到127十進制數) )表示鍵盤的每個鍵或字符,然后直接輸入更小的7位BCD碼到計算機。鍵盤編碼器,例如74C923 20鍵編碼器就可以實現這一目的。
位置編碼器
另一種更常見的應用是磁性位置控制,如船舶導航或機器人使用例如,羅盤的角度或旋轉位置由74LS148 8到3線優先編碼器轉換成數字代碼,并輸入到系統計算機以提供導航數據和簡單的例子8位置到3位輸出羅盤編碼器如下所示。可以在每個羅盤點使用磁鐵和簧片開關來指示針角位置。
優先編碼器導航
指南針方向 | 二進制輸出 | ||
Q 0 | Q 1 | Q 2 | |
North | 0 | 0 | 0 |
東北 | 0 | 0 | 1 |
東 | 0 | 1 | 0 |
東南亞 | 0 | 1 | 1 |
南 | 1 | 0 | 0 |
西南 | 1 | 0 | 1 |
西 | 1 | 1 | 0 |
西北 | 1 | 1 | 1 |
中斷請求
其他應用程序(尤其是優先級編碼器)可能包括檢測微處理器應用程序中的中斷。這里微處理器使用中斷來允許外圍設備(如磁盤驅動器,掃描儀,鼠標或打印機等)與之通信,但微處理器一次只能與一個外圍設備“通話”,因此需要某種方式知道何時特定的外圍設備希望與之通信。
處理器通過使用“中斷請求”或“IRQ”信號為所有外圍設備分配優先級來確保最重要的外圍設備首先得到服務。設備的重要性順序取決于它們與優先級編碼器的連接。
IRQ Number | 典型用法 | 描述 |
IRQ 0 | 系統定時器 | 內部系統定時器。 |
IRQ 1 | 鍵盤 | 鍵盤控制器。 |
IRQ 3 | COM2&amp; COM4 | 第二和第四串口。 |
IRQ 4 | COM1&amp; COM3 | 第一和第三串口。 |
IRQ 5 | 聲音 | 聲卡。 |
IRQ 6 | 軟盤 | 軟盤控制器。 |
IRQ 7 | 并行端口 | 并行打印機。 |
IRQ 12 | 鼠標 | PS / 2鼠標。 |
IRQ 14 | 主IDE | 主硬盤控制器。 |
IRQ 15 | 輔助IDE | 輔助硬盤控制器。 |
因為實施這種使用優先編碼器的系統,如標準74LS148優先編碼器IC,涉及額外的邏輯電路,可以使用專用的集成電路,如8259可編程優先中斷控制器。
數字編碼器摘要
然后總結一下,數字編碼器是一個組合電路,它響應一個或多個有效輸入,在其輸出端產生特定代碼,如二進制或BCD。數字編碼器有兩種主要類型。二進制編碼器和優先級編碼器。
我們已經看到二進制編碼器轉換 2之一 n 輸入 n-bit 輸出。然后二進制編碼器的輸出位數少于輸入代碼。二進制編碼器對于壓縮數據很有用,可以用簡單的 AND 或 OR 門構建。
標準二進制編碼器的一個主要缺點是它會如果同時有多個輸入處于活動狀態,則會在其輸出上產生錯誤。為了克服這個問題,開發了優先編碼器。
優先編碼器是另一種類似于二進制編碼器的組合電路,不同之處在于它根據最高優先級輸入生成輸出代碼。優先編碼器在數字和計算機系統中廣泛用作微處理器中斷控制器,用于檢測最高優先級輸入。
在下一個關于組合邏輯器件的教程中,我們將研究稱為解碼器的編碼器的互補功能,它將 n位輸入代碼轉換為其 2 之一n 輸出行。
-
編碼器
+關注
關注
45文章
3664瀏覽量
135075 -
數字編碼器
+關注
關注
0文章
5瀏覽量
9191 -
優先編碼器
+關注
關注
0文章
3瀏覽量
1369
發布評論請先 登錄
相關推薦
評論