微機原理基本輸入輸出接口_第1頁
微機原理基本輸入輸出接口_第2頁
微機原理基本輸入輸出接口_第3頁
微機原理基本輸入輸出接口_第4頁
微機原理基本輸入輸出接口_第5頁
已閱讀5頁,還剩49頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第5章-1基本輸入輸出接口教學重點:

I/O接口電路的典型結構無條件傳送方式查詢傳送方式

中斷工作過程

DMA傳送1.5.1I/O接口概述為什么需要I/O接口(電路)?微機的外部設備多種多樣;工作原理、驅動方式、信息格式以及工作速度方面彼此差別很大;它們不能與CPU直接相連;必須經過中間電路再與系統相連;這部分電路被稱為I/O接口電路。多種外設2.5.1I/O接口概述(續1)什么是I/O接口(電路)?I/O接口是位于系統與外設間,用來協助完成數據傳送和控制任務的邏輯電路PC機系統板的可編程接口芯片、I/O總線槽的電路板(適配器)都是接口電路3.5.1I/O接口概述(續2)什么是微機接口技術?處理微機系統與外設間聯系的技術;注意其軟硬結合的特點;根據應用系統的需要,使用和構造相應的接口電路,編制配套的接口程序,支持和連接有關的設備。4.常見接口插槽PS2鼠標PS2鍵盤千兆網10/100M網卡USB并行口MIDI/游戲接口顯示器接口13941394a音箱/線入接口/麥克風串行口5.5.1.2I/O接口-I/O接口的主要功能⑴對輸入輸出數據進行緩沖和鎖存;輸出接口有鎖存、緩沖環節;輸入接口有鎖存、緩沖環節;⑵對信號的形式和數據的格式進行變換微機直接處理:數字量、開關量、脈沖量;⑶對I/O端口進行尋址;⑷與CPU和I/O設備進行聯絡。6.5.1.2I/O接口-I/O接口的典型結構1.接口電路的內部結構2.接口電路的外部特性3.接口電路芯片的分類4.接口電路的可編程性7.1.接口電路的內部結構CPU與外設主要有數據、狀態和控制信息需要相互交換,于是從應用角度看內部:⑴數據寄存器保存外設給CPU和CPU發往外設的數據⑵狀態寄存器保存外設或接口電路的狀態⑶控制寄存器保存CPU給外設或接口電路的命令理解端口8.2.接口電路的外部特性主要體現在引腳上,分成兩側信號面向CPU一側的信號:用于與CPU連接主要是數據、地址和控制信號面向外設一側的信號:用于與外設連接提供的信號五花八門功能定義、時序及有效電平等差異較大9.3.接口電路芯片的分類接口電路核心部分往往是一塊或數塊大規模集成電路芯片(接口芯片):通用接口芯片支持通用的數據輸入輸出和控制的接口芯片面向外設的專用接口芯片針對某種外設設計、與該種外設接口

面向微機系統的專用接口芯片與CPU和系統配套使用,以增強其總體功能10.4.接口電路的可編程性許多接口電路具有多種功能和工作方式,可以通過編程的方法選定其中一種;接口需要進行物理連接,還需要編寫接口軟件;接口軟件有兩類:初始化程序段——設定芯片工作方式等;數據交換程序段——管理、控制、驅動外設,負責外設和系統間信息交換。11.5.1.3I/O端口的編址接口電路占用的I/O端口有兩類編排形式I/O端口單獨編址I/O地址空間獨立于存儲地址空間;如8086/8088;I/O端口與存儲器統一編址它們共享一個地址空間;如M68000。12.I/O端口單獨編址優點:I/O端口的地址空間獨立控制和地址譯碼電路相對簡單專門的I/O指令使程序清晰易讀缺點:I/O指令沒有存儲器指令豐富內存空間I/O空間FFFFF0FFFF80x86采用I/O端口獨立編址13.I/O端口與存儲器統一編址優點:不需要專門的I/O指令I/O數據存取與存儲器數據存取一樣靈活缺點:I/O端口要占去部分存儲器地址空間程序不易閱讀(不易分清訪存和訪問外設)內存部分I/O部分存儲器空間00000FFFFF14.8088/8086的輸入輸出指令輸入指令INAL,i8/DX ;字節輸入INAX,i8/DX ;字輸入輸出指令OUTi8/DX,AL ;字節輸出OUTi8/DX,AX ;字輸出功能演示功能演示15.例:一個輸入設備的簡單接口電路該電路在CPU執行指令MOVDX,284HINAL,DX將輸入設備的數據讀入CPU內AL中圖中譯碼電路的作用:只當A15~A0上出現284H時,(即0000001010000100B)輸出0,其他輸出1。IO總線三態緩沖器開關狀態DBIOR地址譯碼AB

284H000D7~D0A15~A0與非16.例:一個輸入設備的簡單接口電路三態緩沖器開關輸入數據線IOR地址譯碼地址線284H000D7~D0A15~A0與非IO總線D0D7K1:K8A15~A0IORCLKD7~D0T4T1T2T3Tw0000001010000100執行:MOVDX,284HINAL,DX01101101B=6DHIN指令時序問題:P290圖5.11K2,K5,K8閉合時DB=?,(AL)=?

