7.2 解碼器

     解碼器(decoder)在數位系統中包含了兩種意義的電路,第一種電路是以輸入端的碼去指定輸出端其中一條輸出線動作,而另一種電路則是將輸入端的碼轉換成其他的編碼,此種電路也可以稱為轉碼器(code converter)

7.2-1n線至2n線解碼器

      一個解碼器輸入編碼的線數有n條,則此解碼器最多可以指定2n條輸出線動作,而且每一輸出線僅對應輸入端唯一的一組編碼。

01.gif (3759 bytes)

      如圖7.2-1所示,輸入編碼的線數有3條,輸出線有8條(23=8),此解碼器稱為3線至8線解碼器或3對8線解碼器(3 to 8 Decoder) ,但有的資料手冊是以輸出數量命名,故又稱為8之1解碼器(1-of-8 Decoder)。在圖7.2-1中,當D2D1D0=000時;Y0動作,當D2D1D0=001時;Y1動作,同理,當D2D1D0=111時;Y7動作。由於n線至2n線解碼器的解碼輸出有唯一性,因此電路設計上就變得相當單純化,以圖7.2-1而言:

        Y0 (D0、D1、D2)=Σ(0)= D2' D1' D0'

        Y1 (D0、D1、D2)=Σ(1)= D2' D1' D0

       如此類推至

        Y7 (D0、D1、D2)=Σ(7)= D2 D1 D0

02.gif (6107 bytes)

故其電路(圖7.2-2)均以3輸入的及閘完成即可。

實際的數位積體電路中,解碼器都會設計一個以上的致能(Enable,常以E代表)接腳,有的資料手冊會稱為閘門(Gate常以G代表),稱呼各家雖有不同,但從字面上的意思不難瞭解此接腳有著掌控整個電路的功能,從表7.2-1可知2線至4解碼器中的致能(E)為0時,無論A、B狀態為何,均無法導致任何解碼輸出(Y3、Y2、Y1、Y0均為0),僅在致能為1時允許解碼的功能隨著A及B的編碼而異。

03.gif (6593 bytes)

致能接腳的設計在數位電路的應用中,主要功效為擴展解碼器的解碼範圍,例如兩只含有致能接腳的2線至4解碼器等於是一只3線至8解碼器,接線方法如圖7.2-4所示,當C=0時,解碼器(1)的致能(E)=1,因此輸出端可依B、A的編碼得以解碼,C=1時,解碼器(2)的致能(E)=1,因此解碼器(2)得以解碼,整個電路相當於一個3線至8線解碼器,輸入的3線是A、B、C,輸出的8線是解碼器(1)的Y0 ~ Y3和解碼器(2)的Y0 ~ Y3

04.gif (8480 bytes)

 

      若致能的接腳不只一個,而且分別有0動作及1動作的接腳就更方便了,這類的積體電路在我們擴展解碼電路時,可以省掉一些邏輯閘的使用,例如圖7.2-5與圖7.2-4相比就省掉一只反閘。

05.gif (8277 bytes)

一個含有致能功能的解碼器,其電路設計只需控制其輸出的邏輯閘即可,圖7.2-5中的致能控制可以用圖7.2-6的方式完成,其中EE'=0則Y0、Y1、Y2、Y3均為0,E'E=1則Y0、Y1、Y2、Y3依A、B解碼。

06.gif (5284 bytes)

     例7.2-1

試設計一只含有致能控制(E)的2至4線解碼器。

    步驟一

分析組合邏輯的輸入及輸出端數量;含有致能                                              

控制(E)的2至4線解碼器,應有3個輸入端A、B、E,

4個輸出端Y0、Y1、Y2、Y3

07.gif (2226 bytes)

    步驟二

以真值表分析輸入及輸出的關係。

08.gif (4238 bytes)

   步驟三

利用圖7.2-6的方式將2線至4線解碼器與致能控制分開設計。

