![IO端口地址譯碼技術(shù)課件_第1頁(yè)](http://file4.renrendoc.com/view6/M02/2C/37/wKhkGWeQ26qAKr7bAADvduNaCxA998.jpg)
![IO端口地址譯碼技術(shù)課件_第2頁(yè)](http://file4.renrendoc.com/view6/M02/2C/37/wKhkGWeQ26qAKr7bAADvduNaCxA9982.jpg)
![IO端口地址譯碼技術(shù)課件_第3頁(yè)](http://file4.renrendoc.com/view6/M02/2C/37/wKhkGWeQ26qAKr7bAADvduNaCxA9983.jpg)
![IO端口地址譯碼技術(shù)課件_第4頁(yè)](http://file4.renrendoc.com/view6/M02/2C/37/wKhkGWeQ26qAKr7bAADvduNaCxA9984.jpg)
![IO端口地址譯碼技術(shù)課件_第5頁(yè)](http://file4.renrendoc.com/view6/M02/2C/37/wKhkGWeQ26qAKr7bAADvduNaCxA9985.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
I/O端口地址解碼技術(shù)
設(shè)備選擇功能是介面電路應(yīng)具備的基本功能之一,因此,作為進(jìn)行設(shè)備端口選擇的I/O端口基本概念和I/O端口譯碼基本原理.基本方法的基礎(chǔ)上,著重討論解碼電路的設(shè)計(jì).2.1I/O端口及其編址方式一.I/O端口和I/O操作1.I/O端口端口(port)是介面電路中能被CPU直接訪問(wèn)的寄存器的地址.2.I/O操作通常所說(shuō)的I/O操作是指對(duì)I/O端口的操作,而不是對(duì)I/O設(shè)備的操作,即CPU所訪問(wèn)的是與I/O設(shè)備本身上一頁(yè)返回二.端口地址編址方式對(duì)上述端口有兩種編址方式,一種是端口地址和寄存器地址統(tǒng)一編制,另一種是I/O端口地址和記憶體分開(kāi)獨(dú)立編址.1.統(tǒng)一編址這種,是從記憶體空間劃出一部分地地址空間給I/O設(shè)備,把I/O介面中的端口當(dāng)作記憶體單元一樣進(jìn)行訪問(wèn),不設(shè)置專門的I/O指令,有一部分對(duì)記憶體使用的指令也可用於端口。Motoral系列,Apple系列微型機(jī)和小型機(jī)就是採(cǎi)用這種方式。這種方式有許多優(yōu)點(diǎn):由於對(duì)I/O設(shè)備的訪問(wèn)是使用訪問(wèn)記憶體的指令,所以指令類型多,功能齊全,這使訪問(wèn)I/O端口可實(shí)現(xiàn)輸入/輸出操作,而且還可以對(duì)端口內(nèi)容進(jìn)行算術(shù)邏輯位移等等;另外能給端口有較大的的編址空間,這對(duì)大型控制系統(tǒng)和數(shù)據(jù)通信系統(tǒng)是很有意義的。這種方式的缺點(diǎn)是端口佔(zhàn)用了記憶體的地址空間,使記憶體容量減小,另外指令長(zhǎng)度比專門I/O指令要長(zhǎng),因而速度較慢。
上一頁(yè)返回
2.獨(dú)立編址這種方式是介面中的端口地址單獨(dú)編址而不和存儲(chǔ)空間合在一起,大型電腦通常採(cǎi)用這種方式,有些微機(jī),如IBM-PC系列和Z-80系列機(jī)也採(cǎi)用這種方式。這種方式的主要優(yōu)點(diǎn)是:I/O端口地址不佔(zhàn)用記憶體空間;使用專門的I/O指令對(duì)端口進(jìn)行操作,I/O指令短,執(zhí)行速度快;並且由於專門I/O指令與記憶體訪問(wèn)指令有明顯的區(qū)別,使程式中I/O操作和記憶體操作層次清晰,程式的可讀性強(qiáng)。同時(shí),由於使用專門的I/O指令訪問(wèn)端口,並且I/O端口地址和記憶體地址是分開(kāi)的,故I/O端口地址和記憶體地址可以重疊,而不會(huì)相互混淆。上一頁(yè)返回
三、獨(dú)立編址方式的端口訪問(wèn)1.YO指令中端口地址的寬度
IBM-PC系列採(cǎi)用I/O(input/output)指令訪問(wèn)端口,實(shí)現(xiàn)數(shù)據(jù)的I/O傳送。在I/0指令中可採(cǎi)用單字節(jié)地址或雙位元組地址尋址方式。若用單字節(jié)地址作為端口地址,則最多可訪問(wèn)256個(gè)端口。系統(tǒng)主板上介面晶片的端口,採(cǎi)用單字節(jié)地址,並且是直接在指令中給出端口地址,2.I/0端口訪問(wèn)所謂對(duì)端口的訪問(wèn)就是CPU對(duì)端口的讀/寫。而通常所說(shuō)的微處理器CPU從端口讀數(shù)據(jù)或向端口寫數(shù)據(jù),僅僅是指FO端口與CPU的累加器之間的數(shù)據(jù)傳送,並未涉及數(shù)據(jù)是否傳送到存儲(chǔ)99(RAM)的問(wèn)題。若要求輸入時(shí),將端口的數(shù)據(jù)傳送到記憶體,則除了把數(shù)據(jù)讀入CPU的累加器之外,還要將累加9S中的數(shù)據(jù)再傳送到記憶體?;蛘呦喾?,輸出時(shí),數(shù)據(jù)從記憶體先送到CPU的累加器,再?gòu)睦奂悠鱾魉偷絀/O端口。上一頁(yè)返回
例如:輸入時(shí)MOVDX,300H;I/O端口
INAL,DX;從端口讀數(shù)據(jù)到ALMOV[DI],AL;將數(shù)據(jù)從AL-→記憶體輸出時(shí)MOVDX,301H;I/O端口
MOVAL,[SI];從記憶體取數(shù)到從
OUTDX,AL;數(shù)據(jù)從AL-→端口2.2I/O端口地址分配對(duì)於介面設(shè)計(jì)者來(lái)說(shuō),搞清楚系統(tǒng)I/O端口地址分配十分重要,因?yàn)橐研碌腎/O設(shè)備加入到系統(tǒng)中去就要在I/O地址空間中占一席之地。哪些地址已分配給了別的設(shè)備,哪些是電腦製造商為今後的開(kāi)發(fā)而保留的,哪些地址是空閒的,瞭解了這些資訊才能為我所用。下麵以IBM-PC系列為例來(lái)分析I/O端口地址分配情況。上一頁(yè)返回
一、I/O介面硬體分類按照I/O設(shè)備的配置情況,I/O介面的硬體分成兩類:1.系統(tǒng)板上的I/O晶片這些晶片大多都是可編程的大規(guī)模積體電路,完成相應(yīng)的介面操作,如定時(shí)/計(jì)數(shù)器、中斷控制器、DMA控制器、並行介面等。2.I/O擴(kuò)展槽上的介面控制卡這些控制卡(適配器)是由若干個(gè)積體電路按一定的邏輯組成的一個(gè)部件,如軟驅(qū)卡、硬驅(qū)卡、圖形卡、聲卡、列印卡、串行通信卡等。上一頁(yè)返回二、I/O端口地址分配不同的微機(jī)系統(tǒng)對(duì)I/O端口地址的分配是不同的。PC微機(jī)是根據(jù)上述I/O介面的硬體分類,把I/O空間分成兩部分。雖然,PC微機(jī)I/O地址線可有16根,對(duì)應(yīng)的I/O端口編址可達(dá)64K位元組,但由於IBM公司當(dāng)初設(shè)計(jì)微機(jī)主板及規(guī)劃介面卡時(shí),其端口地址解碼是採(cǎi)用非完全解碼方式,即只考慮了低10位地址線Ao--A9,而沒(méi)有考慮高6位地址線A10--Al5,故其I/O端口地址範(fàn)圍是0000H-003FFH,總共只有1024個(gè)端口,並且把前512個(gè)端口分配給了主板,後512個(gè)端口分配給了擴(kuò)展槽上的常規(guī)外設(shè)。後來(lái)在PC/AT系統(tǒng)中,作了一些調(diào)整,其中前256個(gè)端口(000-0FFH)供系統(tǒng)板上的I/0介面晶片使用。後768(100—3FFH)供擴(kuò)展槽上的I/O介面控制卡使用,如表2.2所示。上一頁(yè)返回
在表2.1中分配給每個(gè)介面晶片的I/O端口地址,在實(shí)際使用中,並未全部用完。例如,中斷控制器8259A只使用了前面2個(gè)端口地址,20H、21H(主片)和AOH、A1H(從片)。並行介面晶片8255A,只使用了前面4個(gè)端口地址,60H~63H。使用端口地址最多的DMA控制器晶片8237A,也只用了前面的16個(gè)地址(0-Fl/)。從表2.2中,可以看到允許用戶使用的端口地址是300H—31FH。這一段地址是留給用戶在開(kāi)發(fā)IBM-PC系列機(jī)功能模組(插板)時(shí),使用的端口地址,系統(tǒng)是不會(huì)佔(zhàn)用它的。上一頁(yè)返回
三、I/O端口地址選用的原則只要設(shè)計(jì)I/O介面電路,就必然要使用I/O端口地址。為了避免端口地址發(fā)生衝突,在選用I/O端口地址時(shí)要注意:①凡是被系統(tǒng)配置所佔(zhàn)用了的地址一律不能使用;②原則上講,未被佔(zhàn)用的地址,用戶可以使用,但對(duì)電腦廠家申明保留的地址,不要使用,否則,會(huì)發(fā)生I/O端口地址重疊和衝突,造成用戶開(kāi)發(fā)的產(chǎn)品與系統(tǒng)不相容而失去使用價(jià)值;③一般,用戶可使用300-31FH地址,這是IBM-PC微機(jī)留作實(shí)驗(yàn)卡用的,用戶可以使用。但是,由於每個(gè)用戶都可以使用,所以在用戶可用的這段I/O地址範(fàn)圍內(nèi),為了避免與其他用戶開(kāi)發(fā)的插板發(fā)生地址衝突,最好採(cǎi)用地址開(kāi)關(guān)。上一頁(yè)返回
2.3I/O端口地址解碼
CPU為了對(duì)I/O端口進(jìn)行讀寫操作,就需確定與自己交換資訊的端口(寄存器),那麼,是通過(guò)什麼媒介把來(lái)自地址匯流排上的地址代碼翻譯成為所需要訪問(wèn)的端口(寄存器)的,這就是所謂的端口地址解碼問(wèn)題。這個(gè)“媒介”就是I/O地址解碼電路。上一頁(yè)返回
一、I/O地址解碼電路工作原理及作用1.解碼電路的輸入信號(hào):首先,應(yīng)該指出的是,I/O地址解碼電路不僅僅與地址信號(hào)有關(guān),而且與控制信號(hào)有關(guān)。因此,I/O端口地址解碼電路的作用是把地址和控制信號(hào)進(jìn)行邏輯組合,從而產(chǎn)生對(duì)接口晶片的選擇信號(hào)。由於I/O地址解碼除了地址範(fàn)圍受上述地址分配的限制之外,還要滿足其他一些控制條件,所以,解碼電路的輸入端除了地址信號(hào)線之外,還要引入一些控制信號(hào)。例如,用SBHE信號(hào)控制端口奇偶地址;用I/OCS16信號(hào)控制8位或16位I/O端口;用AEN信號(hào)控制非DMA傳送以及用IOR和IOW信號(hào)控制對(duì)端口的讀/寫等。為此,在設(shè)計(jì)地址解碼電路時(shí),除了根據(jù)2.2節(jié)選用I/O端口地址的原則,精心選擇地址範(fàn)圍之外,還要根據(jù)CPU與I/O端口交換數(shù)據(jù)時(shí)的流向(讀/寫)、數(shù)據(jù)寬度(8位/16位),以及是否採(cǎi)用奇偶地址和DMA傳送方式的要求來(lái)引入相應(yīng)的控制信號(hào),參加地址解碼。上一頁(yè)返回2.解碼電路的輸出信號(hào)解碼電路把輸入的地址線和控制線經(jīng)過(guò)邏輯組合後,所產(chǎn)生的輸出信號(hào)線就是l根選中線,低電平有效。即若解碼電路的輸出線為低,則表示解碼有效;若輸出線為高,則解碼無(wú)效。當(dāng)I/O地址解碼有效,選中一個(gè)介面晶片時(shí),這個(gè)晶片內(nèi)部的數(shù)據(jù)線打開(kāi),並與系統(tǒng)匯流排相連,從而打通了介面電路與系統(tǒng)匯流排的通路。而其他介面晶片的選中線無(wú)效,於是晶片內(nèi)部呈高阻抗,自然就與系統(tǒng)匯流排隔離開(kāi)來(lái),從而關(guān)閉了介面電路與系統(tǒng)匯流排的通路。CPU就是這樣利用解碼電路來(lái)選擇與之交換資訊的介面電路的。上一頁(yè)返回二、I/O地址解碼方法
I/O端口地址解碼的方法靈活多樣,可按地址和控制信號(hào)不同的組合去進(jìn)行解碼。一般原則是把地址線分為兩部分:一部分是高位地址線與CPU的控制信號(hào)進(jìn)行組合,經(jīng)解碼電路產(chǎn)生I/O介面晶片的片選CS信號(hào),實(shí)現(xiàn)系統(tǒng)中的片間尋址;另一部分是低位地址線不參加解碼,直接連到I/O介面晶片,進(jìn)行I/O介面晶片的片內(nèi)端口尋址,即寄存器尋址。所以,低位地址線,又稱介面電路中的寄存器尋址線。低位地址線的根數(shù)決定於介面中寄存器的個(gè)數(shù)。例如,並行介面晶片8255A內(nèi)部有4個(gè)寄存器,就需要2根低位地址線。串行介面晶片8251A內(nèi)部只有2個(gè)寄存器,就只需1根低位地址線。若從系統(tǒng)的角度宋考慮,則低位地址線的根數(shù)應(yīng)由系統(tǒng)中含有寄存器數(shù)目最多的介面晶片來(lái)決定。上一頁(yè)返回三、I/O端口地址解碼電路設(shè)計(jì)解碼電路的形式可分為固定式解碼和可選式解碼。若按解碼電路採(cǎi)用的原器件來(lái)分,又可分為門電路解碼和解碼器解碼1.固定式端口地址解碼所謂固定式是指介面中用到的端口地址不能更改。目前,介面卡中一般是採(cǎi)用固定式解碼。在固定式解碼電路中,又分單個(gè)端口地址解碼和多個(gè)端口地址解碼兩種情況。若僅需一個(gè)端口地址,則採(cǎi)用門電路構(gòu)成解碼電路。上一頁(yè)返回
例1:使用74LS20/30/32和74LS04設(shè)計(jì)I/0端口地址為2F8H的只讀解碼電路。分析:若要產(chǎn)生2F8H端口地址,則解碼電路的輸入地址線就應(yīng)具有如表2.3所示的值。設(shè)計(jì):按照表2.3中地址線的值,採(cǎi)用門電路就可以設(shè)計(jì)出解碼電路,如圖2.1(a)所示。圖中ANE參加解碼,它對(duì)端口地址解碼進(jìn)行控制,只有當(dāng)ANE=0時(shí),既不是DMA操作時(shí)解碼才有效;當(dāng)ANE=1時(shí),即是DMA操作時(shí),解碼無(wú)效。圖2.1中,要求DMA=0是為了避免在DMA週期中,由DMA控制器對(duì)這些以非DMA方式傳送的I/O端口執(zhí)行DMA方式的傳送。同理可設(shè)計(jì)出能執(zhí)行讀/寫操作的2E2H端口地址的解碼電路,如圖2.1(b)所示。若介面電路中需使用多個(gè)端口地址,則採(cǎi)用解碼器解碼比較方便。解碼器的型號(hào)很多,如3-8解碼器74L5138;4-16解碼器74LSl540~I.2-4解碼器74L8139、74LSl55等。上一頁(yè)返回例2:使用7413138設(shè)計(jì)一個(gè)系統(tǒng)板七控口晶片的I/O端口地址解碼電路,並且讓每個(gè)介面晶片內(nèi)部的端口數(shù)目為32個(gè)。分析:由於系統(tǒng)板上的I/O端口地址分配在000~0FFH範(fàn)圍內(nèi),故只使用低8位地址線,這意味著A9和A8兩位應(yīng)賦0值。為了讓每個(gè)被選中的晶片內(nèi)部擁有32個(gè)端口,只要留出5根低位地址線不參加解碼,其餘的高位地址線作為7413138的輸入線,參加解碼,或作為74LSD8的控制線與AEN一起(控制74LSl38的解碼是否有效。由上述分析,可以得到解碼電路輸入地址線的值,如表2.4所示。對(duì)於解碼器74LSl38的分析有兩點(diǎn):一是它的控制信號(hào)線G1、G2A和G2B。只有當(dāng)滿足控制信號(hào)線C=1,G2A=G2B=0時(shí),74L8138才能進(jìn)行解碼。二是解碼的邏輯關(guān)係,即輸入(C,B,A)與輸出(Y0-Y7)的對(duì)應(yīng)關(guān)係。74LSl38輸入/輸出的邏輯關(guān)係,如表2.5所示。上一頁(yè)返回從表2.5可知,若滿足控制條件,即G1接高電平,G2A,和G2B。接低電平,則由輸入端C、B、A的編碼來(lái)決定輸出:CBA=000,則Yo=0,其他輸出端為高電平;CBA=001,Yl=0,其他輸出端為高電平;……;CBA=111,Y7=0,其他輸出端為高電平。由此可分別產(chǎn)生8個(gè)解碼輸出信號(hào)(低電平)。若控制條件不滿足,則輸出全“1”,不產(chǎn)生解碼輸出信號(hào),即解碼無(wú)效。設(shè)計(jì):採(cǎi)用74LSl38解碼器,可設(shè)計(jì)PC機(jī)系統(tǒng)板上的端口地址解碼電路,如圖2.2所示。圖中地址線的高5位參加解碼,其中A,—A,經(jīng)解碼器,分別產(chǎn)生DMACS(8237)、INTRCS(8259)、T/CCS(8253)、PPICS(8255A)的片選信號(hào),而地址線的低5位Ao-a4作晶片內(nèi)部寄存器的訪問(wèn)地址。從74LSl38解碼器的真值表可知,8237A的端口地址範(fàn)圍是000—01Fil,8259A的端口地址範(fàn)圍是020-03FH等等,正好和前面表2.1所列出的端口地址分配表一致。上一頁(yè)返回
2.可選式端口地址解碼如果用戶要求介面卡的端口地址能適應(yīng)不同的地址分配場(chǎng)合,或?yàn)橄到y(tǒng)以後擴(kuò)充留有餘地,則採(cǎi)用開(kāi)關(guān)式端口地址解碼。這種解碼方式可以通過(guò)開(kāi)關(guān)使介面卡的UO端口地址根據(jù)要求加以改變而無(wú)需改動(dòng)線路,其電路可由地址開(kāi)關(guān)、解碼器、比較器或異或門幾種元器件組成。例3:設(shè)計(jì)擴(kuò)展板上的I/O端口地址解碼電路,要求讓擴(kuò)展板上每個(gè)介面晶片的內(nèi)部端口數(shù)目為4個(gè),並且,端口地址可選。例如,選擇地址範(fàn)圍為300H—31FH。
分析:先討論構(gòu)成可選式端口地址解碼電路的地址開(kāi)關(guān)、比較器和解碼器3個(gè)元器件的工作原理,然後根據(jù)題目要求進(jìn)行電路設(shè)計(jì)。上一頁(yè)返回·對(duì)於DP開(kāi)關(guān),有兩種狀態(tài):合(ON)和斷(OFF)。所以,要對(duì)這兩種狀態(tài)進(jìn)行設(shè)定,我們?cè)O(shè)置DIP開(kāi)關(guān)狀態(tài)為:ON=O,OFF=1·對(duì)於比較器有兩點(diǎn)要考慮,一是比較的對(duì)象,二是比較的結(jié)果。我們採(cǎi)用74LS854位比較器,把它的A組4根線與地址線連接,B組4根線與DP開(kāi)關(guān)相連,這樣就把比較器A組與B組的比較,轉(zhuǎn)換成了地址線的值與DIP開(kāi)關(guān)狀態(tài)的比較。74LS85比較器比較的結(jié)果有3種:A>B,A<B,A=B。我們採(cǎi)用A=B的結(jié)果,並令當(dāng)A=B時(shí),比較器輸出高電平。這意味著,當(dāng)4位地址線的值與4個(gè)DIP開(kāi)關(guān)的狀態(tài)相等時(shí),比較器輸出高電平,否則,輸出低電平。我們又把比較器的A=B輸出線連到解碼器74LSl38的控制線G1上,因此,只有當(dāng)4位(A6-A9)地址線的值與4個(gè)(S0—S3)DIP開(kāi)關(guān)的狀態(tài)逐位相等時(shí),才能使74LSl38的控制線Gl=1,才能解碼,否則,解碼器不能工作。所以,如果改變DP開(kāi)關(guān)的狀態(tài),則迫使地址線的值發(fā)生改變,才能使兩者相等,從而達(dá)到利用DIP開(kāi)關(guān)來(lái)改變地址的目的。上一頁(yè)返回
設(shè)計(jì):根據(jù)上述分析可設(shè)計(jì)擴(kuò)展板上I/O端口地址解碼電路,如圖2.3所示。從圖中可以看到,高位地址線中,A9AQA7A6的值由DIP開(kāi)關(guān)的S,S2S,5b狀態(tài)決定。由於S,和S,斷開(kāi),S1和S0合上,故使A9=A8=1,A7=A6=0,A5連在74L8138的G2A上,故A5=0。A4A3A2三根地址線作為74L8138的輸入線,經(jīng)解碼後可產(chǎn)生8個(gè)低有效的選擇信號(hào),作為擴(kuò)展板上的介面晶片選擇。最後剩下2根低位地址線A1和Ao未參加解碼,作介面晶片的寄存器選擇,以實(shí)現(xiàn)每個(gè)介面晶片內(nèi)部擁有4個(gè)端口。上一頁(yè)返回
例4:採(cǎi)用異或門設(shè)計(jì)I/O端口地址解碼電路o
分析與設(shè)計(jì):如果用異或門代替比較器,則可得到圖2.4所示的可選式解碼電路,它由3片異或門74LSl36,9位DIP開(kāi)關(guān)和解碼器74L5138組成。741B136晶片內(nèi)部有4個(gè)異或門,其內(nèi)部邏輯如圖2.5所示。在解碼電路圖2.4中,每個(gè)異或門的兩個(gè)輸入端,一個(gè)接地址線或控制線,另一個(gè)接地址開(kāi)關(guān)。並且將所有異或門的輸出端連在一起,再接到74LSl38的控制端G上。要使控制信號(hào)C:為“1”,則必須使每個(gè)異或門的輸出端都為“1”。上一頁(yè)返回
這意味著每個(gè)異或門的兩個(gè)輸入信號(hào)必須相異,例如圖2.4中的AEN接在74L5136的4端,而74L5136的5端接高電平,所以4端必須為低電平,也就是說(shuō)AEN應(yīng)為低電平,即非DMA週期,解碼才有效。同理可知分別連在74LSl36的1和2端上的IOR~IOW兩個(gè)控制信號(hào)只能在分開(kāi)單獨(dú)讀或單獨(dú)寫時(shí),解碼才有可能,同時(shí)讀寫或同時(shí)都不讀寫時(shí)封鎖解碼器74LSl38,使解碼無(wú)效。其餘各項(xiàng)異或?yàn)椤皬V的條件,由系統(tǒng)地址匯流排送來(lái)的地址碼與DIP開(kāi)關(guān)狀態(tài)來(lái)決定,當(dāng)?shù)刂反a和DIP開(kāi)關(guān)狀態(tài)相異時(shí),結(jié)果為“廣。若改變DIP的開(kāi)關(guān)狀態(tài),也就改變了地址。按圖2.4中所設(shè)的開(kāi)關(guān)狀態(tài),該解碼電路輸入地址的值,如表2.6所示。其地址範(fàn)圍是710H-717H。上一頁(yè)返回例5:採(cǎi)用跳接開(kāi)關(guān)設(shè)計(jì)I/O端口地址解碼電路用跳接開(kāi)關(guān)代替DIP開(kāi)關(guān),可得到如圖2,6所示的可選式解碼電路。若改變跳接開(kāi)關(guān)連接方向,則有1024種選擇。上一頁(yè)返回
2.4CAL器件及其在I/O地址解碼中的應(yīng)用一、GAL器件的特點(diǎn)
GAL(GenericArrayI~gic)是美國(guó)LATFICE公司提出的可編程邏輯器件PLD,它具有如下特點(diǎn):①可以實(shí)現(xiàn)組合邏輯電路和時(shí)序邏輯電路的多種功能。經(jīng)過(guò)編程可以構(gòu)成多種門電路,如觸發(fā)器、寄存器、計(jì)數(shù)器、比較器、解碼器、多路開(kāi)關(guān)或控制器等,代替常用的74系列和54系列的TYL器件或CD4000系列的CMOS晶片。據(jù)統(tǒng)計(jì),一個(gè)GAL器件在功能上可以代替4—12個(gè)中小規(guī)模集成晶片,從而使系統(tǒng)縮小體積,提高可靠性,井簡(jiǎn)化印製電路板的設(shè)計(jì)。
上一頁(yè)返回②採(cǎi)用電擦除工藝,門陣列的每個(gè)單元可以反復(fù)改寫(至少100次),因而整個(gè)器件的邏輯功能可以重新配置,因此它是產(chǎn)品開(kāi)發(fā)研製中的理想工具。③具有硬體加密單元,可以防止抄襲電路設(shè)計(jì)和非法複製。④速度高而功耗低,具有高速電擦電寫能力,改寫整個(gè)晶片只需數(shù)秒鐘,而功耗只有雙極型邏輯器件的1/2或1/4,緩解了溫升問(wèn)題。因此,GAL得到越來(lái)越多用戶的青睞,在微機(jī)應(yīng)用系統(tǒng)中被廣泛採(cǎi)用。上一頁(yè)返回二、CAL器件的開(kāi)發(fā)工具與開(kāi)發(fā)步驟1.開(kāi)發(fā)工具
GAL器件能否得到廣泛應(yīng)用,很大程度上取決於它是否有優(yōu)良的開(kāi)發(fā)環(huán)境。若用手工方式編程,則不僅繁瑣,而且容易出錯(cuò)?,F(xiàn)已有很多公司推出/開(kāi)發(fā)工具,借助這些工具,用戶可以得心應(yīng)手地把GAL器件應(yīng)用到邏輯設(shè)計(jì)中去。開(kāi)發(fā)工具包括硬體工具——編程器和軟體工具——專用的編譯程序或組合語(yǔ)言程式。
GAL編程器與EPROM/fPROM的編程器在原理上並無(wú)多大差別。目前國(guó)內(nèi)常見(jiàn)的編程器有PROMA、EXPR040和ALL-03型,其中ALD03是常用的功能很強(qiáng)的編程器,不僅可以對(duì)各個(gè)廠家生產(chǎn)的各種型號(hào)的GAL、PAL、EP~D編程,還可對(duì)EPROM、fPROM編程,並具有IC數(shù)字電路測(cè)試功能。上一頁(yè)返回
目前已有多種GAL編程軟體,如CUPL和ABEL屑編譯型高級(jí)開(kāi)發(fā)軟體,具有自動(dòng)邏輯化簡(jiǎn)、語(yǔ)法檢查和模擬仿真功能。在輸入檔中可以採(cǎi)用布爾方程、真值表和狀態(tài)轉(zhuǎn)換圖。FM(FastMap)是通用的彙編型的軟體。使用它可以把按一定格式編寫的GAL設(shè)計(jì)說(shuō)明書(shū)進(jìn)行彙編,生成對(duì)GAL編程的檔。由於它簡(jiǎn)單,實(shí)用,易於掌握,因而得到了廣泛的應(yīng)用oFM是一個(gè)組合語(yǔ)言程式,它可以對(duì)具有一定格式的GAL編程輸入原始檔案(擴(kuò)展名.PLD)進(jìn)行彙編,即把與-或(積-和)形式的邏輯方程翻譯並生成列表檔(.LST)、熔絲狀態(tài)圖文件(.PLT)和分佈數(shù)據(jù)代碼檔(,JED),然後利用編程器,把分佈數(shù)據(jù)寫入到GAL中。上一頁(yè)返回
2.開(kāi)發(fā)步驟與方法下麵以採(cǎi)用GALl6V8來(lái)實(shí)現(xiàn)基本門電路邏輯為例,說(shuō)明GAL器件的開(kāi)發(fā)過(guò)程,共分3步。①利用文本編輯程式(如EDIT)按一定格式編寫GAL編程輸入原始檔案(或叫GAL設(shè)計(jì)說(shuō)明書(shū))。使用FM軟體前,首先要準(zhǔn)備好GAL編程輸人原始檔案,其格式如下:
GALl6V8;DEVICENAME——LINE1—-BASICGATES;(USE)—LINE2—XUAIQINGMAR.151998B1TI;(DESIGNER)—LINE3—BGATES;SIGNATURE——LINE4——CDFGMNPQIGND;PINNAME—LINEI—JKLROHEBAVCC;PINNAME
上一頁(yè)返回B=/A;INVERTER—LINEJ—E=C*D;ANDGATEH=F+G;ORGATEL=/I+/J+/K;NANDGATEO=/M*/N;NORGATEN=P*/Q+/P*Q;XORGATEDESCRIPTION;KEYWORD—LINEK-THISEXAMPLEILLUSTRATESTHEUSEOFGALDEVICEANDITSDEVELOPMENTTOOL.上一頁(yè)返回
其中:斜杠(/)符號(hào),表示低電平有效第一行器件型號(hào),必須用大寫字母第二行標(biāo)題(GAL器件的應(yīng)用)第三行設(shè)計(jì)者姓名,日期等第四行電子標(biāo)籤第I行引腳名,可佔(zhàn)用多行,i≥5第J行邏輯方程,可佔(zhàn)用多行第K行程式描述。DESCRIPTION是關(guān)鍵字,不可少,且必須用大寫字母。上一頁(yè)返回
注意:第1行的器件型號(hào)和第4行的電子標(biāo)籤的位置不能變。第2、3行寫什麼由設(shè)計(jì)者自己定,上例中只是推薦的格式,這兩行無(wú)論寫什麼bqVl軟體都不會(huì)判錯(cuò)。關(guān)鍵字DESCRIPTION不可缺,即使後面不給出任何描述,也要寫出關(guān)鍵字,且一定要頂頭開(kāi)始寫,前面不能留空格。每個(gè)引腳名最多可用8個(gè)字元,名字間應(yīng)用空格、跳位字元、回車符隔開(kāi)。不使用的引腳習(xí)慣上用NC表示,地用GND表示,電源用U”表示。引腳名必須按引腳號(hào)的次序排列,排完第一行,再排第二行。器件類型和關(guān)鍵字DESCRIPTION必須用大寫字母。輸入原始檔案的核心部分是輸入與輸出信號(hào)的邏輯方程,因?yàn)榻M合語(yǔ)言程式FM無(wú)邏輯化簡(jiǎn)功能。所以,原始檔案要用簡(jiǎn)化的與-或式(積—和式)寫出。輸入原始檔案可以在任一編輯器上進(jìn)行編輯,編輯完畢後,以擴(kuò)展名.PLD存盤。上一頁(yè)返回②使用FM.EXE組合語(yǔ)言程式對(duì)GAL輸入原始檔案進(jìn)行彙編,並生成3個(gè)基本檔。當(dāng)準(zhǔn)備好輸入原始檔案後,就可以啟動(dòng)FM組合語(yǔ)言程式,根據(jù)FM的菜單,分別生成:LST列表.文檔檔——包括原始檔案和引腳分配圖;PLT熔絲狀態(tài)分佈圖檔——供用戶直觀地查看邏;輯方程用;JED分佈數(shù)據(jù)檔——包含門陣列中所有編程節(jié)點(diǎn)的編程資訊代碼,這些代碼可通·過(guò)編程器,直接寫入GAL,進(jìn)行“編程寫入”,故又稱為編程代碼檔或裝載檔。上一頁(yè)返回
FM.EXE組合語(yǔ)言程式的啟動(dòng)和操作如下:?jiǎn)?dòng)時(shí),在DOS提示符下鍵人FM,再鍵人已準(zhǔn)備好的GAL檔後,螢?zāi)簧蠒?huì)出現(xiàn)如圖2.7所示的FM菜單,並提請(qǐng)用戶鍵人相應(yīng)的選擇項(xiàng)(數(shù)字鍵1—5)。若鍵人“1”,則FM將生成一份擴(kuò)展名為.LST的文檔檔,包括原始檔案和GAL引腳配置圖。若輸入“2”,則FM將生成一份擴(kuò)展名為.PLT的晶片熔絲狀態(tài)分佈圖檔。若鍵人“3”,則FM將生成一份擴(kuò)展名為.用D的JEDEC標(biāo)準(zhǔn)裝載檔,這種標(biāo)準(zhǔn)檔包含門陣列中所有編程節(jié)點(diǎn)的編程資訊,可以直接寫入GAL晶片。若鍵人“4”,則放棄對(duì)現(xiàn)檔的彙編,F(xiàn)M將要求用戶輸入新的編程輸入原始檔案名,重新顯示菜單。若鍵人“5”,則由FM退回到DOS環(huán)境。上一頁(yè)返回
③使用ALD03編程器將擴(kuò)展名為.JED的裝載檔“燒”到GAL器件內(nèi)。在DOS提示符下,鍵人"ACCESS'’,按回車鍵,螢?zāi)簧蠈@示:
ALD03A/03UniversalProgrammer&TesterHI-LOSYSTEMSCO.,LTDALLRightReserved
按回車鍵後,將顯示新的一屏,接著可按螢?zāi)粯?biāo)題顯示來(lái)選擇GAL、PAL等晶片生產(chǎn)公司(工廠)的名字,及某一公司(工廠)的產(chǎn)品型號(hào)。按準(zhǔn)備編程的GAL的生產(chǎn)公司和型號(hào)進(jìn)行選擇。例如,若待編程的GAL是LATIICE公司生產(chǎn)的"GALl6V8'’,則鍵人“09”(對(duì)應(yīng)LATIlCE公司),按回車鍵,右邊一列顯示出該公司的多個(gè)產(chǎn)品型號(hào),再鍵人“00”(對(duì)應(yīng)GALl6V8),選定編程晶片型號(hào)。螢?zāi)粚@示如圖2.8所示的菜單。上一頁(yè)返回
利用此菜單,只需按以下步驟操作,即可完成GAL器件的編程工作。當(dāng)把GAL器件插入編程器的插座後,第一步,鍵入“2”,把裝載檔.JED裝入緩衝區(qū)。第二步,鍵人“B”,檢查晶片是否擦除好,若未擦除好,則鍵人“E”,將其擦除。第三步,鍵入“P”,即進(jìn)行編程(燒錄)。第四步,鍵人“V”,進(jìn)行核對(duì)。若要加密,則最後鍵人“S”。編程即告結(jié)束。為簡(jiǎn)單起見(jiàn),也可在.扛D檔裝入後,只鍵人“A”,代替前述各步,一次自動(dòng)完成編程工作。上一頁(yè)返回
在微機(jī)上,通過(guò)GAL編程軟體和編程器將.JED檔中的編程代碼寫入(“燒”人)GALl6V8,至此一個(gè)滿足上述要求的GAL基本邏輯門電路開(kāi)發(fā)完畢。在使用中若發(fā)現(xiàn)有問(wèn)題,或要求改變門電路,可以將原代碼擦除,重新編寫原始檔案,形成.JED檔,再“燒”人GAL。若想保護(hù)源代碼不被非法佔(zhàn)有,則可以在燒人時(shí)實(shí)現(xiàn)邏輯電路的加密功能。上一頁(yè)返回
三、採(cǎi)用GAI的I/O端口地址解碼電路設(shè)計(jì)1.要求利用GAL器件設(shè)計(jì)MFID多功能微機(jī)介面實(shí)驗(yàn)平臺(tái)的I/O端口地址解碼電路,其端口地址範(fàn)圍為300H-3FFH,分成16個(gè)段,每個(gè)段包含4個(gè)介面晶片,每個(gè)介面晶片內(nèi)部擁有4個(gè)端口。上一頁(yè)返回
2.分析①地址線的分配與使用。首先,從端口地址範(fàn)圍,可知最高兩位地址線的值A(chǔ)9=A8=1。其次,要求分成16個(gè)段,可由A7A6A5A4四位地址線進(jìn)行組合,實(shí)現(xiàn)段選。而每個(gè)段包含4片介面晶片,故可用A3和A2兩位地址線進(jìn)行組合,實(shí)現(xiàn)片選。最後,為了讓每個(gè)晶片內(nèi)部擁有4個(gè)端口,將A1和Ao最低兩位地址線,不參加解碼,直接連到介面晶片上,進(jìn)行片內(nèi)寄存器尋址。因此,可得解碼電路輸入地址線的值,如表2.7所示。②參加解碼的控制線。根據(jù)需要,只有IOW、IOR和AEN三根控制線參加解碼。③GAL器件的選擇。從上述分析可知,除去不參加解碼的A1和Ao之外,還有8根地址線,其中A7—A4四根地址線,經(jīng)DIP開(kāi)關(guān)和比較器進(jìn)行段選,比較器的輸出線僅有1根A=B線,所以,送到GAL的地址線,只有A9,A8,A=B,A3和A2五根,再加上3根控制線,共8根線作為GAL的輸入線。GAL的輸出線應(yīng)包括4根片選信號(hào)線(Y0Y1Y2Y3),l根74LS245的選通線DS和1根方向控制線DIR,共6根,所以可選擇GALl6V8作解碼器。下麵對(duì)GALl6V8進(jìn)行討論。上一頁(yè)返回④GALl6V8晶片。GALl6V8有20個(gè)引腳,如圖2.9所示,它有8個(gè)輸入端(2—9),8個(gè)輸出端(12—19),1個(gè)時(shí)鐘輸入端(1)和1個(gè)輸出允許(11)控制端。其中除了8個(gè)輸入引腳(2-9)固定作輸入之外,還可以把8個(gè)輸出引腳(12—19)配置成輸入引腳作為輸入使用,因此,這個(gè)晶片最多可有16個(gè)輸入引腳,而輸出引腳最多為8個(gè),這就是GALl6V8中兩個(gè)數(shù)字(16和8)的含義。
GALl6V8的外部引腳和內(nèi)部結(jié)構(gòu)見(jiàn)圖2.10。由圖可見(jiàn),外部輸入信號(hào)允許正、負(fù)兩種極性(原碼或反碼)輸人,8個(gè)輸人信號(hào)(引腳2圖2,9GALl6V8的引腳
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代物流信息系統(tǒng)建設(shè)中的標(biāo)準(zhǔn)化問(wèn)題
- 掛繩高空作業(yè)施工方案
- 拆除臨時(shí)用電施工方案
- 生態(tài)文明教育在校園的實(shí)踐與推廣
- 現(xiàn)代企業(yè)綜合管理能力提升及領(lǐng)導(dǎo)力培訓(xùn)方案研究報(bào)告
- 國(guó)慶節(jié)營(yíng)銷活動(dòng)方案模板
- 2023三年級(jí)語(yǔ)文上冊(cè) 第一單元 習(xí)作:猜猜他是誰(shuí)說(shuō)課稿 新人教版
- Unit 2 AnimaIs Lesson 1 Enjoy the story(說(shuō)課稿)-2024-2025學(xué)年北師大版(三起)英語(yǔ)五年級(jí)上冊(cè)
- 2024秋八年級(jí)物理上冊(cè) 第1章 機(jī)械運(yùn)動(dòng) 第2節(jié) 運(yùn)動(dòng)的描述說(shuō)課稿2(新版)新人教版
- 2025仿石漆施工合同
- 口腔種植術(shù)單病種質(zhì)控查檢表
- 中日勞務(wù)合同范本
- 白宮-人工智能行業(yè):美國(guó)人工智能權(quán)利法案藍(lán)圖(英譯中)
- 營(yíng)口市大學(xué)生??紝U锌荚囌骖}2022
- 典范英語(yǔ)8-15Here comes trouble原文翻譯
- 六安市葉集化工園區(qū)污水處理廠及配套管網(wǎng)一期工程環(huán)境影響報(bào)告書(shū)
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第一章運(yùn)動(dòng)技能學(xué)習(xí)與控制概述
- 固體廢棄物檢查記錄
- 工程設(shè)計(jì)費(fèi)取費(fèi)標(biāo)準(zhǔn)
- 2023年遼寧鐵道職業(yè)技術(shù)學(xué)院高職單招(數(shù)學(xué))試題庫(kù)含答案解析
- CAPP教學(xué)講解課件
評(píng)論
0/150
提交評(píng)論