第一章第二部分 端口地址及譯碼技術(shù)_第1頁(yè)
第一章第二部分 端口地址及譯碼技術(shù)_第2頁(yè)
第一章第二部分 端口地址及譯碼技術(shù)_第3頁(yè)
第一章第二部分 端口地址及譯碼技術(shù)_第4頁(yè)
第一章第二部分 端口地址及譯碼技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

11.3I/O端口地址譯碼技術(shù)第一節(jié)I/O端口及其編址方式

第二節(jié)I/O端口地址分配

第三節(jié)I/O端口地址譯碼

2一、I/O端口和I/O操作1.I/O端口

I/O接口(Interface)電路中能被CPU直接訪問(wèn)的寄存器的地址稱(chēng)之為端口(PORT)。

CPU通過(guò)這些端口發(fā)送命令、讀取狀態(tài)和傳送數(shù)據(jù)。一個(gè)接口可有幾個(gè)端口。如命令口、狀態(tài)口、數(shù)據(jù)口等。編程時(shí)只需指明端口地址即可。2.I/O操作I/O操作是針對(duì)I/O端口的,而不是對(duì)I/O設(shè)備本身的。第一節(jié)I/O端口及其編址方式3二、端口地址編址方式

1.統(tǒng)一編址

把I/O端口與存儲(chǔ)器進(jìn)行統(tǒng)一的編址。

這就不需要專(zhuān)門(mén)的I/O指令。就把I/O端口當(dāng)作存儲(chǔ)器單元一樣進(jìn)行訪問(wèn)。由于訪存指令相當(dāng)豐富,所以,既可用端口實(shí)現(xiàn)輸入/輸出,還可對(duì)端口內(nèi)容進(jìn)行處理。

另外,能給端口有較大的編址空間。這對(duì)大型控制系統(tǒng)和數(shù)據(jù)通信系統(tǒng)是很有意義的。

缺點(diǎn)是端口占用了存儲(chǔ)器的地址空間、使存儲(chǔ)器容量減小,另外指令長(zhǎng)度比起專(zhuān)門(mén)I/O指令要長(zhǎng),因而執(zhí)行時(shí)間較長(zhǎng)。

42.獨(dú)立編址

這種方式是接口中的端口單獨(dú)編址而不占用存儲(chǔ)空間,大型計(jì)算機(jī)通常采用這種方式。有些微機(jī),如IBM-PC系列也采用這種方式。

這種方式的優(yōu)點(diǎn):

①專(zhuān)門(mén)的I/O指令對(duì)端口操作,可讀性好,指令短,執(zhí)行速度快。

②端口單獨(dú)編址,不會(huì)與存儲(chǔ)器地址相互混淆。

5三、獨(dú)立編址方式的端口訪問(wèn)

通過(guò)I/O指令訪問(wèn)I/O端口

在匯編語(yǔ)言中有I/O指令。用于I/O端口與累加器(AX、AL)之間的數(shù)據(jù)傳送。

在I/O指令中有單字節(jié)地址或雙字節(jié)地址尋址方式。用單字節(jié)作為端口地址,則最多可訪問(wèn)256(0~0FFH)個(gè)端口。若用雙字節(jié)地址作為端口地址,則最多可尋址216=64K個(gè)端口。

系統(tǒng)主板上的I/O端口,采用單字節(jié)地址。在I/O擴(kuò)展槽上的接口控制卡上,采用雙字節(jié)地址。

I/O指令格式為;

輸入

INAX/AL,PORT/DX

輸出

OUTPORT/DX,AX/AL

這里,PORT是一個(gè)8位的字節(jié)地址。6第二節(jié)I/O端口地址分配進(jìn)行接口設(shè)計(jì),必須了解系統(tǒng)的端口地址的分配情況,只能使用那些允許用戶使用的空閑端口。

7一、I/O接口硬件分類(lèi)

按照I/O接口設(shè)備的配置情況,I/O接口的硬件分成兩類(lèi):

(1)系統(tǒng)板上的I/O芯片。這些芯片大多是可編程的大規(guī)模集成電路,完成相應(yīng)的接口操作。如定時(shí)/計(jì)數(shù)器、中斷控制器、DMA控制器、并行接口以及利用單片機(jī)構(gòu)成的鍵盤(pán)控制器等。

(2)I/O擴(kuò)展槽上的接口控制卡。這些控制卡(適配器)是由若干個(gè)集成電路按一定的邏輯組成的一個(gè)部件,如軟驅(qū)卡、硬驅(qū)卡、圖形卡、打印卡、串行通信卡等。8二、I/O端口地址分配

不同的微機(jī)系統(tǒng)對(duì)I/O端口地址的分配不同。

