IO端口地址译码技术课件_第1页
IO端口地址译码技术课件_第2页
IO端口地址译码技术课件_第3页
IO端口地址译码技术课件_第4页
IO端口地址译码技术课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I/O端口地址解碼技術

設備選擇功能是介面電路應具備的基本功能之一,因此,作為進行設備端口選擇的I/O端口基本概念和I/O端口譯碼基本原理.基本方法的基礎上,著重討論解碼電路的設計.2.1I/O端口及其編址方式一.I/O端口和I/O操作1.I/O端口端口(port)是介面電路中能被CPU直接訪問的寄存器的地址.2.I/O操作通常所說的I/O操作是指對I/O端口的操作,而不是對I/O設備的操作,即CPU所訪問的是與I/O設備本身上一頁返回二.端口地址編址方式對上述端口有兩種編址方式,一種是端口地址和寄存器地址統一編制,另一種是I/O端口地址和記憶體分開獨立編址.1.統一編址這種,是從記憶體空間劃出一部分地地址空間給I/O設備,把I/O介面中的端口當作記憶體單元一樣進行訪問,不設置專門的I/O指令,有一部分對記憶體使用的指令也可用於端口。Motoral系列,Apple系列微型機和小型機就是採用這種方式。這種方式有許多優點:由於對I/O設備的訪問是使用訪問記憶體的指令,所以指令類型多,功能齊全,這使訪問I/O端口可實現輸入/輸出操作,而且還可以對端口內容進行算術邏輯位移等等;另外能給端口有較大的的編址空間,這對大型控制系統和數據通信系統是很有意義的。這種方式的缺點是端口佔用了記憶體的地址空間,使記憶體容量減小,另外指令長度比專門I/O指令要長,因而速度較慢。

上一頁返回

2.獨立編址這種方式是介面中的端口地址單獨編址而不和存儲空間合在一起,大型電腦通常採用這種方式,有些微機,如IBM-PC系列和Z-80系列機也採用這種方式。這種方式的主要優點是:I/O端口地址不佔用記憶體空間;使用專門的I/O指令對端口進行操作,I/O指令短,執行速度快;並且由於專門I/O指令與記憶體訪問指令有明顯的區別,使程式中I/O操作和記憶體操作層次清晰,程式的可讀性強。同時,由於使用專門的I/O指令訪問端口,並且I/O端口地址和記憶體地址是分開的,故I/O端口地址和記憶體地址可以重疊,而不會相互混淆。上一頁返回

三、獨立編址方式的端口訪問1.YO指令中端口地址的寬度

IBM-PC系列採用I/O(input/output)指令訪問端口,實現數據的I/O傳送。在I/0指令中可採用單字節地址或雙位元組地址尋址方式。若用單字節地址作為端口地址,則最多可訪問256個端口。系統主板上介面晶片的端口,採用單字節地址,並且是直接在指令中給出端口地址,2.I/0端口訪問所謂對端口的訪問就是CPU對端口的讀/寫。而通常所說的微處理器CPU從端口讀數據或向端口寫數據,僅僅是指FO端口與CPU的累加器之間的數據傳送,並未涉及數據是否傳送到存儲99(RAM)的問題。若要求輸入時,將端口的數據傳送到記憶體,則除了把數據讀入CPU的累加器之外,還要將累加9S中的數據再傳送到記憶體。或者相反,輸出時,數據從記憶體先送到CPU的累加器,再從累加器傳送到I/O端口。上一頁返回

例如:輸入時MOVDX,300H;I/O端口

INAL,DX;從端口讀數據到ALMOV[DI],AL;將數據從AL-→記憶體輸出時MOVDX,301H;I/O端口

MOVAL,[SI];從記憶體取數到從

OUTDX,AL;數據從AL-→端口2.2I/O端口地址分配對於介面設計者來說,搞清楚系統I/O端口地址分配十分重要,因為要把新的I/O設備加入到系統中去就要在I/O地址空間中占一席之地。哪些地址已分配給了別的設備,哪些是電腦製造商為今後的開發而保留的,哪些地址是空閒的,瞭解了這些資訊才能為我所用。下麵以IBM-PC系列為例來分析I/O端口地址分配情況。上一頁返回