17.例:一個輸入設備的簡單接口電路三態緩沖器輸入設備數據線IOR地址譯碼地址線284H000D7~D0A15~A0與非IO總線MOVDX,284HINAL,DX輸入設備接口電路,即硬件上保證:只在CPU執行從284H端口輸入數據時,三態門處于工作狀態,使輸入設備的數據送上總線側,而CPU執行其它指令時,三態門均處于高阻狀態,使輸入設備的數據線與總線側斷開。思考:其他的指令為什么不可以?例:INAL,50H;MOVAL,[0284H]18.例:一個輸出設備的簡單接口電路該電路在CPU執行指令MOVAL,81HMOVDX,288HOUTDX,ALCPU內AL中的數據81H送至輸出設備IO總線鎖存器輸出設備數據線IOW地址譯碼地址線

288H000D7~D0A15~A0與非例:LED指示燈圖中譯碼電路的作用:只當A15~A0上出現288H時,(即0000001010001000B)輸出0,其他輸出1。參見P291圖5.1219.例:一個輸出設備的簡單接口電路IO總線鎖存器輸出設備數據線IOW地址譯碼地址線

288H000D7~D0A15~A0與非例:LED指示燈OUT指令時序A15~A0CLKIOWD7~D0T4T1T2T3Tw0000001010001000執行:MOVAL,81HMOVDX,288HOUTDX,AL20.例:一個輸出設備的簡單接口電路PC總線鎖存器輸出設備數據線IOW地址譯碼地址線

288H000D7~D0A15~A0與非例:LED指示燈MOVDX,288HOUTDX,AL輸出設備接口電路,即硬件上保證:只在CPU執行從288H端口輸出數據時,鎖存器處于觸發狀態,其輸出隨輸入變化,而CPU執行其它指令時,鎖存器均處于鎖存狀態,其輸出不隨輸入變化,思考:其他的指令為什么不可以?例:OUT50H,AL;MOV[0288H],AL問題:對本電路MOVDX,288HINAL,DX結果如何?21.I/O端口的譯碼譯碼電路的作用譯碼電路的構成(與存儲器譯碼相似)設計譯碼電路的方法片內譯碼和片選譯碼22.I/O譯碼電路的作用將CPU執行IN/OUT指令發出的信號,“翻譯”成欲操作端口的選通信號,此信號常作為接口內三態門或鎖存器的控制信號,接通或斷開接口數據線與系統的連接。A15~A0IORCLKD7~D0T4T1T2T3TwA15~A0CLKIOWD7~D0T4T1T2T3TwIN指令時序OUT指令時序23.設計譯碼電路的方法根據端口地址確定地址信號A15~A0的條件取值,用門電路、譯碼器及組合、PLD/GAL實現滿足條件情況的電路設計I/O譯碼電路時:端口的選通信號通常為低電平有效,除端口的地址信號參加譯碼外,控制信號IOW、IOR(IO/M、AEN也可參加譯碼)譯碼電路A0A1A14A15IORIOWAEN24.例:設計端口地址為218H的譯碼電路分析CPU執行IN/OUT指令時,發出端口的地址信號MOVDX,218HINAL,DX或OUTDX,AL對應218H端口的地址信號為(只取A9~A0): A9A8A7A6A5A4A3A2A1A0(地址信號) 1000011000B218H

