微機(jī)接口技術(shù)-第3章IO端口地址譯碼技術(shù).ppt_第1頁(yè)
微機(jī)接口技術(shù)-第3章IO端口地址譯碼技術(shù).ppt_第2頁(yè)
微機(jī)接口技術(shù)-第3章IO端口地址譯碼技術(shù).ppt_第3頁(yè)
微機(jī)接口技術(shù)-第3章IO端口地址譯碼技術(shù).ppt_第4頁(yè)
微機(jī)接口技術(shù)-第3章IO端口地址譯碼技術(shù).ppt_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章 IO端口地址譯碼技術(shù),3.1 I/O地址空間 和存儲(chǔ)器地址空間一樣,IO地址空間也是一片連續(xù)的地址單元。 地址單元可以被任何外設(shè)使用,但不可以地址沖突。 和存儲(chǔ)單元一樣,都是以數(shù)據(jù)字節(jié)來組織的。,3.1 I/O端口 一。IO端口及其編碼方式 1. IO端口 端口是接口電路中能被CPU直接訪問的寄存器的地址。計(jì)算機(jī)給接口電路中的每個(gè)寄存器分配一個(gè)地址。 IO操作 指CPU對(duì)設(shè)備相關(guān)的IO端口的訪問操作,而不是對(duì)IO設(shè)備的操作,二。IO端口地址編碼方式 1、統(tǒng)一編址方式 端口地址與存儲(chǔ)器地址統(tǒng)一編址,優(yōu)點(diǎn):指令豐富,電路簡(jiǎn)單。,缺點(diǎn):外設(shè)占用存儲(chǔ)器空間,內(nèi)存容量減小。,內(nèi)存 譯 碼 器,8088 CPU (最大 模式) 系統(tǒng)總線,AB,去存儲(chǔ)器,去I/O接口,/Y0-i,/Y0-j,接口 譯 碼 器,/XMENR /XMEMW,/XIOR /XIOW,注:最大模式下系統(tǒng)的控制總線來源于總線控制器8288和DMA總線仲裁邏輯,2、獨(dú)立編址方式,優(yōu)點(diǎn):存儲(chǔ)器和外設(shè)都有自己的地址譯碼器,地址空間獨(dú)立,互不影響。用專用的I/O 指令訪問I/O 端口。 三。 獨(dú)立編址方式的端口訪問,輸入指令: IN AL, n ; n 為8位IO端口地址,IN AL, DX ; 16位地址用DX間址,輸出指令: OUT n, AL,OUT DX, AL,1. IO地址寬度 IO地址在00H0FFH,稱為8位地址寬度; IO地址在0100HFFFFH,稱為16位地址寬度 說明: 不論IO地址寬度是8位,還是16位,都 可以用DX間接尋址; 只有IO地址是8位寬度才能直接尋址。 2. IO 數(shù)據(jù)寬度 當(dāng)一次傳輸1個(gè)端口數(shù)據(jù),即8位數(shù)據(jù)時(shí),用AL累加器 當(dāng)一次傳輸連續(xù)2個(gè)端口數(shù)據(jù),即16位時(shí),用AX累加器,3.3 IO端口地址分配 一。IO接口硬件分類 系統(tǒng)板(主板)上的IO芯片(如定時(shí)器,并口等等) IO擴(kuò)展槽上的接口控制卡(聲卡、網(wǎng)卡、軟驅(qū)卡、顯卡) 二。IO端口地址分配 參看表3.1 表3.2 三。IO端口地址選用的原則 被系統(tǒng)配置已經(jīng)占用的不可用 計(jì)算機(jī)廠家聲明保留的地址不要使用 一般IBM實(shí)驗(yàn)卡用300H-31FH。,3.4 I/O 端口地址譯碼,一。IO地址譯碼電路工作原理及作用 輸入信號(hào):地址信號(hào),控制信號(hào) 輸出信號(hào):“選中”信號(hào)。 原理:譯碼器根據(jù)地址和控制信號(hào),產(chǎn)生選中信號(hào)。不同的地址控制組合,最多只可能使一根“選中”信號(hào)有效,該有效的選中信號(hào)用于打開它所連接的IO接口芯片的數(shù)據(jù)線與系統(tǒng)線的通路總開關(guān)。,地址譯碼器,地址信號(hào),控制信號(hào),“選中” 信號(hào),“地址”信號(hào)線,“控制”信號(hào)線,“選中”信號(hào)線,在這一段時(shí)間,3個(gè)控制信號(hào)沒有同時(shí)有效,譯碼器“選中”信號(hào)線輸出全部無效,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,控制信號(hào)有效時(shí),地址000時(shí),僅/IOY0有效。其余選中線全無效,二。 I/O 端口地址譯碼方法: 1.簡(jiǎn)單接口芯片,只含有一個(gè)端口,內(nèi)部不帶帶譯碼器,譯碼器設(shè)計(jì)原則: 由“IO地址”信號(hào)和“IO讀/寫”控制信號(hào)的不同組合實(shí)現(xiàn)??刂菩酒瑑?nèi)寄存器的入口或出口開關(guān)。,T1,T2,T3、TW,T4,0026H號(hào)IO端口地址,來自CPU內(nèi)AL中的數(shù)據(jù),向IO端口寫數(shù)據(jù)時(shí)(OUT 0026H,AL)系統(tǒng)總線時(shí)序(假設(shè)(AL)=22H),CLK,XA15-0,XREADY,XD7-0,0026H,22H,T1,T2,T3、TW,T4,0025H號(hào)IO端口地址,來自0025H號(hào)IO端口的數(shù)據(jù),從IO端口讀出數(shù)據(jù)(IN AL,0025H)時(shí)系統(tǒng)總線時(shí)序( (25H端口)=11H),CLK,XA15-0,XREADY,XD7-0,11H,0025H,控制線始終保持有效或不帶控制線,二。 I/O 端口地址譯碼方法: 2. 多端口芯片(內(nèi)部帶譯碼器)由地址信號(hào)和控制信號(hào)的不同組合實(shí)現(xiàn)。其原則是:,(2). 低位地址線直接連接到 I/O 接口芯片,由內(nèi)部譯碼器實(shí)現(xiàn)選中存儲(chǔ)單元或IO端口。 例如:8255內(nèi)部有四個(gè)端口寄存器,則至少要留出2低位地址線用于8255內(nèi)部尋找寄存器,(1). 高位地址與CPU 的控制信號(hào)組合,經(jīng)外部譯碼電路產(chǎn)生 I/O 接口芯片的片選信號(hào)( /CS ),實(shí)現(xiàn)選中芯片(就是打開芯片內(nèi)部譯碼器)。,3.5 IO端口地址譯碼電路設(shè)計(jì) 1.固定式端口地址譯碼 指一旦譯碼電路設(shè)計(jì)好,接口用到的IO地址不能更改,例1 某接口的IO端口地址為2F8H,在非DMA期間只讀,為該接口設(shè)計(jì)譯碼器。 分析:輸入信號(hào):XA0XA9,XIOR,XAEN 輸出信號(hào):一根選中信號(hào) /Y(因?yàn)樵撟g碼器僅為這一個(gè)接口電路服務(wù)) 輸入輸出邏輯關(guān)系:,/Y,當(dāng)XA9-02F8H,/XIOR0,XAEN0時(shí),/Y=0; 否則/Y=1 寫出邏輯表達(dá)式:,例2。 使用74LS138設(shè)計(jì)一個(gè)系統(tǒng)板上IO端口地址譯碼電路,并且讓每個(gè)接口芯片內(nèi)部可以有32個(gè)端口,非DMA期間可以訪問接口芯片。 分析:輸入 XA9-5,XAEN。因?yàn)榈?位地址用來選中芯片內(nèi)部端口,不作為外部譯碼器的輸入。一片138只能譯碼3位地址,這里用138對(duì)XA7XA5譯碼。 輸出 8個(gè)芯片選中信號(hào)/Y0-/Y7。 邏輯關(guān)系:XAEN0,XA9XA800時(shí),使譯碼器工作。 XA7-XA5000時(shí),輸出/Y0=0, 其余全無效為1。 XA7-XA5001時(shí),輸出/Y1=0, 其余全無效為1 XA7-XA5010時(shí),輸出/Y2=0, 其余全無效為1 ,參看課本表2.5 74LS138的邏輯真值表,給出設(shè)計(jì)如下,2.可選式端口地址譯碼 例3。根據(jù)下圖的可選式地址譯碼電路,分析開關(guān)不同狀態(tài)時(shí),輸出選中信號(hào)對(duì)應(yīng)的IO地址,總結(jié):為單個(gè)端口設(shè)計(jì)譯碼,一般對(duì)所有地址線譯碼;為芯片設(shè)計(jì)外部譯碼器,一般對(duì)高位地址譯碼,低位地址讓芯片自己內(nèi)部譯碼,選內(nèi)部端口,S0,S1,S2,S3,A,74LS138,/Y0,B /Y1,C /Y2,/Y3,/Y4,/G2B /Y5,/G2A /Y6,G1 /Y7,XA2,XA3,XA4,XA5,/XAEN,A0,74LS85,A1,A2,A3,B0,B1,B2,B3,Oa=b,Ia=b,Iab,Iab,Vcc,XA6,XA7,XA8,XA9,分析:假如S0S1合上,S3S2斷開。B3-01100,只有當(dāng)XA961100時(shí),74LS85Oa=b端才輸出1。必須 要使74LS138工作,則必須/XAEN0,XA50。 所以:要/Y0=0,必須 XA9-2為11000000 要/Y1=0,必須 XA9-2為11000001 ,選中/Y0的地址是XA90為 11000000XX, 即300H303H 選中/Y1的地址是XA90為 11000001XX, 即304H307H 選中/Y7的地址是XA90為 11000111XX, 即31CH31FH 思考,如果開關(guān)S1S3合上,S2S0斷開,選中/Y0-/Y7的地址分別是什么?,思考:在PC機(jī)上設(shè)計(jì)接口,你設(shè)計(jì)的接口IO地址必須不能與其他設(shè)備接口IO地址沖突,你能想到用什么辦法解決這個(gè)問題?,方案一:先查PC機(jī)硬件說明書,看那些IO地址已經(jīng)被占用。 缺點(diǎn)是麻煩,且非PC機(jī)器廠家生產(chǎn)的設(shè)備(如擴(kuò)展接口卡)地址,必須通過查該卡說明書才能了解它占用的IO地址。,不可能!你怎么知道你的卡被客戶裝在哪臺(tái)機(jī)器上?客戶計(jì)算機(jī)上裝了哪些其它廠家的卡,你怎么能預(yù)先知道呢?客戶買了你的卡回家能不能用只有靠運(yùn)氣了!,方案二:先查PC機(jī)硬件說明書,看哪些IO地址已經(jīng)被PC機(jī)廠家的標(biāo)準(zhǔn)設(shè)備占用。再設(shè)計(jì)一個(gè)可選式譯碼器,萬一和其它廠家的設(shè)備接口沖突,用跳線開關(guān)改變你的IO地址用以避免沖突 缺點(diǎn):麻煩,普通客戶買了你的設(shè)備,你要求他回家跳線,對(duì)他來說難度太大。在486以前的計(jì)算機(jī)開發(fā)接口就是這么辦的!也要靠運(yùn)氣哦,萬一怎么調(diào)整也無法避免沖突怎么辦?,方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論