二進制解碼器是另一個由各個邏輯門構成的組合邏輯電路,與編碼器完全相反
名稱“解碼器”意味著從一種格式轉換或解碼編碼信息因此,二進制解碼器使用2 n 輸出將“n”個二進制輸入信號轉換為等效代碼。
二進制解碼器是另一種類型的數字邏輯器件,具有2位,3位或4位代碼的輸入,具體取決于數據輸入線的數量,因此具有兩位或更多位的解碼器將被定義為具有 n 位代碼,因此可以表示2個 n 可能的值。因此,解碼器通常通過將其 n 輸出中的一個精確地設置為邏輯“1”來將二進制值解碼為非二進制值。
如果二進制解碼器接收 n 輸入(通常分組為單個二進制或布爾數),它根據所有其他輸入激活其中一個且只有一個 2 n 輸出輸出已停用。
因此,例如,逆變器( NOT-gate )可歸類為1- to-2二進制解碼器可以作為1輸入和2輸出(2 1 )是可能的,因為輸入 A 它可以產生兩個輸出 A 和 A (非-A)如圖所示。
然后我們可以說標準組合邏輯解碼器是 n-to-m 解碼器,其中m≤2 n ,其輸出 Q 僅取決于其當前輸入狀態。換句話說,二進制解碼器查看其當前輸入,確定其輸入端存在哪個二進制代碼或二進制數,并選擇與該二進制輸入相對應的適當輸出。
二進制解碼器將編碼輸入轉換為編碼輸出,其中輸入和輸出代碼不同,解碼器可用于“解碼”二進制或BCD(8421代碼)輸入模式,通常為十進制輸出代碼。通常可用的BCD到十進制解碼器包括TTL 7442或CMOS 4028.通常,解碼器輸出代碼通常具有比其輸入代碼更多的位,并且實際的“二進制解碼器”電路包括2到4,3到8和4到16行配置。
2到4行解碼器及其真值表的一個例子如下:
2到4二進制解碼器
上面這個簡單的例子2到4行二進制解碼器由四個 AND 門組成。標記為 A 和 B 的2個二進制輸入被解碼為4個輸出之一,因此描述了2到4個二進制解碼器。每個輸出代表2個輸入變量的一個miniterms(每個輸出=一個miniterm)。
二進制輸入 A 和 B 確定哪個 Q0 到 Q3 的輸出線在邏輯電平“1”處于“高電平”,而其余輸出在邏輯“0”處保持“低電平”,因此只有一個輸出可以是任何時候都有效(HIGH)。因此,無論哪個輸出線為“高”都標識輸入處存在的二進制代碼,換句話說,它“解碼”二進制輸入。
某些二進制解碼器有一個標記為“啟用”的附加輸入引腳,用于控制器件的輸出。這個額外的輸入允許解碼器輸出根據需要變為“ON”或“OFF”。這些類型的二進制解碼器通常用作微處理器存儲器應用中的“存儲器地址解碼器”。
74LS138二進制解碼器
我們可以說二進制解碼器是一個多路分解器,帶有一條額外的數據線,用于啟用解碼器。查看解碼器電路的另一種方法是將輸入 A , B 和 C 視為地址信號。 A , B 或 C 的每個組合都定義了一個唯一的內存地址。
我們已經看到了2-to -4線二進制解碼器(TTL 74155)可用于解碼任何2位二進制代碼,以提供四個輸出,每個輸出組合一個輸出。但是,有時需要使用二進制解碼器,其輸出數量大于可用數量,因此通過添加更多輸入,解碼器可能會提供2個 n 更多輸出例如,具有3個二進制輸入( n = 3 )的解碼器將產生3到8行解碼器(TTL 74138)和4個輸入( n = 4 )會生成一個4到16行解碼器(TTL 74154),依此類推。但是解碼器也可以有少于2個 n 輸出,例如BCD到七段解碼器(TTL 7447),它有4個輸入,只有7個有效輸出來驅動顯示而不是全16( 2 4 )輸出正如您所期望的那樣。
這里使用兩個較小的3到3實現了更大的4(3個數據加1個使能)到16行二進制解碼器。 8個解碼器。
4到16二進制解碼器配置
輸入 A,B,C 用于選擇任一解碼器上的哪個輸出處于邏輯“1”(HIGH),輸入 D 與使能輸入一起使用以選擇哪個編碼器第一個或第二個將輸出“1”。
然而,可用于一個特定解碼器的輸入數量有限制,因為 n 增加,產生輸出所需的 AND 門的數量也變得更大,導致用于驅動它們的門的扇出變大。
Thi只需使用逆變器,( NOT Gates )和 AND 門即可實現有源 - “HIGH”解碼器的類型。使用 AND 門作為輸出的基本解碼元件很方便,因為只有當它的所有輸入都是邏輯“1”時才會產生“HIGH”或邏輯“1”輸出。
但是一些二進制解碼器是使用 NAND 門而不是 AND 門構建的,用于解碼輸出,因為 NAND 門比較便宜產生比 AND ,因為它們在設計中需要更少的晶體管來實現。
使用 NAND 門作為解碼元件,導致激活 - “低”輸出,其余輸出為“高”。當 NAND 門產生具有反相輸出的 AND 操作時, NAND 解碼器使用其反轉真值表看起來像這樣。
2到4線NAND二進制解碼器
然后用于 NAND 解碼器,在任何給定時間只有一個輸出可以為低電平且等于邏輯“0”,所有其他輸出在邏輯“1”時為高電平。
解碼器還可以使用附加的“啟用”輸入引腳,通過分別對其應用邏輯“1”或邏輯“0”,允許解碼輸出“開”或“關”。因此,例如,當使能輸入處于邏輯電平“0”時,(EN = 0)所有輸出在邏輯“0”(對于AND門)處于“OFF”,而不管輸入的狀態 A 和 B 。
通常要實現此啟用功能,2輸入 AND 或 NAND 門將替換為3輸入 AND 或 NAND 門。附加輸入引腳代表使能功能。
存儲器地址解碼器
二進制解碼器最常用于更復雜的數字系統,以訪問特定的存儲器位置基于計算設備產生的“地址”。在現代微處理器系統中,所需的存儲器量可能非常高,并且通常只有一個以上的單個存儲器芯片。
克服這個問題的一種方法是將許多單獨的存儲器芯片連接在一起并讀取常見“數據總線”上的數據。為了防止數據同時從每個存儲器芯片“讀取”,每個存儲器芯片被單獨選擇一個,這個過程稱為地址解碼。
在這種類型的應用中,地址代表編碼數據輸入,輸出是特定的存儲元件選擇信號。每個存儲器芯片具有稱為芯片選擇或CS的輸入,MPU(微處理器單元)使用該輸入以在需要時選擇適當的存儲器芯片。通常,芯片選擇( CS )輸入上的邏輯“1”選擇存儲器件,而輸入上的邏輯“0”取消選擇它。
所以通過選擇或一次取消選擇一個芯片,允許我們為特定的地址位置選擇正確的存儲器地址設備。地址解碼的優點是,當我們指定一個特定的存儲器地址時,相應的存儲器位置只存在于其中一個芯片中。
例如,Lets假設我們有一個非常簡單的微處理器系統,只有1Kb(一千字節)的RAM存儲器和10個可用的存儲器地址線。存儲器由128×8位(128×8 = 1024字節)器件組成,對于1Kb,我們需要8個獨立的存儲器芯片,但為了選擇正確的存儲器芯片,我們還需要一個3到8行的二進制解碼器如下所示。
內存地址解碼
二進制解碼器只需要3個地址行,( A 0 到 A 2 )選擇8個芯片中的每一個(下半部分)地址),其余8個地址線( A 3 到 A 10 )選擇正確的存儲位置在該芯片上(地址的上半部分)。
使用地址總線選擇了存儲單元后,特定內部存儲單元的信息被發送到公共“數據總線”供本地使用。微處理器。這當然是一個簡單的例子,但所有類型的存儲器芯片或模塊的原理保持不變。
二進制解碼器是非常有用的設備,用于將一種數字格式轉換為另一種數字格式,例如二進制或BCD類型數據轉換為十進制或八進制等,常用的解碼器IC是TTL 74LS138 3到8線路二進制解碼器或74ALS154 4到16線路解碼器。它們對于連接7段顯示器非常有用,例如TTL 74LS47,我們將在下一個教程中查看。
-
解碼器
+關注
關注
9文章
1143瀏覽量
40774 -
數字邏輯
+關注
關注
0文章
73瀏覽量
16658
發布評論請先 登錄
相關推薦
評論