這里介紹兩種常用的集成電路優(yōu)先編碼器74147和74148,它們都有ttl和cmos(74hc147、74hc148)的定型產(chǎn)品。74147和74hc147,74148和74hc148在邏輯功能上沒有區(qū)別,只是電性能參數(shù)不同。以下只分析邏輯功能及介紹它們的應(yīng)用方法。
1.8線—3線優(yōu)先編碼器74148
優(yōu)先編碼器74148的邏輯圖和引腳圖分別如圖1(a)和1(b)所示,其功能如表1所示
圖1 優(yōu)先編碼器74148的邏輯圖和引腳圖(a)邏輯圖(b)引腳圖
該編碼器有8個(gè)信號輸入端,3個(gè)二進(jìn)制碼輸出端。此外,電路還設(shè)置了輸入使能端ei,輸出使能端eo和優(yōu)先編碼工作狀態(tài)標(biāo)志gs。 當(dāng)ei=0時(shí),編碼器工作;當(dāng)ei=1時(shí),則不論8個(gè)輸入端為何種狀態(tài),3個(gè)輸出端均為高電平,且優(yōu)先標(biāo)志端和輸出使能端均為高電平,編碼器處于非工作狀態(tài)。這種情況被稱為輸入低電平有效,輸出也有低電平有效的情況。當(dāng)ei為0,且至少有一個(gè)輸入端有編碼請求信號(邏輯0)時(shí),優(yōu)先編碼工作狀態(tài)標(biāo)志gs為0,表明編碼處于工作狀態(tài),否則為1。由功能表可知,在8個(gè)輸入端均無低電平輸入信號和只有輸入0端(優(yōu)先級別最低位) 有低電平輸入時(shí),a2a1a0均為111,出現(xiàn)了輸入條件不同輸出代碼相同的情況,這可由gs的狀態(tài)加以區(qū)別,gs=1時(shí),表示8個(gè)輸入端均為無低電平輸入,此時(shí)a2a1a0=111為非編碼輸出;gs=0時(shí),a2a1a0=111表示響應(yīng)輸入0的輸出代碼,a2a1a0=111可編碼輸出。eo只有在ei為0,且所有輸入端都為1時(shí),輸出為0,它可與另一片同樣器件的ei連接,以便組成更多輸入端的優(yōu)先編碼器。
表1 優(yōu)先編碼器74148功能表
(這里不采用對變量符號加非號的方式表示低電平有效,防止會引起與其他非號的混淆。)
從功能表不難看出,輸入優(yōu)先級別的次序依次為7,6,…,0。輸入有效信號為低電平,當(dāng)某一輸入端有低電平輸入,且比它優(yōu)先級別高的輸入端無低電平輸入時(shí),輸出端才輸出相對應(yīng)的輸入端的代碼。例如,輸入5為0,且優(yōu)先級別比它高的輸入6和輸入7均為1時(shí),輸出代碼為010,這就是優(yōu)先編碼器的工作原理。
為了能夠列出邏輯表達(dá)式,我們設(shè)輸入0,1,…,7對應(yīng)的變量為i0,i1,…,i7,根據(jù)功能表,寫出各輸出端的邏輯表達(dá)式。
以a2為例推導(dǎo)輸出代碼的邏輯表達(dá)式。
利用a+ab=a+b和a+a=1的關(guān)系,化簡得a2=ei+i4i5i6i7
經(jīng)過變換得
同理可得輸出a1和a0的表達(dá)式如下:
由上式分析可知,上式與圖1所示邏輯電路一致。
下面通過舉例來了解74148的應(yīng)用。
例1用兩片74148組成16位輸入、4位二進(jìn)制碼輸出的優(yōu)先編碼器,邏輯圖如下圖所示,試分析其工作原理。
圖2 例5.2.1的邏輯圖
解:根據(jù)表5.2.4對邏輯圖進(jìn)行分析,可以得出:
(1)當(dāng)ei2=1時(shí),eo2=1,從而使ei1=1,這時(shí)74148(i)(ii)均禁止編碼,它們的輸出端a2a1a0都是111。由電路圖可知,gs=gs1·gs2=1,表示此時(shí)整個(gè)電路的代碼輸出端dcba=1111是非編碼輸出。
(2)當(dāng)ei2=0時(shí),高位片(ii)允許編碼,但若i15~i8都是高電平,即均無編碼請求,則eo2=0,從而ei1=0,允許低位片(i)編碼。這時(shí)高位片的a2a1a0=111,使門c、b、a都打開,c、b、a取決于低位片的a2a1a0,而d=gs2,總是等于1,所以輸出代碼在1111~1000之間變化。如果i0單獨(dú)有效,輸出為1111;如果i7及任意其他輸入同時(shí)有效,則輸出為1000,低位片以i7的優(yōu)先級別最高。
(3)當(dāng)ei2=0且i15~i8中有編碼請求(至少一個(gè)為低電平)時(shí),eo2=1,從而ei1=1,高位片編碼,低位片禁止編碼。顯然,高位片的編碼級別優(yōu)先于低位片。此時(shí)d=gs2=0,c、b、a取決于高位片的a2a1a0,輸出代碼在0111~0000之間變化,同理可知,高位片中的i15的優(yōu)先級別最高。整個(gè)電路實(shí)現(xiàn)了16位輸入的優(yōu)先編碼,其中i15具有最高的優(yōu)先級別,優(yōu)先級別從i15至i0依次遞減。
例2 優(yōu)先編碼器74147的功能如表2(實(shí)線部分)所示,試用74147和適當(dāng)?shù)拈T構(gòu)成輸出為8421bcd碼并具有編碼輸出標(biāo)志的編碼器。
表2 例2表
圖3 例2 的邏輯圖
解:由表2可知,輸出dcba是8421bcd碼的反碼,因此只要在74147的輸出端增加反相器就可以獲得題中所要求的輸出碼。在輸入端均為高電平時(shí)gs為1,而有低電平信號輸入時(shí)gs為0,可由非門實(shí)現(xiàn)此功能,題中所要求的編碼器的邏輯電路如圖3所示。
綜上所述,對編碼器歸納為以下幾點(diǎn):
1.編碼器的輸入端子數(shù)n(要進(jìn)行編碼的信息的個(gè)數(shù))與輸出端子數(shù)n(所得編碼的位數(shù))之間應(yīng)滿足關(guān)系式n≤2n。
2.編碼器的每個(gè)輸入端都代表一個(gè)二進(jìn)制數(shù)、十進(jìn)制數(shù)或其它信息符號,而且在n個(gè)輸入端中每次只允許有一個(gè)輸入端輸入信號(輸入低電平有效或輸入高電平有效),輸出為相應(yīng)的二進(jìn)制代碼或二-十進(jìn)制代碼(bcd碼)。
3.正確使用編碼器的控制端,可以用來擴(kuò)展編碼器的功能。