第8章輸入輸出和接口技術_第1頁
第8章輸入輸出和接口技術_第2頁
第8章輸入輸出和接口技術_第3頁
第8章輸入輸出和接口技術_第4頁
第8章輸入輸出和接口技術_第5頁
已閱讀5頁,還剩38頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

輸入輸出接口

8.1輸入輸出接口

8.1.1I/O接口(端口)

8.1.2I/O接口要解決的問題

8.1.3I/O接口的功能

8.1.4I/O端口的編址方法

8.1.5簡單的I/O接口第8章8.2

輸入和輸出的傳送方

8.2.1程序控制的輸入和

輸出

8.2.2中斷控制的輸入和

輸出

8.2.3直接存儲器存取

(DMA)方式注:IN(I)輸入,OUT(O)輸出,端口(接口)第8章輸入輸出接口8.1.1I/O信息為什么需要I/O接口(電路)?微機的外部設備多種多樣工作原理、驅動方式、信息格式、以及工作速度方面彼此差別很大它們不能與CPU直接相連必須經過中間電路再與系統相連這部分電路被稱為I/O接口電路多種外設

8.1.1I/O信息什么是I/O接口(電路)?I/O接口是位于系統與外設間、用來協助完成數據傳送和控制任務的邏輯電路PC機系統板的可編程接口芯片、I/O總線槽的電路板(適配器)都是接口電路CPU接口電路I/O設備

8.1.2I/O接口要解決的問題速度匹配,數據緩沖信號電平和驅動能力(電平轉換器、驅動器)

信號形式匹配(A/D、D/A)

信息格式(字節流、塊、數據包、幀)

時序匹配(定時關系)總線隔離(三態門)譯碼選址,多個端口可編程功能,具備不同的功能(發展趨勢)錯誤檢測8.1.3I/O接口的功能☆

I/O地址譯碼與設備選擇把選中的與總線相接,未選中的與總線隔離(高阻態)

☆信息的輸入輸出

☆命令、數據和狀態的緩沖、隔離和鎖存對輸入輸出數據進行緩沖和鎖存輸出接口有鎖存環節,輸入接口有緩沖環節實際的電路常用:

輸出鎖存緩沖環節,輸入鎖存緩沖環節

☆信息轉換微機直接處理:數字量、開關量、脈沖量典型的并行接口和外部設備連接如圖所示。圖中的并行接口用一個通道和輸入設備相連,用另一個通道和輸出設備相連,每個通道中除數據線外均配有一定的控制線和狀態線。8.1.3I/O接口的功能控制總線CB地址總線ABI/O接口電路數據控制狀態數據總線DBCPU外設控制寄存器狀態寄存器數據寄存器1.接口電路的內部結構2.接口電路的外部特性3.接口電路芯片的分類4.接口電路的可編程性這些寄存器就是I/O端口,每個端口都有自己的地址端口(PORT)端口泛指I/O地址,通常對應寄存器;一個接口電路可以具有多個I/O端口,每個端口用來保存和交換不同的信息;數據端口、狀態端口和控制端口占有的I/O地址也可依次稱為數據寄存器、狀態寄存器和控制寄存器,用于保存數據、狀態和控制信息;輸入、輸出端口可以是同一個I/O地址。1.接口電路的內部結構CPU與外設主要有數據、狀態和控制信息需要相互交換,于是從應用角度看內部:⑴數據寄存器:數據輸入端口保存外設給CPU和CPU發往外設的數據⑵狀態寄存器:狀態端口保存外設或接口電路的狀態⑶控制寄存器:控制端口保存CPU給外設或接口電路的命令2.接口電路的外部特性主要體現在引腳上,分成兩側信號面向CPU一側的信號:用于與CPU連接主要是數據、地址和控制信號面向外設一側的信號:用于與外設連接提供的信號五花八門功能定義、時序及有效電平等差異較大3.接口電路芯片的分類接口電路核心部分往往是一塊或數塊大規模集成電路芯片(接口芯片):通用接口芯片支持通用的數據輸入輸出和控制的接口芯片面向外設的專用接口芯片針對某種外設設計、與該種外設接口

