微機接口技術IO端口地址譯碼技術_第1頁
微機接口技術IO端口地址譯碼技術_第2頁
微機接口技術IO端口地址譯碼技術_第3頁
微機接口技術IO端口地址譯碼技術_第4頁
微機接口技術IO端口地址譯碼技術_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章 IO端口地址譯碼技術 微機接口技術IO端口地址譯碼技術 3.1 I/O地址空間和存儲器地址空間一樣,IO地址空間也是一片連續(xù)的地址單元。地址單元可以被任何外設使用,但不可以地址沖突。和存儲單元一樣,都是以數(shù)據(jù)字節(jié)來組織的。微機接口技術IO端口地址譯碼技術內(nèi)存內(nèi)存接口CPU系統(tǒng)總線:地址總線XA19-0,數(shù)據(jù)總線XD7-0,控制總線/XIOR 智能儀器接口通信接口過程控制接口輸入接口輸出接口外存接口數(shù)字化存儲示波器,數(shù)字化萬用表終端調(diào)制解調(diào)器TTY 電傳機A/D轉(zhuǎn)換器開關量輸入D/A轉(zhuǎn)換器開關量輸出鍵盤 數(shù)字化儀光筆 圖形輸入 聲音輸入 掃描儀點陣打印 CRT 顯示激光打印 液晶顯示噴墨

2、打印 繪圖儀X-Y記錄儀硬盤 軟盤光盤 磁帶系統(tǒng)總線接口微機接口技術IO端口地址譯碼技術 3.1 I/O端口一。IO端口及其編碼方式1. IO端口端口是接口電路中能被CPU直接訪問的寄存器的地址。計算機給接口電路中的每個寄存器分配一個地址。IO操作 指CPU對設備相關的IO端口的訪問操作,而不是對IO設備的操作微機接口技術IO端口地址譯碼技術二。IO端口地址編碼方式1、統(tǒng)一編址方式端口地址與存儲器地址統(tǒng)一編址微機接口技術IO端口地址譯碼技術譯碼器CPUAB去存儲器芯片去I/O接口芯片Y-iYi+1-j優(yōu)點:指令豐富,電路簡單。缺點:外設占用存儲器空間,內(nèi)存容量減小。微機接口技術IO端口地址譯碼

3、技術內(nèi)存譯碼器8088 CPU(最大模式)系統(tǒng)總線AB去存儲器去I/O接口/Y0-i/Y0-j接口譯碼器/XMENR /XMEMW/XIOR /XIOW注:最大模式下系統(tǒng)的控制總線來源于總線控制器8288和DMA總線仲裁邏輯2、獨立編址方式微機接口技術IO端口地址譯碼技術 優(yōu)點:存儲器和外設都有自己的地址譯碼器,地址空間獨立,互不影響。用專用的I/O 指令訪問I/O 端口。三。 獨立編址方式的端口訪問輸入指令: IN AL, n ; n 為8位IO端口地址IN AL, DX ; 16位地址用DX間址輸出指令: OUT n, ALOUT DX, AL微機接口技術IO端口地址譯碼技術1. IO地址

4、寬度 IO地址在00H0FFH,稱為8位地址寬度; IO地址在0100HFFFFH,稱為16位地址寬度說明: 不論IO地址寬度是8位,還是16位,都 可以用DX間接尋址; 只有IO地址是8位寬度才能直接尋址。2. IO 數(shù)據(jù)寬度 當一次傳輸1個端口數(shù)據(jù),即8位數(shù)據(jù)時,用AL累加器 當一次傳輸連續(xù)2個端口數(shù)據(jù),即16位時,用AX累加器微機接口技術IO端口地址譯碼技術 3.3 IO端口地址分配 一。IO接口硬件分類 系統(tǒng)板(主板)上的IO芯片(如定時器,并口等等) IO擴展槽上的接口控制卡(聲卡、網(wǎng)卡、軟驅(qū)卡、顯卡) 二。IO端口地址分配參看表3.1 表3.2 三。IO端口地址選用的原則被系統(tǒng)配置