PC系統(tǒng)提供了16根I/O地址線中的A9~A0這10根作為I/O端口地址尋址。共1024個(gè)端口。又根據(jù)I/O接口的硬件分類(lèi)把它們分成兩部分:1.前512個(gè)端口供系統(tǒng)板上的I/O接口芯片使用2.后512個(gè)端口歸擴(kuò)展槽上I/O接口控制卡使用PC/AT系統(tǒng)作了一些改動(dòng),前256個(gè)端口(000~0FFH)供系統(tǒng)板上的I/O接口芯片使用;后756(100~3FFH)為擴(kuò)展槽上的I/O接口控制卡使用,

9實(shí)際上有的I/O接口可能僅用到其中的前幾個(gè)地址。例如,8255A只用了60H~63H四個(gè)口地址。10留給用戶使用的是300H~31FH。11第三節(jié)I/O端口地址譯碼

每當(dāng)CPU執(zhí)行IN或OUT指令時(shí),就進(jìn)入了I/O端口讀/寫(xiě)周期。此時(shí)CPU首先給出端口地址,然后是I/O讀寫(xiě)控制信號(hào)IOR、IOW以及其它一些控制信號(hào)有效,由端口地址同這些控制信號(hào)相結(jié)合來(lái)控制對(duì)I/O端口的讀/寫(xiě)操作。具體是針對(duì)眾多端口中的哪個(gè)端口進(jìn)行操作呢?這就需要一個(gè)選中信號(hào)來(lái)選定一個(gè)特定端口。這個(gè)選中信號(hào)必須由上述地址信號(hào)和控制信號(hào)邏輯組合而產(chǎn)生。12一、I/O地址澤碼電路工作原理及作用譯碼電路的輸入信號(hào)

I/O地址譯碼電路的輸入信號(hào)有兩類(lèi):

(1)地址信號(hào):

A0~A9這10根地址線。

(2)控制信號(hào):I/O地址譯碼電路除了要接受所限定的地址信號(hào)之外,還要通常還需要考慮下面的一些控制信號(hào)。如:

①利用、、、、等信號(hào)控制端口的讀寫(xiě)。

②用AEN信號(hào)控制非DMA傳送。AEN=0為非DMA操作。13由上可見(jiàn),在設(shè)計(jì)地址譯碼電路時(shí),除了精心選擇地址信號(hào),還要考慮CPU對(duì)I/O端口進(jìn)行操作的有關(guān)控制信號(hào),合理選用地址信號(hào)和控制信號(hào)去形成地址譯碼電路。

注意:上述控制信號(hào)是8086的,若選用不同的CPU時(shí),應(yīng)先弄清控制信號(hào)的名稱(chēng)和功能、邏輯定義等才可使用。

142.譯碼電路的輸出信號(hào)

譯碼電路的輸出信號(hào)是一根低電平有效的選中線。當(dāng)一個(gè)芯片被選中時(shí),它內(nèi)部的數(shù)據(jù)線打開(kāi),并與系統(tǒng)總線相連,于是接口電路與系統(tǒng)總線接通。15二、I/O地址譯碼方法

I/O端口地址譯碼的方法靈活多樣,可由地址和控制信號(hào)的不同組合去譯碼。一般原則是把地址分為兩部分:一部分高位地址線+某些控制信號(hào)→片選信號(hào)。另一部分低位地址線實(shí)現(xiàn)I/O接口芯片的片內(nèi)端口尋址,即訪問(wèn)片內(nèi)的寄存器。片內(nèi)尋址所需的地址線根數(shù)由接口中的寄存器的個(gè)數(shù)決定。如,8255A包含4個(gè)寄存器,則需2根低位地址線(A1、A0)即可。16三、I/O端口地址譯碼電路設(shè)計(jì)

譯碼電路的形式可分為固定式和可選式譯碼。若按譯碼電路采用的元器件來(lái)分,則可分為門(mén)電路譯碼和譯碼器譯碼。171.固定式端口地址譯碼所謂固定譯碼是指接口中用到的端口地址不能更改。一般接口卡中大部分都采用固定式譯碼。(1)用門(mén)電路進(jìn)行端口地址譯碼這是最基本的端口地址譯碼方法.它一般多采用門(mén)電路(如與門(mén)、或門(mén)、與非門(mén)、或非門(mén)及反相器等,如74LS08(四2輸入與門(mén))、74LS04(六反相器)、74LS32(四2輸入或門(mén))、74LS30(八輸入與非門(mén))等)。

例1:設(shè)計(jì)I/O端口地址為2F8H的只讀譯碼電路。分析:若要產(chǎn)生2F8H端口地址,則譯碼電路的輸入地址線就應(yīng)具有如表2.3所示的值。表2.3譯碼電路輸入地址線的值地址線00A9A8A7A6A5A4A3A2A1A0