面向微機系統的專用接口芯片與CPU和系統配套使用,以增強其總體功能4.接口電路的可編程性許多接口電路具有多種功能和工作方式,可以通過編程的方法選定其中一種接口需要進行物理連接,還需要編寫接口軟件接口軟件有兩類:初始化程序段——設定芯片工作方式等數據交換程序段——管理、控制、驅動外設,負責外設和系統間信息交換8.1.4I/O端口的編址方法接口電路占用的I/O端口有兩類編排形式I/O端口單獨編址I/O地址空間獨立于存儲地址空間如8086I/O端口與存儲器統一編址它們共享一個地址空間如M6800理解端口I/O端口單獨編址優點:I/O端口的地址空間獨立控制和地址譯碼電路相對簡單專門的I/O指令使程序清晰易讀缺點:I/O指令沒有存儲器指令豐富內存空間I/O空間FFFFF0FFFF80x86采用I/O端口獨立編址I/O端口與存儲器統一編址優點:不需要專門的I/O指令I/O數據存取與存儲器數據存取一樣靈活缺點:I/O端口要占去部分存儲器地址空間程序不易閱讀(不易分清訪存和訪問外設)內存部分I/O部分存儲器空間00000FFFFF8086的輸入輸出指令輸入指令INAL,i8 ;字節輸入,直接尋址INAL,DX ;字節輸入,間接尋址INAX,i8 ;字輸入,直接尋址INAX,DX ;字輸入,間接尋址輸出指令OUTi8,AL ;字節輸出,直接尋址OUTDX,AL ;字節輸出,間接尋址OUTi8,AX ;字輸出,直接尋址OUTDX,AX ;字輸出,間接尋址演示演示8086/8088的I/O指令(1)直接端口尋址方式對于端口PORT的地址范圍是8位,即00H—FFHINAL,PORT

;端口PORT的字節信息送ALOUTPORT,AL ;將AL的數據信息送到端口PORTINAX,PORT

;端口PORT的字信息送AX,即端口 ;PORT的字節信息送AL,端口 ;PORT+1的字節信息送AHOUTPORT,AX ;將AX的字信息送端口,即AL送端 ;口PORT,AH送端口PORT+18086/8088的I/O指令(2)間接端口尋址方式對于端口地址大于8位時,必須用間接端口尋址方式:INAL,DX ;從DX所表示的端口輸入字節數據到ALOUTDX,AL ;將AL中的數據輸出到以DX表示的端口INAX,DX ;從DX所表示的端口輸入字數據到AX,即DX ;端口的字及到AL,DX+1端口的字節到AHOUTDX,AX ;將AX的字數據輸出到以DX表示的端口,即 ;AL輸出到DX端口,AH輸出到DX+1

8.1.5簡單的I/O接口

1.三態緩沖器,三態緩沖寄存器三態,是指電路輸出端具有三種穩態,即1態(高電平狀態),0態(低電平狀態)和第三態——高阻態(或稱浮空態)。

可編程接口電路的一般結構圖數據線控制線狀態線DBCBAB數據輸入寄存器(or三態門)數據輸出寄存器(鎖存器)狀態寄存器(or三態門)命令寄存器譯碼電路控制邏輯接外設接主機74LS244引腳及內部結構數據輸入三態緩沖器

三態緩沖器構成輸入接口8個數據輸出端Y,與微機數據總線連接;8個數據輸入端A,與外設連接;

數據允許端1G,2G,將數據從A—Y;執行IN指令時,CPU發出讀指令,將數據經三態緩沖器加到AL。

8D觸發器-74LS273數據輸出寄存器8個數據輸入端1D-8D與數據總線連接8個數據輸出端1Q-8Q與外設連接。CLK上升沿時數據寫入,下降沿可以清除執行OUT指令時,CPU發出指令,將AL中的數據寫入該觸發器,等待輸出。8.2輸入輸出的傳送方式

無條件傳送方式程序控制的輸入輸出中斷控制的輸入輸出直接存儲器存取DMA(DirectMemoryAccess)外設數據形式非常多,外設速度也非常多,因此,數據傳送的關鍵在于如何進行控制。8.2.1程序控制的輸入輸出無條件傳送方式,同步傳送適用于總是處于準備好狀態的外設,不需要檢查判斷以下外設可采用無條件傳送方式:開關發光器件(如發光二極管、7段數碼管、燈泡等)繼電器步進電機優點:軟件及接口硬件簡單缺點:只適用于簡單外設,適應范圍較窄流程播放無條件傳送:輸入示例MOV DX,160HIN AL,DX無條件傳送:輸入實例MOV DX,160HIN AL,DX74LS244+5V10Kx8G1G2數據總線CSRD無條件傳送:輸出示例MOVDX,160HMOVAL,[BX]OUTDX,AL無條件傳送:輸出實例MOVDX,160HMOVAL,[BX]OUTDX,AL+5V74LS373300

