第6章微型計算機的輸入輸出_第1頁
第6章微型計算機的輸入輸出_第2頁
第6章微型計算機的輸入輸出_第3頁
第6章微型計算機的輸入輸出_第4頁
第6章微型計算機的輸入輸出_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6章微型計算機的輸入/輸出

接口基本概念輸入/輸出方式及其接口8086CPU的輸入/輸出指令(復習)為什么需要I/O接口(電路)?微機的外部設備多種多樣,工作原理、驅動方式、信息格式、以及工作速度等方面彼此差別很大6.1接口概述3I/O接口(電路)的定義廣義來講,是指CPU與存儲器、外設之間通過總線進行連接的電路部分;本章特指位于系統(tǒng)與外設間、用來協(xié)助完成數(shù)據傳送和控制任務的邏輯電路。它是CPU與外界進行信息交換的中轉站。接口電路以輔助電路和I/O接口的形式存在。PC機系統(tǒng)板的可編程接口芯片、I/O總線槽的電路板(適配器)都是接口電路CPU接口電路I/O設備5數(shù)據總線DB控制總線CB地址總線AB存儲器I/O接口輸入設備I/O接口輸出設備CPU微型計算機的結構示意圖接口在系統(tǒng)中的地位什么是微機接口技術?處理微機系統(tǒng)與外設間聯(lián)系的技術注意其軟硬結合的特點根據應用系統(tǒng)的需要,使用和構造相應的接口電路,編制配套的接口程序,支持和連接有關的設備接口的功能基本功能:在系統(tǒng)和I/O設備之間傳輸信號提供緩沖作用

1.尋址功能區(qū)別存儲器和I/O信號識別片選信號選擇接口中的寄存器2.輸入輸出功能根據讀寫信號判斷傳輸方向傳輸數(shù)據、控制和狀態(tài)信息3.數(shù)據轉換功能把CPU的并行數(shù)據轉換成一些外設所需的串行數(shù)據;把外設的串行信息轉換成并行數(shù)據送往CPU。4.聯(lián)絡功能 當從總線上接收一個數(shù)據后;

當把一個數(shù)據送到總線上后;5.中斷管理功能發(fā)送中斷請求和接收中斷響應發(fā)送中斷類型號優(yōu)先級管理功能。

6.復位功能

接收復位信號7.可編程功能可以用軟件使其工作于不同的方式用軟件來設置控制信號8.錯誤檢測功能

傳輸錯誤 覆蓋錯誤

信息幀格式錯誤I/O接口的典型結構控制總線CB地址總線ABI/O接口電路數(shù)據控制狀態(tài)數(shù)據總線DBCPU外設控制寄存器狀態(tài)寄存器數(shù)據寄存器I/O端口1I/O端口2I/O端口4地址譯碼數(shù)據緩沖控制電路外設ABDBCBCPUI/O端口3I/O接口的典型結構內部結構外部特性分類可編程性1.接口電路的內部結構CPU與外設主要有數(shù)據、狀態(tài)和控制信息需要相互交換,于是從應用角度看內部: ⑴數(shù)據寄存器保存外設給CPU和CPU發(fā)往外設的數(shù)據 ⑵狀態(tài)寄存器保存外設或接口電路的狀態(tài) ⑶控制寄存器保存CPU給外設或接口電路的命令端口(PORT)I/O端口通常以其地址為標識,1個端口一般對應1個可以被用戶訪問的寄存器數(shù)據寄存器——保存數(shù)據(芯片中可能含多個)控制寄存器——保存控制信息(芯片中可能含多個)狀態(tài)寄存器——保存狀態(tài)信息(芯片中可能含多個)1個接口電路可以具有多個I/O端口,每個端口保存不同的信息(用以與CPU或外設進行信息交換)輸入端口和輸出端口可以使用同一個I/O地址2.接口電路的外部特性面向CPU一側的信號:用于與CPU連接主要是數(shù)據、地址和控制信號面向外設一側的信號:用于與外設連接提供的信號五花八門功能定義、時序及有效電平等差異較大3.接口芯片的分類接口電路核心部分往往是一塊或數(shù)塊大規(guī)模集成電路芯片(接口芯片):通用接口芯片:支持通用的數(shù)據輸入輸出和控制的接口芯片面向外設的專用接口芯片:針對某種外設設計、與該種外設接口面向微機系統(tǒng)的專用接口芯片:與CPU和系統(tǒng)配套使用,以增強其總體功能4.接口電路的可編程性許多接口電路具有多種功能和工作方式,可以通過編程的方法選定其中一種接口需要進行物理連接,還需要編寫接口軟件接口軟件有兩類:初始化程序段——設定芯片工作方式等數(shù)據交換程序段——管理、控制、驅動外設,負責外設和系統(tǒng)間信息交換I/O端口的編址接口電路占用的I/O端口有兩類編排形式I/O端口單獨編址I/O地址空間獨立于存儲地址空間如8086/8088I/O端口與存儲器統(tǒng)一編址它們共享一個地址空間如單片機I/O端口單獨編址優(yōu)點:I/O端口的地址空間獨立控制和地址譯碼電路相對簡單專門的I/O指令使程序清晰易讀缺點:I/O指令沒有存儲器指令豐富80x86采用I/O端口獨立編址內存空間I/O空間FFFFF0FFFF0I/O端口與存儲器統(tǒng)一編址優(yōu)點:不需要專門的I/O指令I/O數(shù)據存取與存儲器數(shù)據存取一樣靈活缺點:I/O端口要占去部分存儲器地址空間程序不易閱讀(不易分清訪存和訪問外設)內存部分I/O部分存儲空間0FFFFF28I/O端口的譯碼譯碼電路的作用譯碼電路的構成設計譯碼電路的方法片內譯碼和片選譯碼該電路在CPU執(zhí)行指令