一、I/O介面硬體分類按照I/O設備的配置情況,I/O介面的硬體分成兩類:1.系統板上的I/O晶片這些晶片大多都是可編程的大規模積體電路,完成相應的介面操作,如定時/計數器、中斷控制器、DMA控制器、並行介面等。2.I/O擴展槽上的介面控制卡這些控制卡(適配器)是由若干個積體電路按一定的邏輯組成的一個部件,如軟驅卡、硬驅卡、圖形卡、聲卡、列印卡、串行通信卡等。上一頁返回二、I/O端口地址分配不同的微機系統對I/O端口地址的分配是不同的。PC微機是根據上述I/O介面的硬體分類,把I/O空間分成兩部分。雖然,PC微機I/O地址線可有16根,對應的I/O端口編址可達64K位元組,但由於IBM公司當初設計微機主板及規劃介面卡時,其端口地址解碼是採用非完全解碼方式,即只考慮了低10位地址線Ao--A9,而沒有考慮高6位地址線A10--Al5,故其I/O端口地址範圍是0000H-003FFH,總共只有1024個端口,並且把前512個端口分配給了主板,後512個端口分配給了擴展槽上的常規外設。後來在PC/AT系統中,作了一些調整,其中前256個端口(000-0FFH)供系統板上的I/0介面晶片使用。後768(100—3FFH)供擴展槽上的I/O介面控制卡使用,如表2.2所示。上一頁返回

在表2.1中分配給每個介面晶片的I/O端口地址,在實際使用中,並未全部用完。例如,中斷控制器8259A只使用了前面2個端口地址,20H、21H(主片)和AOH、A1H(從片)。並行介面晶片8255A,只使用了前面4個端口地址,60H~63H。使用端口地址最多的DMA控制器晶片8237A,也只用了前面的16個地址(0-Fl/)。從表2.2中,可以看到允許用戶使用的端口地址是300H—31FH。這一段地址是留給用戶在開發IBM-PC系列機功能模組(插板)時,使用的端口地址,系統是不會佔用它的。上一頁返回

三、I/O端口地址選用的原則只要設計I/O介面電路,就必然要使用I/O端口地址。為了避免端口地址發生衝突,在選用I/O端口地址時要注意:①凡是被系統配置所佔用了的地址一律不能使用;②原則上講,未被佔用的地址,用戶可以使用,但對電腦廠家申明保留的地址,不要使用,否則,會發生I/O端口地址重疊和衝突,造成用戶開發的產品與系統不相容而失去使用價值;③一般,用戶可使用300-31FH地址,這是IBM-PC微機留作實驗卡用的,用戶可以使用。但是,由於每個用戶都可以使用,所以在用戶可用的這段I/O地址範圍內,為了避免與其他用戶開發的插板發生地址衝突,最好採用地址開關。上一頁返回

2.3I/O端口地址解碼

CPU為了對I/O端口進行讀寫操作,就需確定與自己交換資訊的端口(寄存器),那麼,是通過什麼媒介把來自地址匯流排上的地址代碼翻譯成為所需要訪問的端口(寄存器)的,這就是所謂的端口地址解碼問題。這個“媒介”就是I/O地址解碼電路。上一頁返回