只要滿足此地址取值的譯碼電路均可25.方法一、用門電路實現218H的地址譯碼數據線DBRDWRCS端口譯碼電路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口IO總線D0~D7D0~D710000110000&譯碼電路部分滿足:只當地址信號A9~A0為:A9A8A7A6A5A4A3A2A1A01000011000即218H時,輸出“0”,使I/O接口的/CS有效,否則輸出“1”,使I/O接口的/CS無效26.地址重疊現象數據線DBRDWRCS端口譯碼電路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口IO總線D0~D7D0~D710000110000&注意譯碼電路中:由于高位地址線A15~A10未參與譯碼,即:地址A15~A0為:××××××1000011000均能輸出“0”低電平,所以該電路使:一個端口對應多個地址共26=64個218,618,A18,E18,等等27.218H方法二、用譯碼器、門電路組合實現地址譯碼【問1】Y1~Y7譯出的端口地址各是多少?【問2】將A0與A2位置互換Y0~Y7譯出的端口地址各是多少?28.【答1】Y0~Y7譯出的端口地址分別是219H~21FH。【答2】將A0與A2位置互換Y1~Y7譯出的端口地址分別是218H、21CH、21AH、21EH、219H、21DH、21BH和21FH。29.I/O地址的譯碼小結I/O地址的譯碼方法與存儲器地址的譯碼方法一樣,但有它的特點:每個接口電路通常只占用幾個I/O地址,這時可以利用基本邏輯門電路進行地址譯碼除采用譯碼器、門電路進行譯碼外,I/O地址譯碼還經常采用可編程邏輯器件PLD30.IBMPC/XT主機板的I/O譯碼電路31.5.1.4數據傳送方式程序控制下的數據傳送——通過CPU執行程序中的I/O指令來完成傳送,又分為:無條件傳送、查詢傳送、中斷傳送直接存儲器存取(DMA)——傳送請求由外設向DMA控制器(DMAC)提出,后者向CPU申請總線,最后DMAC利用系統總線來完成外設和存儲器間的數據傳送I/O處理機——CPU委托專門的I/O處理機來管理外設,完成傳送和相應的數據處理32.1、無條件傳送方式及其接口在CPU與慢速變化的設備交換數據時,可以認為它們總是處于“就緒”狀態,隨時可以進行數據傳送,這就是無條件傳送,或稱立即傳送、同步傳送適合于簡單設備,如LED數碼管、按鍵或按紐等無條件傳送的接口和操作均十分簡單這種傳送有前提:外設必須隨時就緒傳送流程33.無條件傳送:輸入示例34.無條件傳送:輸出示例35.簡單輸入接口舉例MOV DX,218HIN AL,DX36.簡單輸出接口舉例MOV DX,219HOUT DX,AL37.2、查詢傳送方式及其接口CPU需要先了解(查詢)外設的工作狀態,然后在外設可以交換信息的情況下(就緒)實現數據輸入或輸出對多個外設的情況,則CPU按一定順序依次查詢(輪詢)。先查詢的外設將優先進行數據交換查詢傳送的特點是:工作可靠,適用面寬,但傳送效率低就緒?38.查詢傳送的兩個環節⑴查詢環節尋址狀態口讀取狀態寄存器的標志位若不就緒就繼續查詢,直至就緒⑵傳送環節尋址數據口是輸入,通過輸入指令從數據端口讀入數據是輸出,通過輸出指令向數據端口輸出數據輸入狀態就緒?數據交換YN傳送流程接口實例39.查詢輸入接口電路 MOVDX,8000H;DX指向狀態端口status: INAL,DX ;讀狀態端口 TESTAL,01H ;測試標志位D0 JNZstatus ;D0=0,未就緒,繼續查詢 INCDX ;D0=1,就緒,DX指向數據端口

INAL,DX ;從數據端口輸入數據40.查詢輸出接口電路

MOVDX,8000H;DX指向狀態端口status: INAL,DX ;讀取狀態端口的狀態數據 TESTAL,80H ;測試標志位D7,80H=10000000B JZstatus ;D7=1,未就緒,繼續查詢 INCDX ;D7=0,就緒,DX指向數據端口 MOVAL,BUF ;變量buf送AL

OUTDX,AL ;將數據輸出給數據端口41.3、中斷傳送方式斷點主程序中斷服務程序中斷請求對外設進行處理繼續執行返回斷點CPU在執行程序中,被內部或外部的事件所打斷,轉去執行一段預先安排好的中斷服務程序;服務結束后,又返回原來的斷點,繼續執行原來的程序傳送流程42.中斷傳送與接口中斷傳送是一種效率更高的程序傳送方式;進行傳送的中斷服務程序是預先設計好的;中斷請求是外設隨機向CPU提出的;CPU對請求的檢測是有規律的:一般是在每條指令的最后一個時鐘周期采樣中斷請求輸入引腳;下面討論中斷在輸入和輸出方面的應用;中斷還有著非常廣泛的應用,以后將詳細介紹。43.中斷傳送與接口44.中斷工作過程中斷請求中斷響應關中斷斷點保護中斷識別現場保護中斷服務恢復現場開中斷中斷返回中斷服務是進行數據交換的實質性環節45.中斷源的識別中斷優先權問題1:系統有多個中斷請求,CPU如何識別中斷源?解答:中斷查詢46.中斷查詢接口47.中斷優先權排隊中斷優先權(續1)問題2:有多個中斷同時請求,CPU如何應對?解答:鏈式優先權排隊電路48.鏈式中斷優先權排隊電路49.中斷嵌套中斷優先權(續2)問題3:中斷處理過程中,又有中斷提出請求,怎么辦?解答:鏈式優先權排隊電路50.希望克服程序控制傳送的不足:外設→CPU→存儲器外設←CPU←存儲器直接存儲器存取DMA:外設→存儲器外設←存儲器CPU釋放總線,由DMA控制器管理。4、DMA傳送方式51.DMA傳送的工作過程⑴CPU對DMA控制器進行初始化設置⑵外設、DMAC和CPU三者通過應答信號建立聯系:CPU將總線交給DMAC控制⑶DMA傳送DMA讀存儲器:存儲器→外設DMA寫存儲器:存儲器←外設⑷自動增減地址和計數,判斷傳送完成否傳送流程52.DMA傳送流程53.小結——傳送方式的比較無條件傳送:慢速外設需與C

溫馨提示

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

評論

0/150

提交評論