二進(jìn)制001011111000十六進(jìn)制2F81.固定式端口地址譯碼固定式是指接口中用到的端口地址不能更改。固定式端口地址譯碼電路:20例2:設(shè)計(jì)一個(gè)I/O端口地址為316H的能執(zhí)行讀/寫(xiě)操作的單端口地址譯碼電路。分析:①對(duì)應(yīng)于地址316H的地址線A9~A0的值為1100010110B。②由于是非DMA操作,所以必須使用控制信號(hào)AEN,且地址信號(hào)譯碼必須在AEN=0時(shí)有效③題目要求能進(jìn)行讀寫(xiě)兩種操作,所以還必須有控制信號(hào)=0和=0。由于讀寫(xiě)操作要作用到同一個(gè)端口上,但它們是相互獨(dú)立的操作,需要生成各自的選中信號(hào)。因此,我們只能先用A9~A0、AEN這11個(gè)信號(hào)進(jìn)行組合譯碼,產(chǎn)生一個(gè)端口的選中信號(hào)。然后,將此信號(hào)分別與讀寫(xiě)信號(hào)組合,形成選中同一端口的兩個(gè)讀/寫(xiě)信號(hào)。

21根據(jù)分析,由于輸出信號(hào)只在輸入信號(hào)A9~A0、AEN、為110001011000時(shí)輸出選中信號(hào)

(讀)=0,所以不必列出真值表,可直接寫(xiě)出譯碼電路的邏輯表達(dá)式:同理可得:選用集成門(mén)電路:74LS30(八輸入與非門(mén)、74LS20(雙4輸入與非門(mén))。由上兩式可得所要求的地址譯碼電路:2223(2)用譯碼器進(jìn)行端口地址譯碼

若接口電路中需要產(chǎn)生多個(gè)端口地址時(shí),則采用譯碼器譯碼比較方便。譯碼器的型號(hào)很多,如3-8譯碼器74LS138,8205;4-16譯碼器74LS154;雙2-4譯碼器74LS139和74LS155等。24例3(書(shū)例P16):使用74LS138設(shè)計(jì)PC機(jī)系統(tǒng)板上的I/O端口地址譯碼電路,實(shí)現(xiàn)接口芯片(DMAC(8237)、PIC(8259)、T/C(8253)、PIO(8255A)的片選,并且讓每個(gè)接口芯片內(nèi)部的端口數(shù)目為32個(gè)。分析:通過(guò)前幾節(jié)課的學(xué)習(xí),我們已知:設(shè)計(jì)對(duì)接口芯片進(jìn)行片選的地址譯碼電路需要有關(guān)的若干高位地址信號(hào)和控制信號(hào),正確的選出這些信號(hào)是關(guān)鍵。251.地址信號(hào)的分析與選擇:①PC機(jī)提供的用于I/O端口尋址的地址信號(hào)是:

A9A8A7A6A5A4A3A2A1A0,共10位。系統(tǒng)板上A9A8=00②片內(nèi)需尋址32個(gè)口,共需要低位地址線5根,選A4A3A2A1A0③選A7A6A5作為譯碼器譯碼輸入信號(hào)。262.控制信號(hào)的選擇

用AEN信號(hào)來(lái)禁止譯碼電路在DMA方式下工作。

非DMA操作時(shí)AEN=0,

DMA操作時(shí)AEN=1。273.譯碼器的選用:采用3-8譯碼器74LS138。這也正合題目要求3-8譯碼器所需的信號(hào)分析:①3-8譯碼器允許信號(hào)的要求是:G1=1以及。即G1必須為高電平,后2個(gè)信號(hào)必須為低電平。這些要求必須用上述的地址和控制信號(hào)來(lái)滿足:根據(jù)前面的分析:(=1)→G1

,

A9(=0)→G2A

A8(=0)→G2B。②3-8譯碼器的譯碼輸入信號(hào):用A7A6A5擔(dān)當(dāng)。28由上分析可得如下譯碼電路:

292.可選式端口地址譯碼這種譯碼電路能適應(yīng)不同的地址分配場(chǎng)合,有利于系統(tǒng)擴(kuò)充。其電路可由地址開(kāi)關(guān)、譯碼器、比較器或異或門(mén)等元器件組成。30

比較器工作原理:

常用的比較器有4位比較器74LS85、8位比較器74LS688?,F(xiàn)用74LS85為例介紹:①比較數(shù)據(jù)輸入端:A0~A3、B0~B3

接收2組進(jìn)行比較的4位數(shù)據(jù)②比較方式選擇控制端:A>B、A<B或A=B用于選擇比較方式。方法:給選用的控制端提供高電平1。在地址譯碼中僅使用相等比較(A=B)。其余控制端A>B和A<B可為任意值,通常接低電平0(地)。③比較結(jié)果輸出信號(hào):FA=B滿足比較條件時(shí)FA=B=1,否則FA=B=031例3(書(shū)P16):設(shè)計(jì)擴(kuò)展板上的I/O端口地址譯碼電路。要求擴(kuò)展板上最多可尋址8個(gè)接口芯片,每個(gè)芯片的內(nèi)部端口數(shù)目為4個(gè)。并且,端口

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論