一、I/O地址解碼電路工作原理及作用1.解碼電路的輸入信號:首先,應該指出的是,I/O地址解碼電路不僅僅與地址信號有關,而且與控制信號有關。因此,I/O端口地址解碼電路的作用是把地址和控制信號進行邏輯組合,從而產生對接口晶片的選擇信號。由於I/O地址解碼除了地址範圍受上述地址分配的限制之外,還要滿足其他一些控制條件,所以,解碼電路的輸入端除了地址信號線之外,還要引入一些控制信號。例如,用SBHE信號控制端口奇偶地址;用I/OCS16信號控制8位或16位I/O端口;用AEN信號控制非DMA傳送以及用IOR和IOW信號控制對端口的讀/寫等。為此,在設計地址解碼電路時,除了根據2.2節選用I/O端口地址的原則,精心選擇地址範圍之外,還要根據CPU與I/O端口交換數據時的流向(讀/寫)、數據寬度(8位/16位),以及是否採用奇偶地址和DMA傳送方式的要求來引入相應的控制信號,參加地址解碼。上一頁返回2.解碼電路的輸出信號解碼電路把輸入的地址線和控制線經過邏輯組合後,所產生的輸出信號線就是l根選中線,低電平有效。即若解碼電路的輸出線為低,則表示解碼有效;若輸出線為高,則解碼無效。當I/O地址解碼有效,選中一個介面晶片時,這個晶片內部的數據線打開,並與系統匯流排相連,從而打通了介面電路與系統匯流排的通路。而其他介面晶片的選中線無效,於是晶片內部呈高阻抗,自然就與系統匯流排隔離開來,從而關閉了介面電路與系統匯流排的通路。CPU就是這樣利用解碼電路來選擇與之交換資訊的介面電路的。上一頁返回二、I/O地址解碼方法

I/O端口地址解碼的方法靈活多樣,可按地址和控制信號不同的組合去進行解碼。一般原則是把地址線分為兩部分:一部分是高位地址線與CPU的控制信號進行組合,經解碼電路產生I/O介面晶片的片選CS信號,實現系統中的片間尋址;另一部分是低位地址線不參加解碼,直接連到I/O介面晶片,進行I/O介面晶片的片內端口尋址,即寄存器尋址。所以,低位地址線,又稱介面電路中的寄存器尋址線。低位地址線的根數決定於介面中寄存器的個數。例如,並行介面晶片8255A內部有4個寄存器,就需要2根低位地址線。串行介面晶片8251A內部只有2個寄存器,就只需1根低位地址線。若從系統的角度宋考慮,則低位地址線的根數應由系統中含有寄存器數目最多的介面晶片來決定。上一頁返回三、I/O端口地址解碼電路設計解碼電路的形式可分為固定式解碼和可選式解碼。若按解碼電路採用的原器件來分,又可分為門電路解碼和解碼器解碼1.固定式端口地址解碼所謂固定式是指介面中用到的端口地址不能更改。目前,介面卡中一般是採用固定式解碼。在固定式解碼電路中,又分單個端口地址解碼和多個端口地址解碼兩種情況。若僅需一個端口地址,則採用門電路構成解碼電路。上一頁返回

