編碼器、譯碼器位的擴(kuò)展及應(yīng)用
0 引 言
隨著現(xiàn)代電子技術(shù)的發(fā)展,編碼器、譯碼器作為最基本的電子元器件之一,其應(yīng)用領(lǐng)域越來越廣泛,例如光柵尺、旋轉(zhuǎn)編碼器、單片機(jī)的I/O等。同時(shí),也正是其應(yīng)用領(lǐng)域的不斷擴(kuò)展,現(xiàn)有的編碼、譯碼芯片已遠(yuǎn)遠(yuǎn)不能滿足需求,現(xiàn)在需要的是多位數(shù)據(jù)信號(hào)的編碼、譯碼,為此,有必要對(duì)編碼器、譯碼器位的擴(kuò)展做進(jìn)一步研究。
1 編碼器位的擴(kuò)展
表1,圖1給出了74LS148的功能表和邏輯符號(hào)圖。
由此不難看出,在EI=0電路正常工作狀態(tài)下,允許I0~I(xiàn)7當(dāng)中同時(shí)有幾個(gè)輸入端為低電平,I7的優(yōu)先權(quán)最高,I0的優(yōu)先權(quán)最低。當(dāng)I7=0時(shí),無論其他輸入端有無輸入信號(hào)(表中以X表示),輸出端只給出I7的編碼,當(dāng)I7=1,I6=0時(shí),無論其他輸入端有無輸入信號(hào),只對(duì)I6編碼。其余的輸入狀態(tài)類同。
由圖2可知,該編碼擴(kuò)展電路的編碼功能主要還是由74LS148優(yōu)先編碼器來實(shí)現(xiàn)的,之所以編碼位數(shù)能夠擴(kuò)展,是因?yàn)榫幋a器芯片的增加,但關(guān)鍵是如何準(zhǔn)確地選擇要工作的芯片。也就是說,這8片芯片并非同時(shí)進(jìn)行編碼,實(shí)際上每次對(duì)信號(hào)進(jìn)行編碼時(shí),有且只有其中的一個(gè)芯片在進(jìn)行編碼工作,而其他的芯片則是處于禁止工作狀態(tài),只要正確選擇要工作的編碼芯片,就可以正確地將信號(hào)進(jìn)行編碼。例如,當(dāng)編碼器7的輸入端(以I7為例)有輸入信號(hào)時(shí),由于EI.H為低電平,編碼器7的選通輸入端有效,所以編碼器7的輸出端有編碼信號(hào)輸出,即Y2Y1Y0=000;同時(shí)編碼器7的選通輸出端E0.7將輸出高電平,GS.7輸出低電平,并且EO.7的一條支路接到編碼器6的選通輸入端,禁止編碼器6輸出,另一條支路接到或門T6的輸入端,使T6輸出高電平,然后T6的輸出又導(dǎo)致或門T5輸出高電平,依次下去,或門T4~T0的輸出都變成高電平,與之相應(yīng),編碼器5~編碼器0將被禁止工作,E0.H輸出為高電平。也就是說,只要編碼器7有編碼信號(hào)輸出,其他的編碼器將禁止編碼。與此同時(shí),編碼器7的輸出端Y2,Y1,Y0及選通輸出端GS.7分別經(jīng)與門電路T7,T8,T9,T10,T11,T12,T13運(yùn)算后,使得編碼擴(kuò)展電路的輸出端A5A4A3A2A1A0=000000.E0.H=1,GS.H=0,從而形成對(duì)編碼器7輸入信號(hào)I7的整個(gè)編碼過程。再如,當(dāng)編碼器6的輸入端(以I7為例)有輸入信號(hào)時(shí)(編碼器7無輸入信號(hào),其他編碼器的輸入為任意),雖然編碼器7的選通輸入端有效,但編碼器7的所有輸人端無輸入信號(hào),故編碼器7的選通輸出端EO.7將輸出低電平,GS.6輸出高電平,于是導(dǎo)致編碼器6的選通輸入端有效,將對(duì)其I7輸入端信號(hào)進(jìn)行編碼并輸出,則有編碼器6的輸出端Y2Y1Y0=000,編碼器6的選通輸出端EO.6將輸出高電平,GS.6輸出低電平,同時(shí)或門T0~T6的輸出都將變成高電平,編碼器0~編碼器5的輸入端無論輸入什么信號(hào),都將無效,而最終輸出結(jié)果為A5A4A3A2A1A0=001000,E0.H=1,GS=0。即形成了對(duì)編碼器6的輸入端I7的編碼過程。其他狀態(tài)的編碼過程可依據(jù)編碼擴(kuò)展電路圖自行分析。
此外,該編碼擴(kuò)展電路可等效成為一片74LS148編碼器芯片,即編碼擴(kuò)展電路的輸入口——編碼器0~編碼器7的64個(gè)輸入口等效于74LS148的8個(gè)輸入口,編碼擴(kuò)展電路的6個(gè)輸出口等效于74LS148的3個(gè)輸出口,編碼擴(kuò)展電路的選通輸入端EI.H等效于74LS148的選通輸入端EI,編碼擴(kuò)展電路的選通輸出端GS.H,E0.H等效于74LS148的選通輸出端GS,EO,如圖3所示。
2 譯碼器(74LS138)位的擴(kuò)展
表2,圖4給出74LS138譯碼器的功能表和邏輯符號(hào)圖。當(dāng)S1=1,S2+S3=0時(shí),譯碼器處于工作狀態(tài);否則,譯碼器被禁止,所有的輸出端被封鎖為高電平,這3個(gè)控制端也叫“片選”輸入端。在此,也正是利用這些輸入端來擴(kuò)展譯碼器位的。圖5給出是由9片74LS138譯碼器芯片組成的6線-64線譯碼電路。圖中譯碼器H的控制線S1.H,S2.H,S3.H是該譯碼擴(kuò)展電路的總控制線。此外,該譯碼擴(kuò)展電路的輸出端信號(hào)是以低平為有效信號(hào)的。下面就該譯碼擴(kuò)展電路做一分析(在以下分析中令控制線S1.H=1,S2.H+S3.H=0)。
假定譯碼擴(kuò)展電路的輸入15141312I1I0=000000,首先I5,I4,I3引到譯碼器H的輸入端,由于S1.H=1,S2.H+S3.H=0,所以譯碼器H先進(jìn)行譯碼,并使其輸出Y7Y6Y5Y4Y3Y2Y1Y0=11111110,其輸出端Y0又引到譯碼器0的控制線S2,S3,從而使譯碼器0開始對(duì)其輸入端信號(hào)I2,I1,I0進(jìn)行譯碼,并使其輸出Y7Y6Y5Y4Y3Y2Y1Y0=11111110。另一方面,由于譯碼器H的其他輸出端Y7,Y6,Y5,Y4,Y3,Y2,Y1為高電平,導(dǎo)致譯碼器7,譯碼器6,…,譯碼器1都被禁止。到此為止,該譯碼擴(kuò)展電路的譯碼工作完成,即當(dāng)譯碼擴(kuò)展電路的輸入端I5I4I3I2I1I0=000000時(shí),譯碼器0的輸出端Y0有有效信號(hào)輸出。再假定譯碼擴(kuò)展電路的輸入端I5I4I3I2I1i0=001000,那么譯碼器H輸出Y7Y6Y5Y4Y3Y2Y1Y0=11111101,譯碼器1將被選中,并對(duì)其輸入信號(hào)進(jìn)行譯碼,最終譯碼器1的輸出端Y0有有效信號(hào)輸出。依次分析下去可知,該譯碼擴(kuò)展電路的輸入端I5I4I3I2I1I0從000000~111111的每一個(gè)信號(hào),都將有惟一的有效輸出與之相對(duì)應(yīng)。
圖6是譯碼擴(kuò)展電路與74LS138的等效簡圖,即譯碼擴(kuò)展電路的6個(gè)輸人口等效于74LS138的3個(gè)輸入口,譯碼擴(kuò)展電路的控制線S1.H,S2.H,S3.H等效于74LS138的控制線S1,S2,S3,譯碼擴(kuò)展電路的輸出口——譯碼器0~譯碼器7的64個(gè)輸出口等效于74LS138的8個(gè)輸出口。
3 編碼、譯碼擴(kuò)展電路的應(yīng)用
所謂編碼、譯碼位的擴(kuò)展,其位不僅僅只是擴(kuò)展到64位,即使再多位的擴(kuò)展都是能實(shí)現(xiàn)的,只不過是多用幾片芯片而已。實(shí)際上往往會(huì)遇到這些問題,如可能會(huì)需要將編碼、譯碼的位擴(kuò)展到72位、80位、88位、96位等,其處理方法相同。下面應(yīng)用說明編碼、譯碼擴(kuò)展電路在一些具體電子電路中的應(yīng)用。
3.1 由編碼擴(kuò)展電路組成的鍵盤接口
在單片機(jī)應(yīng)用系統(tǒng)中,鍵盤是人機(jī)交互的重要組成部分,用于向單片機(jī)應(yīng)用系統(tǒng)輸入數(shù)據(jù)或控制信息。而傳統(tǒng)的鍵盤接口則主要是采用矩陣的結(jié)構(gòu),故占用的單片機(jī)I/O口較多,而且掃描程序又比較繁瑣。為了解決這些問題,將對(duì)另一種鍵盤接口結(jié)構(gòu)做一分析,即由編碼擴(kuò)展電路組成的鍵盤接口。圖7是由編碼擴(kuò)展電路組成的鍵盤接口硬件電路,它只用了單片機(jī)的6個(gè)口就可采集到64個(gè)鍵盤輸入信號(hào)。而單片機(jī)對(duì)鍵盤信號(hào)的采集可采用程序掃描、定時(shí)掃描和中斷掃描三種方式。
3.2 由譯碼擴(kuò)展電路組成的順序脈沖發(fā)生器
圖8是由譯碼擴(kuò)展電路組成的32位順序脈沖發(fā)生器的原理圖。74LS161與T觸發(fā)器組成了32位加法計(jì)數(shù)器,由Q,Q3,Q2,Q1,QO輸出。譯碼擴(kuò)展電路用于對(duì)QQ3Q2Q1QO進(jìn)行譯碼,從而在譯碼擴(kuò)展電路的輸出端產(chǎn)生順序脈沖。此外,只有在S2.H,S3.H為低電平時(shí),該電路才可正常工作。還有一點(diǎn)要注意的是,計(jì)數(shù)器74LS161的邊沿脈沖CP之所以要通過非門接到譯碼擴(kuò)展電路的選通輸入端S1.H上,其目的是為了消除譯碼擴(kuò)展電路中各個(gè)譯碼芯片因傳輸時(shí)間不一致而產(chǎn)生的競爭一冒險(xiǎn)現(xiàn)象。
4 結(jié) 語
無論是多么復(fù)雜的編碼、譯碼電路,其實(shí)都可以等效為簡單的編碼譯碼模型,從而使其設(shè)計(jì)思路簡單化??梢哉f,在實(shí)際應(yīng)用中的某些復(fù)雜電子電路的設(shè)計(jì),都可以通過這一模型來取代。