MOVDX,200HINAL,DX將輸入設備的數(shù)據讀入CPU內AL中圖中譯碼電路的作用:只當A15~A0上出現(xiàn)200H時,(即0000001000000000B)輸出0,其他輸出1。例

一個輸入設備的簡單接口電路三

態(tài)緩沖器輸入設備數(shù)據

線IOR地址譯碼地址線

200H000D7~D0A15~A0與非PC總線輸入設備接口電路,即硬件上保證:只在CPU執(zhí)行從200H端口輸入數(shù)據時,

三態(tài)門處于工作狀態(tài),使輸入設備的數(shù)據送上總線側,而CPU執(zhí)行其它指令時,

三態(tài)門均處于高阻狀態(tài),使輸入設備的數(shù)據線與總線側斷開三

態(tài)緩沖器輸入設備數(shù)據

線IOR地址譯碼地址線

200H000D7~D0A15~A0與非PC總線MOVDX,200HINAL,DX譯碼電路的構成74LS138譯碼器

可用門電路、譯碼器或者兩者的組合實現(xiàn)。AY0BY1CY2Y3G1Y4G2AY5G2BY6Y7門電路:

與門、非門、或門、與非門、或非門等

譯碼器:

2-4線譯碼器74LS1393-8線譯碼器74LS1384-16線譯碼器74LS154等32設計譯碼電路的方法

據端口地址確定地址信號A15~A0的取值,

用門電路、譯碼器或兩者組合實現(xiàn)滿足此取值情況的電路。33設計譯碼電路時:1.端口的選通信號通常為低電平有效2.除端口的地址信號參加譯碼外,

控制信號IOW、IOR(M/IO)譯碼電路A0A1A14A15IORIOWAEN譯碼電路示意圖34219H21AH21BH21CH21DH21EH21FH218H思考:

1.Y2~Y7譯出的端口地址各是多少?74LS1383-8譯碼器AY0BY1CY2G1Y3Y4G2AY5Y6G2BY7

0110000100&&端

口譯碼電路A0A1A2AENA3A4A5A6A7A8A9IORIOWPC總線35片內譯碼和片選譯碼片內譯碼:

在芯片內部的譯碼電路

用于區(qū)分芯片內部不同的端口片選譯碼:在芯片外部的譯碼電路

用于選擇不同的芯片或端口36片選譯碼通常譯出的是一個地址范圍并行接口8255ACS外設數(shù)

線A0A1RDWRPC總線IORA0A1IOWA2A3A4A5A6A7A8A9AEN片選譯碼片內譯碼端口A端口B端口C端口D串行接口8251數(shù)/模轉換0832模/數(shù)轉換0809218~21FH220~227H228~22FH230~237H37200~207h208~20Fh210~217h218~21Fh220~227h228~22Fh230~237h238~23Fh74LS1383-8譯碼器AY0BY1CY2G1Y3Y4G2AY5Y6G2BY7

00010&A3A4A5+5VA6A7A8A9AENIORIOWPC總線&端口譯碼電路38PC總線通常將低位地址線(1位或幾位)直接連在芯片上,用于片內譯碼,而其余的高位地址線用于片選譯碼。并行接口8255ACS外設數(shù)

線A0A1RDWRIORA0A1IOWA2A3A4A5A6A7A8A9AEN片選譯碼片內譯碼端口A端口B端口C端口D串行接口8251數(shù)/模轉換0832模/數(shù)轉換080939例

分析下圖74LS138各輸出端的譯碼地址

(片選譯碼例)