x8LEOE數據總線CSWR8.2.1程序控制的輸入輸出查詢傳送方式CPU需要先測試(查詢)外設的工作狀態,然后在外設可以交換信息的情況下(就緒)實現數據輸入或輸出對多個外設的情況,則CPU按一定順序依次查詢(輪詢)。先查詢的外設將優先進行數據交換查詢傳送的特點是:工作可靠,適用面寬,但傳送效率低查詢傳送的兩個環節⑴查詢環節尋址狀態口讀取狀態寄存器的標志位若不就緒就繼續查詢,直至就緒⑵傳送環節尋址數據口是輸入,通過輸入指令從數據端口讀入數據是輸出,通過輸出指令向數據端口輸出數據輸入狀態就緒?數據交換YN流程8.2.1程序控制的輸入輸出IOR+5V8D鎖存器8位三態緩沖器譯碼1位三態緩沖器RQ

A0~A158000H8001HD0~D7D0D輸入設備IORSTBMOVDX,8000H ;DX指向狀態端口STATUS:INAL,DX ;讀狀態端口

TESEAL,01H ;測試標志位D0 JZSTATUS ;D0=0,未就緒,繼續查詢

INCDX ;D0=1,就緒,DX指向數據端口

INAL,DX ;從數據端口輸入數據

查詢輸入接口8.2.1程序控制的輸入輸出8D鎖存器譯碼1位三態緩沖器RQ

A0~A158000H8001HD0~D7D7D+5V輸出設備ACKIOWIOR MOVDX,8000H ;DX指向狀態端口STATUS:INAL,DX ;讀取狀態端口的狀態數據

TESTAL,80H ;測試標志位D7 JNZSTATUS;D7=1,未就緒,繼續查詢

INXDX ;D7=0,就緒,DX指向數據端口

MOVAL,BUF ;變量buf送AL

OUTDX,AL ;將數據輸出給數據端口查詢輸出接口8.2.2中斷控制的輸入和輸出斷點主程序中斷服務程序中斷請求對外設進行處理繼續執行返回斷點CPU在執行程序中,被內部或外部的事件所打斷,轉去執行一段預先安排好的中斷服務程序;服務結束后,又返回原來的斷點,繼續執行原來的程序。流程程序控制電路簡單,清楚但是要不斷測試,只能串行工作效率低。8.2.2中斷控制的輸入和輸出中斷傳送是一種效率更高的程序傳送方式進行傳送的中斷服務程序是預先設計好的中斷請求是外設隨機向CPU提出的CPU對請求的檢測是有規律的:一般是在每條指令的最后一個時鐘周期采樣中斷請求輸入引腳

8.2.2中斷控制的輸入和輸出8.2.2中斷控制的輸入和輸出中斷請求中斷響應關中斷斷點保護中斷識別現場保護中斷服務恢復現場開中斷中斷返回中斷服務是進行數據交換的實質性環節8.2.3直接存儲器存取

(DMA)方式希望克服程序控制傳送的不足:外設→CPU→存儲器外設←CPU←存儲器直接存儲器存取DMA:外設→存儲器外設←存儲器CPU釋放總線,由DMA控制器管理DMA傳送的工作過程⑴CPU對DMA控制器進行初始化設置⑵外設、DMAC和CPU三者通過應答信號建立聯系:CPU將總線交給DMAC控制⑶DMA傳送DMA讀存儲器:存儲器→外設DMA寫存儲器:存儲器←外設⑷自動增減地址和計數,判斷傳送完成否DMA傳送流程HLDA發存儲器地址傳送數據傳送結束?DMA結束修改地址指針流程傳送方式的比較無條件傳送:慢速外設需與CPU保持同步查詢傳送:簡單實用,效率較低中斷傳送:外設主動,可與CPU并行工作,但每次傳送需要大量額外時間開銷DMA傳送:DMAC控制,外設直接和存儲器進行數據傳送,適合大量、快速數據傳送多種多樣的外設工作原理不同機械、電子、機電、電磁……傳送信息類型多樣數字量、模擬量、開關量傳送速度差別極大傳送方式不盡相同串行、并行編碼方式不同二進制、BCD碼、ASCII碼……返回輸出接口的鎖存環節內部數據總線外部數據引腳鎖存控制DCQDCQDCQ返回輸出接口的鎖存、緩沖環節內部數據總線外部數據引腳鎖存控制DCQDCQDCQ讀數據返回

溫馨提示

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

評論

0/150

提交評論