5、已經(jīng)占用的不可用計算機廠家聲明保留的地址不要使用一般IBM實驗卡用300H-31FH。微機接口技術IO端口地址譯碼技術3.4 I/O 端口地址譯碼一。IO地址譯碼電路工作原理及作用 輸入信號:地址信號,控制信號 輸出信號:“選中”信號。原理:譯碼器根據(jù)地址和控制信號,產(chǎn)生選中信號。不同的地址控制組合,最多只可能使一根“選中”信號有效,該有效的選中信號用于打開它所連接的IO接口芯片的數(shù)據(jù)線與系統(tǒng)線的通路總開關。地址譯碼器地址信號控制信號“選中”信號微機接口技術IO端口地址譯碼技術“地址”信號線“控制”信號線“選中”信號線微機接口技術IO端口地址譯碼技術在這一段時間,3個控制信號沒有同時有效,譯碼

6、器“選中”信號線輸出全部無效000000000000111111111111控制信號有效時,地址000時,僅/IOY0有效。其余選中線全無效微機接口技術IO端口地址譯碼技術 二。 I/O 端口地址譯碼方法:1.簡單接口芯片,只含有一個端口,內(nèi)部不帶帶譯碼器,譯碼器設計原則:由“IO地址”信號和“IO讀/寫”控制信號的不同組合實現(xiàn)。控制芯片內(nèi)寄存器的入口或出口開關。微機接口技術IO端口地址譯碼技術T1T2T3、TWT40026H號IO端口地址來自CPU內(nèi)AL中的數(shù)據(jù)向IO端口寫數(shù)據(jù)時(OUT 0026H,AL)系統(tǒng)總線時序(假設(AL)=22H)CLKXA15-0XREADYXD7-00026H

7、22H微機接口技術IO端口地址譯碼技術T1T2T3、TWT40025H號IO端口地址來自0025H號IO端口的數(shù)據(jù)從IO端口讀出數(shù)據(jù)(IN AL,0025H)時系統(tǒng)總線時序( (25H端口)=11H)CLKXA15-0XREADYXD7-011H0025H微機接口技術IO端口地址譯碼技術外部譯碼器1個存儲單元(8bit)8個&/XIOW/XIORD0-7XA0-15單個端口IO芯片(如373)內(nèi)部讀寫控制原理圖8個同時控制8個3態(tài)門GOEXD0-7I寫I讀/Y控制線始終保持有效或不帶控制線微機接口技術IO端口地址譯碼技術 二。 I/O 端口地址譯碼方法:2. 多端口芯片(內(nèi)部帶譯碼器)由地址信

8、號和控制信號的不同組合實現(xiàn)。其原則是:(2). 低位地址線直接連接到 I/O 接口芯片,由內(nèi)部譯碼器實現(xiàn)選中存儲單元或IO端口。例如:8255內(nèi)部有四個端口寄存器,則至少要留出2低位地址線用于8255內(nèi)部尋找寄存器(1). 高位地址與CPU 的控制信號組合,經(jīng)外部譯碼電路產(chǎn)生 I/O 接口芯片的片選信號( /CS ),實現(xiàn)選中芯片(就是打開芯片內(nèi)部譯碼器)。微機接口技術IO端口地址譯碼技術譯碼器1個存儲單元(8bit)8個&/WR/RDD0-7A0i存儲器或IO接口芯片內(nèi)部讀寫控制原理圖(1)/CS接自外部譯碼器“選中”線8個同時控制8個3態(tài)門內(nèi)部選中線,用于選中1個IO端口/Y0I寫I讀外部

9、譯碼器XAi+19/YnXA0-i微機接口技術IO端口地址譯碼技術1個存儲單元(8bit)8個&/WR/RDD0-7A0i存儲器或IO接口芯片內(nèi)部讀寫控制原理圖(2)/CS接自外部譯碼器“選中”線8個同時控制8個3態(tài)門/Y0I寫I讀外部譯碼器XAi+19/YnXA0-i1個存儲單元(8bit)8個&8個譯碼器I寫I讀微機接口技術IO端口地址譯碼技術譯碼器1個存儲單元(8bit)8個&WRRDD0-7A0-i/CS8個同時控制8個3態(tài)門內(nèi)部選中線,用于選中1個IO端口外譯碼器/XIOW/XIORXA0-iXAi+1-9多端口芯片與系統(tǒng)總線連接圖XD0-7I寫I讀/Y0/Yn微機接口技術IO端口地