74LS1383-8譯碼器218HAY0BY1CY2G1Y3Y4G2AY5Y6G2BY700010&A3A4A5+5VA6A7A8A9AENIORIOWPC總線&端口譯碼電路40結論:程序控制下的數(shù)據傳送——通過CPU執(zhí)行程序中的I/O指令來完成傳送,又分為:無條件傳送(同步)查詢傳送(異步)中斷傳送直接存儲器存取(DMA)——傳送請求由外設向DMA控制器(DMAC)提出,后者向CPU申請總線,最后DMAC利用系統(tǒng)總線來完成外設和存儲器間的數(shù)據傳送I/O處理機——CPU委托專門的I/O處理機來管理外設,完成傳送和相應的數(shù)據處理6.2輸入輸出方式1、無條件傳送方式及其接口在CPU與慢速變化的設備交換數(shù)據時,可以認為它們總是處于“就緒”狀態(tài),隨時可以進行數(shù)據傳送,這就是無條件傳送,或稱立即傳送、同步傳送適合于簡單設備,如LED數(shù)碼管、按鍵/按紐等無條件傳送的接口和操作均十分簡單這種傳送有前提:外設必須隨時處于就緒狀態(tài)無條件傳送流程無條件傳送:輸入示例IOR三態(tài)緩沖器OEI/O裝置地址譯碼器CSD7~D0A15~A1A00160HMOVDX,160HINAL,DX無條件傳送:輸入實例MOVDX,160HINAL,DX74LS244+5V10Kx8G1G2數(shù)據總線CSRD無條件傳送:輸出示例地址譯碼器數(shù)據鎖存器A15A0~A14-IOWCS0160H輸出設備D7~D0MOVDX,160HMOVAL,[BX]OUTDX,AL無條件傳送:輸出實例MOVDX,160HMOVAL,[BX]OUTDX,AL+5V74LS373300

x8LEOE數(shù)據總線CSWR無條件傳送:輸入輸出接口K7K1K0+5VD0~D7A0~A15CLKLS06反相驅動器LS2738D鎖存器LS244三態(tài)緩沖器8000H譯碼+5VLED0LED7……-G-IOW-IOR無條件傳送:輸入輸出接口next: movdx,8000h ;DX指向數(shù)據端口

inal,dx ;從輸入端口讀開關狀態(tài)

notal ;反相

outdx,al ;送輸出端口顯示

calldelay ;調子程序延時

jmpnext ;重復2、查詢傳送方式及其接口CPU先了解(查詢)外設的工作狀態(tài),在外設就緒(可以交換信息的情況下)實現(xiàn)數(shù)據的輸入或輸出對多個外設的情況,則CPU按一定順序依次查詢(輪詢)。先查詢的外設將優(yōu)先進行數(shù)據交換查詢傳送的特點是:工作可靠,適用面寬,但傳送效率低“就緒(Ready)”的含義在輸入場合:“就緒”說明輸入接口已準備好送往CPU的數(shù)據,正等著CPU來讀取該狀態(tài)也可用接口中數(shù)據緩沖器已“滿”來描述在輸出場合:“就緒”說明輸出接口已做好準備,等待接收CPU要輸出的數(shù)據該狀態(tài)也可用接口數(shù)據緩沖器已“空”、或者用接口(外設)“閑”或“不忙”來描述“就緒”——滿、空、閑、不忙查詢傳送的兩個環(huán)節(jié)查詢環(huán)節(jié)尋址狀態(tài)口讀取狀態(tài)寄存器的標志位若不就緒就繼續(xù)查詢,直至就緒傳送環(huán)節(jié)尋址數(shù)據口是輸入,通過輸入指令從數(shù)據口讀入數(shù)據是輸出,通過輸出指令向數(shù)據口輸出數(shù)據輸入狀態(tài)就緒?數(shù)據交換YN查詢傳送流程查詢輸入接口-IOR+5V8D鎖存器8位三態(tài)緩沖器譯碼1位三態(tài)緩沖器

A0~A158000H8001HD0~D7D0輸入設備-IOR-STBRQD查詢輸入接口

movdx,8000h ;DX指向狀態(tài)端口status:inal,dx ;讀狀態(tài)端口

testal,01h ;測試標志位D0 jzstatus;D0=0,未就緒,繼續(xù)查詢

incdx;D0=1,就緒,DX指向數(shù)據端口

inal,dx;從數(shù)據端口輸入數(shù)據查詢輸出接口8D鎖存器譯碼1位三態(tài)緩沖器RQ

A0~A158000H8001HD0~D7D7D+5V-ACK-IOW-IOR輸出設備查詢輸出接口

movdx,8000h ;DX指向狀態(tài)端口status:

inal,dx