由於解碼器的輸出與輸入間有唯一性,所以不需要卡諾圖化簡,直接寫出布林代數式為:

    Y0 =A'B'

    Y1 =AB'

   Y2 =A'B

    Y3 =AB

   步驟四

繪出解碼器部份布林代數式的邏輯電路。

09.gif (1443 bytes)

     步驟五

從真值表得知致能控制與輸出的關係為:

     Y0 =A'B'E

     Y1 =AB'E

     Y2 =A'BE

     Y3 =ABE

所以加上致能控制的2線至4線解碼器電路為:

10.gif (1569 bytes)

   7.2-2BCD至七段顯示解碼器

      七段顯示器由發光二極體(light emitting diode ; LED)組合而成,分為共陰及共陽兩型,將內部所有LED的陰極接在一起的稱為共陰型內部所有LED的陽極接在一起的稱為共陽型,見圖7.2-2-1。

a.gif (6485 bytes)

b.gif (7973 bytes)

       由於七段顯示器分為共陰型及共陽型,所以BCD至七段顯示解碼(轉碼)的數位積體電路也分為兩類,TTL74487449CMOS4511必須配合共陰型七段顯示器使用,而TTL74467447就必須配合共陽型七段顯示器使用。這些IC的輸出端為了要驅動LED均有提高耐壓及輸出電流的設計,因此資料手冊中常以BCD至七段顯示解碼器/驅動器(BCD to 7 Segment Decoder/Driver)稱之,在使用上特別應該注意共陰型及共陽型七段顯示器電源的接法,而且與解碼器之間也務必要加上限流電阻(見圖7.2-2-2),至於解碼器的各接腳功能,本節將以7447為範例說明之。

        TTL7447是一只與共陽七段顯示器搭配使用的七段顯示解碼器,所以驅動LED的輸出端均以0動作,在IC接腳圖中常會畫上一個小圓圈表示低態動作的意思,輸出端最大耐壓為15V,低態輸出時可以提供的電流大於40mA,這個輸出特性對於一般規格的七段顯示器已經足夠。

c.gif (9970 bytes)        使用時的接線方法,BCD碼輸入部份與解碼後接至共陽型七段顯示器的電路與圖7.2-2-2b完全相同,圖7.2-2-4BCD碼由000010017447解碼後輸往七段顯示器之相對顯示。若七段顯示器的電源為5V,限流電阻可用330Ω,輸出電流將限制在10mA左右,除了BCD輸入以及解碼輸出a~g,其餘的各腳功能敘述於下:

 

例7.2-1

 

7.2-2-5 IC-3BCD碼輸入為0000IC-2BCD碼輸入為0000IC-1BCD碼輸入為0111,則七段顯示器該顯示什麼?

答:

IC-3BCD碼輸入為0000RBI=0(接地),因此RBO轉為0,所以解碼後的「0」字將被遮沒,因此七段顯示器全暗。

IC-2BCD碼輸入為0000IC-3RBO =0導致RBI=0,,所以解碼後的「0」字也被遮沒,因此七段顯示器全暗。

IC-1BCD碼輸入為0111,但RBI=1(H),所以七段顯示器顯示「7」。

d.gif (8124 bytes)

7.2-2

 

7.2-2-5 IC-3BCD碼輸入為0000IC-2BCD碼輸入為0001IC-1BCD碼輸入為0000,則IC-3IC-2IC-1abcdefg的邏輯狀態分別為?以及七段顯示器該顯示什麼?

答:

IC-3BCD碼輸入為0000 RBI=0,所以解碼後的「0」字將被遮沒,因此IC-3abcdefg =1111111,七段顯示器全暗。

IC-2BCD碼輸入為0001IC-2abcdefg =1001111,七段顯示器顯示「1」。

IC-1BCD碼輸入為0000,但RBI=1(H),所以IC-1abcdefg =0000001,七段顯示器顯示「0」。