10、址譯碼技術 3.5 IO端口地址譯碼電路設計1.固定式端口地址譯碼指一旦譯碼電路設計好,接口用到的IO地址不能更改例1 某接口的IO端口地址為2F8H,在非DMA期間只讀,為該接口設計譯碼器。分析:輸入信號:XA0XA9,XIOR,XAEN輸出信號:一根選中信號 /Y(因為該譯碼器僅為這一個接口電路服務)輸入輸出邏輯關系:微機接口技術IO端口地址譯碼技術XA9XA8XA7XA6XA5XA4XA3XA2XA1XA0XAEN/XIOR+/Y當XA9-02F8H,/XIOR0,XAEN0時,/Y=0; 否則/Y=1寫出邏輯表達式:微機接口技術IO端口地址譯碼技術例2。 使用74LS138設計一個系統(tǒng)

11、板上IO端口地址譯碼電路,并且讓每個接口芯片內(nèi)部可以有32個端口,非DMA期間可以訪問接口芯片。分析:輸入 XA9-5,XAEN。因為低5位地址用來選中芯片內(nèi)部端口,不作為外部譯碼器的輸入。一片138只能譯碼3位地址,這里用138對XA7XA5譯碼。 輸出 8個芯片選中信號/Y0-/Y7。邏輯關系:XAEN0,XA9XA800時,使譯碼器工作。 XA7-XA5000時,輸出/Y0=0, 其余全無效為1。 XA7-XA5001時,輸出/Y1=0, 其余全無效為1 XA7-XA5010時,輸出/Y2=0, 其余全無效為1 微機接口技術IO端口地址譯碼技術參看課本表2.5 74LS138的邏輯真值表

12、,給出設計如下2.可選式端口地址譯碼例3。根據(jù)下圖的可選式地址譯碼電路,分析開關不同狀態(tài)時,輸出選中信號對應的IO地址總結(jié):為單個端口設計譯碼,一般對所有地址線譯碼;為芯片設計外部譯碼器,一般對高位地址譯碼,低位地址讓芯片自己內(nèi)部譯碼,選內(nèi)部端口微機接口技術IO端口地址譯碼技術 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 Vcc XA6 XA7 XA8 XA9 分析

13、:假如S0S1合上,S3S2斷開。B3-01100,只有當XA961100時,74LS85Oa=b端才輸出1。必須要使74LS138工作,則必須/XAEN0,XA50。 所以:要/Y0=0,必須 XA9-2為 要/Y1=0,必須 XA9-2為11000001 微機接口技術IO端口地址譯碼技術選中/Y0的地址是XA90為 11000000XX, 即300H303H選中/Y1的地址是XA90為 11000001XX, 即304H307H選中/Y7的地址是XA90為 11000111XX, 即31CH31FH思考,如果開關S1S3合上,S2S0斷開,選中/Y0-/Y7的地址分別是什么?微機接口技術I

14、O端口地址譯碼技術思考:在PC機上設計接口,你設計的接口IO地址必須不能與其他設備接口IO地址沖突,你能想到用什么辦法解決這個問題?微機接口技術IO端口地址譯碼技術方案一:先查PC機硬件說明書,看那些IO地址已經(jīng)被占用。缺點是麻煩,且非PC機器廠家生產(chǎn)的設備(如擴展接口卡)地址,必須通過查該卡說明書才能了解它占用的IO地址。不可能!你怎么知道你的卡被客戶裝在哪臺機器上?客戶計算機上裝了哪些其它廠家的卡,你怎么能預先知道呢?客戶買了你的卡回家能不能用只有靠運氣了!微機接口技術IO端口地址譯碼技術方案二:先查PC機硬件說明書,看哪些IO地址已經(jīng)被PC機廠家的標準設備占用。再設計一個可選式譯碼器,萬一和其它廠家的設備接口沖突,用跳線開關改變你的IO地址用以避免沖突缺點:麻煩,普通客戶買了你的設備,你要求他回家跳線,對他來說難度太大。在486以前的計算機開發(fā)接口就是這么辦的!也要靠運氣哦,萬一怎么調(diào)整也無法避

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論