;讀取狀態(tài)端口的狀態(tài)數(shù)據

testal,80h

;測試標志位D7

jnzstatus

;D7=1,未就緒,繼續(xù)查詢

incdx ;D7=0,就緒,DX指向數(shù)據端口

moval,buf ;變量buf送AL

outdx,al

;將數(shù)據輸出給數(shù)據端口6.3.3查詢方式的EEPROM編程2817AA0~A10A0~A108000HI/O0~I/O7D0~D7D0譯碼A11~A19譯碼A0~A15RDY/BUSYIORWERDMEMWMEMRCEnext: moval,55h ;寫入內容=55H mov[bx],al ;寫入存儲單元

nop ;空操作指令,起延時作用

nopnext1:

inal,dx

;查詢狀態(tài)口

testal,01h

;測試D0 jznext1 ;D0=0,芯片還在寫入

incbx ;D0=1,寫畢,指針移動

loopnext ;循環(huán)至全部字節(jié)寫完中斷服務程序發(fā)申請中斷服務程序發(fā)申請中斷方式下CPU執(zhí)行程序流程外設外設準備數(shù)據,CPU執(zhí)行程序,CPU與外設并行工作;

一旦外設準備就緒,外設向CPU發(fā)中斷申請,CPU暫停原程序執(zhí)行,響應中斷,進行數(shù)據傳輸。此時,CPU與外設是串行工作。3、中斷傳送方式中斷服務程序

入口為什么要用中斷?克服了查詢方式對CPU資源的浪費解決了快速CPU與慢速外設速度上的矛盾,相當于CPU和外設可以并行工作。特別是在實時控制系統(tǒng)中,CPU可以快速實時的響應現(xiàn)場的任何請求,進行處理。中斷傳送與接口中斷傳送是一種效率更高的程序傳送方式進行傳送的中斷服務程序是預先設計好的中斷請求是外設隨機向CPU提出的CPU對請求的檢測是有規(guī)律的:一般是在每條指令的最后一個時鐘周期采樣中斷請求輸入引腳中斷有著非常廣泛的應用,主要論述中斷在輸入和輸出方面的應用中斷傳送流程三態(tài)緩沖器中斷傳送與接口(續(xù))D0~D7+5V8D鎖存器8位三態(tài)緩沖器RQ

譯碼8001H中斷向量號D0~D7INTRD輸入設備中斷允許觸發(fā)器A0~A15中斷請求觸發(fā)器-IOR-INTA-STB中斷工作過程中斷請求(外設)中斷響應(CPU)關中斷(CPU)斷點保護(CPU)中斷識別(硬件/軟件)現(xiàn)場保護(用戶)中斷服務(用戶)恢復現(xiàn)場(用戶)開中斷(CPU/用戶)中斷返回(用戶)中斷識別和中斷優(yōu)先權處理問題1:系統(tǒng)有多個中斷請求,CPU如何識別中斷源?辦法1: 向量中斷(硬件)辦法2: 中斷查詢(軟/硬件結合)中斷源的識別中斷查詢接口A0~A15鎖存器INTR三態(tài)緩沖器譯碼

8001HD0~D7中斷A中斷B中斷C中斷H……-IOR中斷優(yōu)先權問題2:有多個中斷同時請求,CPU如何應對?辦法1:鏈式優(yōu)先權排隊電路辦法2:優(yōu)先權編碼電路中斷優(yōu)先級排隊問題3:中斷處理過程中,又有中斷提出請求,怎么辦?中斷嵌套鏈式中斷優(yōu)先權排隊電路A2A1C2C1D2D1B2B1中斷源A觸發(fā)器中斷源B觸發(fā)器中斷源C觸發(fā)器中斷矢量D中斷矢量C中斷矢量B中斷矢量A中斷源D觸發(fā)器緩沖器緩沖器緩沖器緩沖器-INTA高優(yōu)先級中斷優(yōu)先權編碼電路比較器失效信號(先前無中斷請求時有效)比較器8:3優(yōu)先權編碼器優(yōu)先權寄存器D0~D721A<B中斷請求0中斷請求1中斷請求2A0A1A2INTRB0B1B2…有中斷請求4、DMA傳送方式希望克服程序控制傳送的不足: 外設→CPU→存儲器 外設←CPU←存儲器直接存儲器存取DMA:不經CPU,不用指令外設→存儲器(DMA寫)外設←存儲器(DMA讀)擴展:外設?外設CPU出讓系統(tǒng)總線(輸出高阻),由DMA控制器(DMAC)接管系統(tǒng)總線71DMA

傳送方式過程CPUDMAC內存外設總線響應總線請求DMA請求DMA確

溫馨提示

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

最新文檔

評論

0/150

提交評論