例1:使用74LS20/30/32和74LS04設計I/0端口地址為2F8H的只讀解碼電路。分析:若要產生2F8H端口地址,則解碼電路的輸入地址線就應具有如表2.3所示的值。設計:按照表2.3中地址線的值,採用門電路就可以設計出解碼電路,如圖2.1(a)所示。圖中ANE參加解碼,它對端口地址解碼進行控制,只有當ANE=0時,既不是DMA操作時解碼才有效;當ANE=1時,即是DMA操作時,解碼無效。圖2.1中,要求DMA=0是為了避免在DMA週期中,由DMA控制器對這些以非DMA方式傳送的I/O端口執行DMA方式的傳送。同理可設計出能執行讀/寫操作的2E2H端口地址的解碼電路,如圖2.1(b)所示。若介面電路中需使用多個端口地址,則採用解碼器解碼比較方便。解碼器的型號很多,如3-8解碼器74L5138;4-16解碼器74LSl540~I.2-4解碼器74L8139、74LSl55等。上一頁返回例2:使用7413138設計一個系統板七控口晶片的I/O端口地址解碼電路,並且讓每個介面晶片內部的端口數目為32個。分析:由於系統板上的I/O端口地址分配在000~0FFH範圍內,故只使用低8位地址線,這意味著A9和A8兩位應賦0值。為了讓每個被選中的晶片內部擁有32個端口,只要留出5根低位地址線不參加解碼,其餘的高位地址線作為7413138的輸入線,參加解碼,或作為74LSD8的控制線與AEN一起(控制74LSl38的解碼是否有效。由上述分析,可以得到解碼電路輸入地址線的值,如表2.4所示。對於解碼器74LSl38的分析有兩點:一是它的控制信號線G1、G2A和G2B。只有當滿足控制信號線C=1,G2A=G2B=0時,74L8138才能進行解碼。二是解碼的邏輯關係,即輸入(C,B,A)與輸出(Y0-Y7)的對應關係。74LSl38輸入/輸出的邏輯關係,如表2.5所示。上一頁返回從表2.5可知,若滿足控制條件,即G1接高電平,G2A,和G2B。接低電平,則由輸入端C、B、A的編碼來決定輸出:CBA=000,則Yo=0,其他輸出端為高電平;CBA=001,Yl=0,其他輸出端為高電平;……;CBA=111,Y7=0,其他輸出端為高電平。由此可分別產生8個解碼輸出信號(低電平)。若控制條件不滿足,則輸出全“1”,不產生解碼輸出信號,即解碼無效。設計:採用74LSl38解碼器,可設計PC機系統板上的端口地址解碼電路,如圖2.2所示。圖中地址線的高5位參加解碼,其中A,—A,經解碼器,分別產生DMACS(8237)、INTRCS(8259)、T/CCS(8253)、PPICS(8255A)的片選信號,而地址線的低5位Ao-a4作晶片內部寄存器的訪問地址。從74LSl38解碼器的真值表可知,8237A的端口地址範圍是000—01Fil,8259A的端口地址範圍是020-03FH等等,正好和前面表2.1所列出的端口地址分配表一致。上一頁返回

2.可選式端口地址解碼如果用戶要求介面卡的端口地址能適應不同的地址分配場合,或為系統以後擴充留有餘地,則採用開關式端口地址解碼。這種解碼方式可以通過開關使介面卡的UO端口地址根據要求加以改變而無需改動線路,其電路可由地址開關、解碼器、比較器或異或門幾種元器件組成。例3:設計擴展板上的I/O端口地址解碼電路,要求讓擴展板上每個介面晶片的內部端口數目為4個,並且,端口地址可選。例如,選擇地址範圍為300H—31FH。

分析:先討論構成可選式端口地址解碼電路的地址開關、比較器和解碼器3個元器件的工作原理,然後根據題目要求進行電路設計。上一頁返回·對於DP開關,有兩種狀態:合(ON)和斷(OFF)。所以,要對這兩種狀態進行設定,我們設置DIP開關狀態為:ON=O,OFF=1·對於比較器有兩點要考慮,一是比較的對象,二是比較的結果。我們採用74LS854位比較器,把它的A組4根線與地址線連接,B組4根線與DP開關相連,這樣就把比較器A組與B組的比較,轉換成了地址線的值與DIP開關狀態的比較。74LS85比較器比較的結果有3種:A>B,A<B,A=B。我們採用A=B的結果,並令當A=B時,比較器輸出高電平。這意味著,當4位地址線的值與4個DIP開關的狀態相等時,比較器輸出高電平,否則,輸出低電平。我們又把比較器的A=B輸出線連到解碼器74LSl38的控制線G1上,因此,只有當4位(A6-A9)地址線的值與4個(S0—S3)DIP開關的狀態逐位相等時,才能使74LSl38的控制線Gl=1,才能解碼,否則,解碼器不能工作。所以,如果改變DP開關的狀態,則迫使地址線的值發生改變,才能使兩者相等,從而達到利用DIP開關來改變地址的目的。上一頁返回

設計:根據上述分析可設計擴展板上I/O端口地址解碼電路,如圖2.3所示。從圖中可以看到,高位地址線中,A9AQA7A6的值由DIP開關的S,S2S,5b狀態決定。由於S,和S,斷開,S1和S0合上,故使A9=A8=1,A7=A6=0,A5連在74L8138的G2A上,故A5=0。A4A3A2三根地址線作為74L8138的輸入線,經解碼後可產生8個低有效的選擇信號,作為擴展板上的介面晶片選擇。最後剩下2根低位地址線A1和Ao未參加解碼,作介面晶片的寄存器選擇,以實現每個介面晶片內部擁有4個端口。上一頁返回

例4:採用異或門設計I/O端口地址解碼電路o

分析與設計:如果用異或門代替比較器,則可得到圖2.4所示的可選式解碼電路,它由3片異或門74LSl36,9位DIP開關和解碼器74L5138組成。741B136晶片內部有4個異或門,其內部邏輯如圖2.5所示。在解碼電路圖2.4中,每個異或門的兩個輸入端,一個接地址線或控制線,另一個接地址開關。並且將所有異或門的輸出端連在一起,再接到74LSl38的控制端G上。要使控制信號C:為“1”,則必須使每個異或門的輸出端都為“1”。上一頁返回

這意味著每個異或門的兩個輸入信號必須相異,例如圖2.4中的AEN接在74L5136的4端,而74L5136的5端接高電平,所以4端必須為低電平,也就是說AEN應為低電平,即非DMA週期,解碼才有效。同理可知分別連在74LSl36的1和2端上的IOR~IOW兩個控制信號只能在分開單獨讀或單獨寫時,解碼才有可能,同時讀寫或同時都不讀寫時封鎖解碼器74LSl38,使解碼無效。其餘各項異或為“廣的條件,由系統地址匯流排送來的地址碼與DIP開關狀態來決定,當地址碼和DIP開關狀態相異時,結果為“廣。若改變DIP的開關狀態,也就改變了地址。按圖2.4中所設的開關狀態,該解碼電路輸入地址的值,如表2.6所示。其地址範圍是710H-717H。上一頁返回例5:採用跳接開關設計I/O端口地址解碼電路用跳接開關代替DIP開關,可得到如圖2,6所示的可選式解碼電路。若改變跳接開關連接方向,則有1024種選擇。上一頁返回

2.4CAL器件及其在I/O地址解碼中的應用一、GAL器件的特點

GAL(GenericArrayI~gic)是美國LATFICE公司提出的可編程邏輯器件PLD,它具有如下特點:①可以實現組合邏輯電路和時序邏輯電路的多種功能。經過編程可以構成多種門電路,如觸發器、寄存器、計數器、比較器、解碼器、多路開關或控制器等,代替常用的74系列和54系列的TYL器件或CD4000系列的CMOS晶片。據統計,一個GAL器件在功能上可以代替4—12個中小規模集成晶片,從而使系統縮小體積,提高可靠性,井簡化印製電路板的設計。

上一頁返回②採用電擦除工藝,門陣列的每個單元可以反復改寫(至少100次),因而整個器件的邏輯功能可以重新配置,因此它是產品開發研製中的理想工具。③具有硬體加密單元,可以防止抄襲電路設計和非法複製。④速度高而功耗低,具有高速電擦電寫能力,改寫整個晶片只需數秒鐘,而功耗只有雙極型邏輯器件的1/2或1/4,緩解了溫升問題。因此,GAL得到越來越多用戶的青睞,在微機應用系統中被廣泛採用。上一頁返回二、CAL器件的開發工具與開發步驟1.開發工具

GAL器件能否得到廣泛應用,很大程度上取決於它是否有優良的開發環境。若用手工方式編程,則不僅繁瑣,而且容易出錯。現已有很多公司推出/開發工具,借助這些工具,用戶可以得心應手地把GAL器件應用到邏輯設計中去。開發工具包括硬體工具——編程器和軟體工具——專用的編譯程序或組合語言程式。

GAL編程器與EPROM/fPROM的編程器在原理上並無多大差別。目前國內常見的編程器有PROMA、EXPR040和ALL-03型,其中ALD03是常用的功能很強的編程器,不僅可以對各個廠家生產的各種型號的GAL、PAL、EP~D編程,還可對EPROM、fPROM編程,並具有IC數字電路測試功能。上一頁返回

目前已有多種GAL編程軟體,如CUPL和ABEL屑編譯型高級開發軟體,具有自動邏輯化簡、語法檢查和模擬仿真功能。在輸入檔中可以採用布爾方程、真值表和狀態轉換圖。FM(FastMap)是通用的彙編型的軟體。使用它可以把按一定格式編寫的GAL設計說明書進行彙編,生成對GAL編程的檔。由於它簡單,實用,易於掌握,因而得到了廣泛的應用oFM是一個組合語言程式,它可以對具有一定格式的GAL編程輸入原始檔案(擴展名.PLD)進行彙編,即把與-或(積-和)形式的邏輯方程翻譯並生成列表檔(.LST)、熔絲狀態圖文件(.PLT)和分佈數據代碼檔(,JED),然後利用編程器,把分佈數據寫入到GAL中。上一頁返回

2.開發步驟與方法下麵以採用GALl6V8來實現基本門電路邏輯為例,說明GAL器件的開發過程,共分3步。①利用文本編輯程式(如EDIT)按一定格式編寫GAL編程輸入原始檔案(或叫GAL設計說明書)。使用FM軟體前,首先要準備好GAL編程輸人原始檔案,其格式如下:

GALl6V8;DEVICENAME——LINE1—-BASICGATES;(USE)—LINE2—XUAIQINGMAR.151998B1TI;(DESIGNER)—LINE3—BGATES;SIGNATURE——LINE4——CDFGMNPQIGND;PINNAME—LINEI—JKLROHEBAVCC;PINNAME

上一頁返回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.上一頁返回

其中:斜杠(/)符號,表示低電平有效第一行器件型號,必須用大寫字母第二行標題(GAL器件的應用)第三行設計者姓名,日期等第四行電子標籤第I行引腳名,可佔用多行,i≥5第J行邏輯方程,可佔用多行第K行程式描述。DESCRIPTION是關鍵字,不可少,且必須用大寫字母。上一頁返回

注意:第1行的器件型號和第4行的電子標籤的位置不能變。第2、3行寫什麼由設計者自己定,上例中只是推薦的格式,這兩行無論寫什麼bqVl軟體都不會判錯。關鍵字DESCRIPTION不可缺,即使後面不給出任何描述,也要寫出關鍵字,且一定要頂頭開始寫,前面不能留空格。每個引腳名最多可用8個字元,名字間應用空格、跳位字元、回車符隔開。不使用的引腳習慣上用NC表示,地用GND表示,電源用U”表示。引腳名必須按引腳號的次序排列,排完第一行,再排第二行。器件類型和關鍵字DESCRIPTION必須用大寫字母。輸入原始檔案的核心部分是輸入與輸出信號的邏輯方程,因為組合語言程式FM無邏輯化簡功能。所以,原始檔案要用簡化的與-或式(積—和式)寫出。輸入原始檔案可以在任一編輯器上進行編輯,編輯完畢後,以擴展名.PLD存盤。上一頁返回②使用FM.EXE組合語言程式對GAL輸入原始檔案進行彙編,並生成3個基本檔。當準備好輸入原始檔案後,就可以啟動FM組合語言程式,根據FM的菜單,分別生成:LST列表.文檔檔——包括原始檔案和引腳分配圖;PLT熔絲狀態分佈圖檔——供用戶直觀地查看邏;輯方程用;JED分佈數據檔——包含門陣列中所有編程節點的編程資訊代碼,這些代碼可通·過編程器,直接寫入GAL,進行“編程寫入”,故又稱為編程代碼檔或裝載檔。上一頁返回

FM.EXE組合語言程式的啟動和操作如下:啟動時,在DOS提示符下鍵人FM,再鍵人已準備好的GAL檔後,螢幕上會出現如圖2.7所示的FM菜單,並提請用戶鍵人相應的選擇項(數字鍵1—5)。若鍵人“1”,則FM將生成一份擴展名為.LST的文檔檔,包括原始檔案和GAL引腳配置圖。若輸入“2”,則FM將生成一份擴展名為.PLT的晶片熔絲狀態分佈圖檔。若鍵人“3”,則FM將生成一份擴展名為.用D的JEDEC標準裝載檔,這種標準檔包含門陣列中所有編程節點的編程資訊,可以直接寫入GAL晶片。若鍵人“4”,則放棄對現檔的彙編,FM將要求用戶輸入新的編程輸入原始檔案名,重新顯示菜單。若鍵人“5”,則由FM退回到DOS環境。上一頁返回

③使用ALD03編程器將擴展名為.JED的裝載檔“燒”到GAL器件內。在DOS提示符下,鍵人"ACCESS'’,按回車鍵,螢幕上將顯示:

ALD03A/03UniversalProgrammer&TesterHI-LOSYSTEMSCO.,LTDALLRightReserved

按回車鍵後,將顯示新的一屏,接著可按螢幕標題顯示來選擇GAL、PAL等晶片生產公司(工廠)的名字,及某一公司(工廠)的產品型號。按準備編程的GAL的生產公司和型號進行選擇。例如,若待編程的GAL是LATIICE公司生產的"GALl6V8'’,則鍵人“09”(對應LATIlCE公司),按回車鍵,右邊一列顯示出該公司的多個產品型號,再鍵人“00”(對應GALl6V8),選定編程晶片型號。螢幕將顯示如圖2.8所示的菜單。上一頁返回

利用此菜單,只需按以下步驟操作,即可完成GAL器件的編程工作。當把GAL器件插入編程器的插座後,第一步,鍵入“2”,把裝載檔.JED裝入緩衝區。第二步,鍵人“B”,檢查晶片是否擦除好,若未擦除好,則鍵人“E”,將其擦除。第三步,鍵入“P”,即進行編程(燒錄)。第四步,鍵人“V”,進行核對。若要加密,則最後鍵人“S”。編程即告結束。為簡單起見,也可在.扛D檔裝入後,只鍵人“A”,代替前述各步,一次自動完成編程工作。上一頁返回

在微機上,通過GAL編程軟體和編程器將.JED檔中的編程代碼寫入(“燒”人)GALl6V8,至此一個滿足上述要求的GAL基本邏輯門電路開發完畢。在使用中若發現有問題,或要求改變門電路,可以將原代碼擦除,重新編寫原始檔案,形成.JED檔,再“燒”人GAL。若想保護源代碼不被非法佔有,則可以在燒人時實現邏輯電路的加密功能。上一頁返回

三、採用GAI的I/O端口地址解碼電路設計1.要求利用GAL器件設計MFID多功能微機介面實驗平臺的I/O端口地址解碼電路,其端口地址範圍為300H-3FFH,分成16個段,每個段包含4個介面晶片,每個介面晶片內部擁有4個端口。上一頁返回

2.分析①地址線的分配與使用。首先,從端口地址範圍,可知最高兩位地址線的值A9=A8=1。其次,要求分成16個段,可由A7A6A5A4四位地址線進行組合,實現段選。而每個段包含4片介面晶片,故可用A3和A2兩位地址線進行組合,實現片選。最後,為了讓每個晶片內部擁有4個端口,將A1和Ao最低兩位地址線,不參加解碼,直接連到介面晶片上,進行片內寄存器尋址。因此,可得解碼電路輸入地址線的值,如表2.7所示。②參加解碼的控制線。根據需要,只有IOW、IOR和AEN三根控制線參加解碼。③GAL器件的選擇。從上述分析可知,除去不參加解碼的A1和Ao之外,還有8根地址線,其中A7—A4四根地址線,經DIP開關和比較器進行段選,比較器的輸出線僅有1根A=B線,所以,送到GAL的地址線,只有A9,A8,A=B,A3和A2五根,再加上3根控制線,共8根線作為GAL的輸入線。GAL的輸出線應包括4根片選信號線(Y0Y1Y2Y3),l根74LS245的選通線DS和1根方向控制線DIR,共6根,所以可選擇GALl6V8作解碼器。下麵對GALl6V8進行討論。上一頁返回④GALl6V8晶片。GALl6V8有20個引腳,如圖2.9所示,它有8個輸入端(2—9),8個輸出端(12—19),1個時鐘輸入端(1)和1個輸出允許(11)控制端。其中除了8個輸入引腳(2-9)固定作輸入之外,還可以把8個輸出引腳(12—19)配置成輸入引腳作為輸入使用,因此,這個晶片最多可有16個輸入引腳,而輸出引腳最多為8個,這就是GALl6V8中兩個數字(16和8)的含義。

GALl6V8的外部引腳和內部結構見圖2.10。由圖可見,外部輸入信號允許正、負兩種極性(原碼或反碼)輸人,8個輸人信號(引腳2圖2,9GALl6V8的引腳

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论