




已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1 第6章數(shù)據(jù)傳送方式 學(xué)習(xí)重點 掌握I O接口的概念和功能 微處理器與I O設(shè)備之間數(shù)據(jù)傳輸?shù)?種控制方式 深刻理解中斷 包括中斷分類 中斷向量 中斷處理過程 中斷優(yōu)先級及中斷嵌套的概念和實現(xiàn)方案 掌握8259A的使用方法 掌握DMA基本概念 并行接口 串行接口 定時器及模數(shù)數(shù)模轉(zhuǎn)換結(jié)構(gòu)和原理 2 第6章輸入輸出接口概述 6 1 1輸入輸出接口電路所謂接口是指CPU和存儲器 外部設(shè)備或者兩種外部設(shè)備之間 或者兩種機(jī)器之間通過系統(tǒng)總線進(jìn)行連接的邏輯部件 或稱電路 它是CPU與外界進(jìn)行信息交換的中轉(zhuǎn)站 圖6 1為一個微型計算機(jī)的輸入輸出接口結(jié)構(gòu)圖 可以看出 一個簡單的微機(jī)系統(tǒng)需要CPU 存貯器 基本輸入輸出接口以及將它們連接在一起的各種信號線和接口電路 3 圖6一1微型計算機(jī)的輸入輸出接口結(jié)構(gòu)圖 4 第6章數(shù)據(jù)傳送方式 1 I O信息的組成CPU通過接口與外設(shè)交換信息 這些信息包括數(shù)據(jù)信息 狀態(tài)信息和控制信息 1 數(shù)據(jù)信息 可分為數(shù)字量 模擬量和開關(guān)量 數(shù)字量 是鍵盤 CRT 打印機(jī)及磁盤等I O外設(shè)與CPU交換的信息 它是以二進(jìn)制形式表示的數(shù)或以ASCII碼表示的數(shù)或字符 模擬量 當(dāng)微型計算機(jī)用于控制系統(tǒng)時 大量的現(xiàn)場信息如溫度 壓力 流量 位移等 經(jīng)過傳感器把非電量轉(zhuǎn)換成電量 并經(jīng)放大處理得到模擬量的電壓或電流 這些模擬量必須先經(jīng)過A D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字量才能輸入計算機(jī) 計算機(jī)控制信號的輸出也必須先經(jīng)過D A轉(zhuǎn)換器把數(shù)字量轉(zhuǎn)換成模擬量才能去控制執(zhí)行機(jī)構(gòu) 5 第6章數(shù)據(jù)傳送方式 開關(guān)量即兩個狀態(tài)的量 如開關(guān)的斷開與閉合 閥門的打開與關(guān)閉等 通常開關(guān)量要經(jīng)過相應(yīng)的電平轉(zhuǎn)換才能與計算機(jī)連接 每個開關(guān)量只要一位二進(jìn)制數(shù)表示 故對于字長為8位 或16位 的計算機(jī) 一次可輸入或輸出8位 或16位 開關(guān)量 2 狀態(tài)信息狀態(tài)信息是CPU與外設(shè)之間交換數(shù)據(jù)時的聯(lián)絡(luò)信息 CPU通過讀取外設(shè)狀態(tài)信號 可知外設(shè)的工作狀態(tài) 如輸入設(shè)備的數(shù)據(jù)是否準(zhǔn)備好 輸出設(shè)備是否空閑 輸出設(shè)備正在輸出信息 則用BUSY信號通知CPU暫停送數(shù) 因此 狀態(tài)信號是CPU與I O外設(shè)正確進(jìn)行數(shù)據(jù)交換的重要條件 6 第6章數(shù)據(jù)傳送方式 3 控制信息控制信息是設(shè)置I O外設(shè) 包括I O接口 的工作模式 命令字的有關(guān)信息 如 啟動 停止 信息 2 I O接口的作用 1 轉(zhuǎn)換信息格式 2 提供聯(lián)絡(luò)信號 協(xié)調(diào)數(shù)據(jù)傳送的狀態(tài)信息 3 協(xié)調(diào)定時差異 4 進(jìn)行譯碼選址 5 實現(xiàn)電平轉(zhuǎn)換 6 具備時序控制 7 可編程 7 第6章數(shù)據(jù)傳送方式 3 微處理器與I O接口電路的連接微處理器通過數(shù)據(jù)總線 地址總線和控制總線與存儲器及輸入輸出接口電路連接 為了保證系統(tǒng)工作的可靠性 在構(gòu)成系統(tǒng)時必須考慮以下幾個方面的問題 1 負(fù)載能力的匹配 器件輸出端所接的負(fù)載不能超過器件的負(fù)載能力 2 速度配合問題 存儲器或輸入輸出端口的讀 寫時間必需小于CPU在讀 寫周期中提供的讀 寫時間 在CPU提供的時間不足時 可以通過選取適當(dāng)速度的芯片或改變CPU的時鐘頻率等方法滿足上述條件 也可通過READY引腳 請求CPU插入TW周期以實現(xiàn)速度配合 3 邏輯連接的正確性 正確連接地址線 數(shù)據(jù)線及控制總線 保證CPU在執(zhí)行對某一存儲單元或輸入輸出端口的讀寫指令時 該單元或端口確實被選中并進(jìn)行相應(yīng)的操作 8 6 1 2CPU與外設(shè)之間的數(shù)據(jù)傳送方式 從CPU與外設(shè)通信的特點知 在數(shù)據(jù)傳送之前一般要進(jìn)行狀態(tài)的 聯(lián)絡(luò) 計算機(jī)的外部設(shè)備種類繁多 有機(jī)械式 電動式 電子式或其他形式 其輸入的信息也不盡相同 可以是數(shù)字量 模擬量 也可以是開關(guān)量或是串行 并行信號 為保證CPU和外設(shè)之間能正確 有效f進(jìn)行信息傳輸 針對不同的外設(shè) 不同場合就需要采用不同的數(shù)據(jù)傳送方式 CPU與外設(shè)之間的數(shù)據(jù)傳送方式有3種 程序控制傳送方式 中斷傳送方式 DMA傳送方式 9 6 1 2程序控制傳送方式 1 程序控制的輸入輸出程序控制方式是指CPU與外設(shè)之間的數(shù)據(jù)傳送是在程序控制下完成 它又可成無條件傳送方式和查詢方式兩類 1 無條件傳送方式最簡單的輸入 輸出控制方式 該方式認(rèn)為外設(shè)始終是準(zhǔn)備好的 能隨時提供數(shù)據(jù) 如按鈕開關(guān) 發(fā)光二極管等 一般適用于經(jīng)過較長時間間隔數(shù)據(jù)才有顯著變化的情況 這時無需檢查端口的狀態(tài) 就可以立即采集數(shù)據(jù) 這時的端口不需要加鎖存器而直接用三態(tài)緩沖器與系統(tǒng)總線相連 采用無條件傳送方式接口電路如圖6 2所示 10 圖6一2無條件傳送方式接口電路 11 6 1 2程序控制傳送方式 2 查詢傳送方式當(dāng)快速的CPU與慢速的I O設(shè)備之間交換數(shù)據(jù)時 這就很難保證當(dāng)CPU輸入時 外設(shè)已準(zhǔn)備好數(shù)據(jù) 輸出時 外設(shè)的數(shù)據(jù)鎖存器是空的 因此 在CPU傳送數(shù)據(jù)前 應(yīng)去查一下外設(shè)的狀態(tài) 若設(shè)備準(zhǔn)備好 就進(jìn)行數(shù)據(jù)傳送 否則 CPU就等待 查詢式輸入圖6 3所示為查詢式輸入的接口電路 該電路有兩個端口寄存器 即狀態(tài)口寄存器和數(shù)據(jù)口寄存器 當(dāng)輸入設(shè)備準(zhǔn)備好數(shù)據(jù)之后 發(fā)出選通信號 查詢式輸出查詢式輸出接口電路 它的狀態(tài)口和數(shù)據(jù)口合用一個地址 當(dāng)前輸出設(shè)備空閑時 狀態(tài)標(biāo)志觸發(fā)器清0 CPU在輸出數(shù)據(jù)之前 先讀取狀態(tài)信息 假設(shè)忙閑標(biāo)志接至數(shù)據(jù)線D0位 當(dāng)D0 0時 表示輸出設(shè)備空閑 CPU再對數(shù)據(jù)口執(zhí)行輸出指令 12 圖6一3查詢式輸入的接口電路 13 6 1 2中斷傳送方式 2 中斷傳送方式查詢方式中 CPU需要大量時間去執(zhí)行狀態(tài)查詢程序 使CPU的效率大大降低 另一個缺點是難于滿足實時控制的需要 因為在查詢方式下CPU處于主動地位 外設(shè)處于消極被查詢的被動地位 而在實時系統(tǒng)中 外設(shè)要求CPU為它的服務(wù)是隨機(jī)的 這就要求外設(shè)有主動申請CPU服務(wù)的權(quán)利 此時 可以采用中斷傳送方式 14 6 1 2中斷傳送方式 CPU啟動外部設(shè)備后 繼續(xù)執(zhí)行主程序 當(dāng)外部設(shè)備準(zhǔn)備好傳送數(shù)據(jù)時向CPU發(fā)出中斷請求 CPU響應(yīng)這個請求后就轉(zhuǎn)向中斷服務(wù)程序去進(jìn)行相應(yīng)的輸入輸出操作 當(dāng)對外設(shè)的請求處理完畢后 再返回到被中斷的程序繼續(xù)執(zhí)行 采用這種中斷方式時 CPU不再等待或查詢 而是由外部設(shè)備決定什么時候為它服務(wù) 這種方法允許CPU與外設(shè) 甚至多個外設(shè) 同時工作 或者說并行工作 提高了CPU效率 而且能在需要的時候隨時為外設(shè)服務(wù) 實時性好 一般CPU內(nèi)部均設(shè)有相應(yīng)的硬件線路使其能在執(zhí)行指令的同時監(jiān)測通過中斷引腳送入的中斷請求信號并響應(yīng)中斷請求 15 6 1 2中斷傳送方式 中斷方式優(yōu)點 可以較為實時地外部中斷源的請求 缺點 由于它需要額外開銷時間 用于中斷響應(yīng) 斷點保護(hù)與恢復(fù)等 以及中斷處理的服務(wù)時間 使得中斷響應(yīng)頻率受到了限制 當(dāng)高速外設(shè)與計算機(jī)系統(tǒng)進(jìn)行信息交換時 若采用中斷方式 將會出現(xiàn)CPU頻繁響應(yīng)中斷而不能有效地完成主要工作或者根本來不及響應(yīng)中斷而造成數(shù)據(jù)丟失現(xiàn)象 16 6 1 2DMA傳送方式 3 DMA工作方式直接存儲器存取DMA DirectMemoryAccess 技術(shù)可確保外設(shè)與計算機(jī)系統(tǒng)進(jìn)行高速信息交換 即DMA方式 在DMA方式下 CPU不再直接參加外設(shè)與內(nèi)存間的數(shù)據(jù)傳輸 而是在系統(tǒng)需要進(jìn)行DMA傳輸時 將CPU對地址總線 數(shù)據(jù)總線 及控制總線的管理權(quán)交給DMA控制器進(jìn)行控制 當(dāng)完成一次DMA數(shù)據(jù)傳輸后 再將這個控制權(quán)還給CPU 以上工作要由DMA控制器 DMAC 用硬件完成對傳送過程的控制 即控制和修改內(nèi)存地址 控制DMA的開始與結(jié)束等 因此 在DMA方式下 要由DMAC來控制地址總線 數(shù)據(jù)總線和相應(yīng)的控制信號線 而CPU必須讓出這些總線的控制權(quán) 在這種工作方式下 數(shù)據(jù)傳送速率可以達(dá)到很高 一般可在每秒0 5M字節(jié)以上 17 6 1 2I O處理方式 4 I O處理機(jī)方式雖然 DMA方式已能較好的實現(xiàn)高速度 大批量的數(shù)據(jù)傳送 但是 仍然需要CPU對DMAC進(jìn)行初始化 啟動DMA操作 以及完成每次DMA操作之后檢查傳送的狀態(tài)等 對于I O數(shù)據(jù)的處理 如對數(shù)據(jù)的變換 拆 裝 檢查等 更是離不開CPU的支持 為了能讓CPU進(jìn)一步擺脫I O數(shù)據(jù)傳送的負(fù)擔(dān) 提出了I O處理機(jī)方式 這種方式下 采用專門的I O協(xié)處理器 它不僅能控制數(shù)據(jù)的傳送 而且 還可以執(zhí)行算術(shù)邏輯運(yùn)算 轉(zhuǎn)移 搜索和轉(zhuǎn)換等 當(dāng)CPU需要進(jìn)行I O操作時 它只要在存儲器中建立一個信息塊 將所需要的操作和有關(guān)的參數(shù)按照規(guī)定列入 然后通知I O協(xié)處理器來讀取 I O協(xié)處理器讀得控制信息后 能自動完成全部的I O操作 在這種系統(tǒng)中 所有的I O操作都是以塊為單位來進(jìn)行的 18 6 1 3I O端口的編址方式 I O端口 CPU和I O設(shè)備進(jìn)行數(shù)據(jù)傳送 在接口中就必須有一些寄存器或特定的硬件電路供CPU直接存取訪問 稱之為I O端口 如圖6 5所示 I O端口的地址 為了區(qū)分不同的I O端口 也必須像存儲器一樣給它們編號 這就是I O端口的地址 給內(nèi)存和I O端口分別安排不同的地址 就可以區(qū)分開數(shù)據(jù)傳送的對象是內(nèi)存還是外設(shè)端口 根據(jù)編排地址的方式不同分為 統(tǒng)一編址和獨立編址 CPU通過這些地址讀取狀態(tài)和傳送數(shù)據(jù) 即端口向接口電路中的寄存器發(fā)送命令 因此一個接口可以有多個端口 如命令端口 狀態(tài)端口和數(shù)據(jù)端口 分別對應(yīng)于控制寄存器 狀態(tài)寄存器和數(shù)據(jù)輸入緩沖器等 19 圖6一5外設(shè)通過接口與系統(tǒng)的連接 20 6 1 3I O端口的編址方式 1 統(tǒng)一編址方式將所有I O接口電路中的寄存器或三態(tài)緩沖器當(dāng)作存儲單元一樣對待 每一個接口寄存器都給予相應(yīng)的16位地址編碼 這樣 對外設(shè)進(jìn)行輸出輸入操作就如對某一存儲單元進(jìn)行讀 寫操作一樣 只是各自具有不同的地址而已 優(yōu)點 不需要專門的I O指令 系統(tǒng)編程靈活 缺點 I O端口占用了一部分內(nèi)存空間 使內(nèi)存空間減少 訪問I O端口同訪問內(nèi)存一樣 執(zhí)行時間增加 21 6 1 3I O端口的編址方式 2 獨立編址方式采用獨立編址方式的微型計算機(jī)系統(tǒng)中 CPU的指令系統(tǒng)包含有IN指令和OUT指令 在執(zhí)行這些指令時 控制器設(shè)有IO M控制信號分別控制訪問內(nèi)存和訪問外設(shè)操作 優(yōu)點 I O端口的地址碼一般比同系統(tǒng)中存儲單元的地址碼短 譯碼電路較簡單 存儲器同I O端口的操作指令不同 程序比較清晰 存儲器和I O端口的控制電路結(jié)構(gòu)相互獨立 可以分別設(shè)計 缺點 需要專門的I O指令 這些I O指令一般沒有存儲器訪問指令豐富 所以程序設(shè)計的靈活性較差 22 6 2 1中斷系統(tǒng)基本概念 6 2 1中斷系統(tǒng)基本概念中斷是指CPU在正常執(zhí)行程序時 由于內(nèi)部或外部事件或程序的預(yù)先安排引起CPU暫時終止執(zhí)行現(xiàn)行程序 轉(zhuǎn)而去執(zhí)行請求CPU為其服務(wù)的服務(wù)程序 待該服務(wù)程序執(zhí)行完畢 又能自動返回到被中斷的程序繼續(xù)執(zhí)行 這種中斷就是人們通常所說的外部中斷 除了傳統(tǒng)的外圍部件引起的硬件中斷外 又出現(xiàn)了內(nèi)部的軟件中斷概念 外部中斷和內(nèi)部軟件中斷就構(gòu)成了一個完整的中斷系統(tǒng) 23 6 2 1中斷系統(tǒng)基本概念 1 中斷源微型計算機(jī)中能引起中斷的外部設(shè)備或內(nèi)部原因稱為中斷源 不同的計算機(jī)的設(shè)置有所不同 通常微機(jī)系統(tǒng)的中斷源一般有以下幾種 1 一般的輸入 輸出設(shè)備 如鍵盤 打印機(jī)等 2 實時時鐘 3 故障源 4 軟件中斷 24 6 2 1中斷系統(tǒng)基本概念 2 8086 8088的中斷類型8086 8088CPU有一個簡單而靈活的中斷系統(tǒng) 采用矢量型的中斷結(jié)構(gòu) 共有256個中斷矢量號 又稱中斷類型號 中斷可以由外部設(shè)備啟動 也可以由軟件中斷指令啟動 在某些情況下 也可由CPU自身啟動 8086CPU中斷分類如圖6 6所示 1 硬件中斷硬件中斷是由CPU的外部中斷請求信號觸發(fā)的一種中斷 分為不可屏蔽中斷NMI和可屏蔽中斷INTR 2 軟件中斷軟件中斷也稱內(nèi)部中斷 是由CPU檢測到異常情況或執(zhí)行軟件中斷指令所引起的一種中斷 通常有除法出錯中斷 單步中斷 INTO溢出中斷 INTn中斷 斷點中斷等 25 6 2 1中斷系統(tǒng)基本概念 3 中斷優(yōu)先權(quán)實際的中斷系統(tǒng)常常有多個中斷源 而中斷申請引腳往往只有一條中斷請求線 于是在多個中斷源同時請求時 CPU必須確定為哪一個中斷源服務(wù) 要能辨別優(yōu)先權(quán)最高的中斷源并響應(yīng)之 當(dāng)CPU在處理中斷時 也要能響應(yīng)更高級別的中斷申請 而屏蔽掉同級或較低級的中斷申請 通常有兩種方法解決中斷優(yōu)先權(quán)的識別問題 1 用軟件查詢方法確定中斷優(yōu)先權(quán)采用軟件查詢中斷方式時 中斷優(yōu)先權(quán)由查詢順序決定 先查詢的中斷源具有最高的優(yōu)先權(quán) 軟件查詢方法的接口電路如圖6 7所示 26 圖6一7軟件查詢辦法的接口電路 27 6 2 1中斷系統(tǒng)基本概念 優(yōu)點 電路簡單 軟件查詢的順序就是中斷優(yōu)先權(quán)的順序 不需要專門的優(yōu)先權(quán)排隊電路 可以直接修改軟件查詢順序來修改中斷優(yōu)先權(quán) 不必更改硬件 缺點 當(dāng)中斷源個數(shù)較多時 由逐位檢測查詢到轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序所耗費(fèi)的時間較長 中斷響應(yīng)速度慢 服務(wù)效率低 2 硬件優(yōu)先權(quán)排隊電路又稱菊花環(huán)式優(yōu)先權(quán)排隊電路 它是利用外設(shè)連接在排隊電路的物理位置來決定其中斷優(yōu)先權(quán)的 排在最前面的優(yōu)先權(quán)最高 排在最后面的優(yōu)先權(quán)最低 電路如圖6 9所示 28 6 2 1中斷系統(tǒng)基本概念 4 中斷管理8086CPU可管理256種中斷 每種中斷都指定一個中斷矢量號 每一種中斷矢量號都與一個中斷服務(wù)程序相對應(yīng) 中斷服務(wù)程序的入口地址存放在內(nèi)存儲器的中斷矢量表內(nèi) 中斷矢量表是中斷矢量號與它相應(yīng)的中斷服務(wù)程序的轉(zhuǎn)換表 8086以中斷矢量為索引號 從中斷矢量表中取得中斷服務(wù)程序的入口地址 在8086 8088微機(jī)系統(tǒng)的內(nèi)存中 把0段的0000 03FFH區(qū)域設(shè)置為一個中斷向量表 每一個中斷向量占4個存儲單元 其中 前兩個單元存放中斷子程序入口地址的偏移量 IP 低位在前 高位在后 后兩個單元存放中斷子程序入口地址的段地址 CS 也是低位在前 高位在后 在中斷向量表中 這些中斷是按中斷類型的序號 從0單元開始 順序排列 8086 8088的中斷向量表見圖6 10 中斷矢量表分為三部分 29 圖6一1080868088的中斷向量表 30 6 2 1中斷系統(tǒng)基本概念 1 專用中斷 類型0 類型4 共有5種類型 專用中斷的中斷服務(wù)程序的入口地址由系統(tǒng)負(fù)責(zé)裝入 用戶不能隨意修改 2 備用中斷 類型5 類型3FH 這是Intel公司為軟 硬件開發(fā)保留的中斷類型 一般不允許用戶改作其他用途 3 用戶中斷 類型40H 類型FFH 為用戶可用中斷 其中斷服務(wù)程序的入口地址由用戶程序負(fù)責(zé)裝入 31 6 2 1中斷系統(tǒng)基本概念 5 中斷處理過程微機(jī)系統(tǒng)的中斷處理過程如圖6 11所示 大致可分為中斷請求 中斷響應(yīng) 中斷處理和中斷返回四個過程 這些步驟有的是通過硬件電路完成的 有的是由程序員編寫程序來實現(xiàn)的 32 圖6一11中斷處理過程 33 6 2 1中斷系統(tǒng)基本概念 6 中斷處理子程序的結(jié)構(gòu)模式所有的中斷處理子程序都有如下的結(jié)構(gòu)模式 中斷處理子程序的開始必須通過一系列推入堆棧指令來進(jìn)一步保護(hù)中斷時的現(xiàn)場 即保護(hù)CPU各寄存器的值 在一般情況下 應(yīng)該用指令設(shè)置中斷允許標(biāo)志IF來開放中斷 以允許級別較高的中斷請求進(jìn)入 中斷處理的具體內(nèi)容是中斷處理子程序的主要部分 中斷處理子程序的尾部則是一系列彈出堆棧指令 使得各寄存器恢復(fù)進(jìn)入中斷處理時的值 最后是中斷返回指令 中斷返回指令的執(zhí)行會使堆棧中保存的斷點值和標(biāo)志值分別裝入IP CS和標(biāo)志寄存器 34 6 2 2可編程中斷控制芯片8259A 6 2 2可編程中斷控制芯片8259A1 8259A芯片內(nèi)部結(jié)構(gòu)8259A可編程中斷控制器28條引腳 雙列直插式封裝 各引腳的信號功能見圖6 12 8259A芯片內(nèi)部結(jié)構(gòu)見圖6 13 35 6 2 2可編程中斷控制芯片8259A 8259A的引腳1 D0 D7 雙向三態(tài)數(shù)據(jù)線 2 IR0 IR7 外部中斷請求輸入線 3 RD 和WR 讀寫命令信號線 4 CS 片選信號5 A0 用以選擇8259A內(nèi)部的不同寄存器 通常直接連至地址總線的A0 6 CAS2 CAS0 級聯(lián)信號線 7 INT 與CPU的INTR引腳相連 用來向CPU發(fā)出中斷請求 8 INTA 它與CPU的INTA 引腳相連 用來接收來自CPU的中斷應(yīng)答信號 36 6 2 2可編程中斷控制芯片8259A 9 SP EN 雙功能引線 8259A工作在緩沖模式時 當(dāng)數(shù)據(jù)從CPU送往8259A時 SP EN 1 當(dāng)數(shù)據(jù)從8259A送往CPU時 SP EN 0 工作在非緩沖模式時 該信號與CAS2 CAS0配合使用 用于實現(xiàn)多片8259A的級聯(lián) 8259A為主片時 SP EN接高電平 為從片時 SP EN接地 GND 地VCC 電源 37 6 2 2可編程中斷控制芯片8259A 2 8259A的功能管理和控制80X86的外部中斷請求 實現(xiàn)中斷判優(yōu) 具有8級優(yōu)選權(quán)控制 通過級聯(lián)可擴(kuò)展至64級優(yōu)先權(quán)控制 提供中斷向量 屏蔽中斷輸入 38 6 2 2可編程中斷控制芯片8259A 3 8259A的內(nèi)部結(jié)構(gòu) 39 6 2 2可編程中斷控制芯片8259A 4 8259A的中斷響應(yīng)過程8259A應(yīng)用于8086CPU系統(tǒng)中 其中斷響應(yīng)過程如下 當(dāng)中斷請求線 IR0 IR7 上有1條或若干條為高電平時 則使中斷請求寄存器IRR的相應(yīng)位置位 當(dāng)IRR的某一位被置 1 就會與IMR中相應(yīng)的屏蔽位進(jìn)行比較 若該屏蔽位為1 則封鎖該中斷請求 若該屏蔽位為0 則中斷請求被發(fā)往優(yōu)先權(quán)電路 優(yōu)先權(quán)電路接收到中斷請求后 分析其優(yōu)先權(quán) 把當(dāng)前優(yōu)先權(quán)最高的中斷請求信號由INT引腳輸出 送到CPU的INTR端 40 6 2 2可編程中斷控制芯片8259A 若CPU處于開中斷狀態(tài) 則在當(dāng)前指令執(zhí)行完后 發(fā)出INTA中斷相應(yīng)信號 8259A接收到第一個INTA信號 把允許中斷的最高優(yōu)先級請求位放入ISR 并清除IRR中相應(yīng)位 CPU發(fā)出第二個INTA 在該脈沖期間 8259A發(fā)出中斷類型號 若8259A處于自動中斷結(jié)束方式 則第二個INTA結(jié)束時 相應(yīng)的ISR位被清 0 在其他方式中 ISR相應(yīng)位要由中斷服務(wù)結(jié)束時發(fā)出的EOI命令來復(fù)位 CPU收到中斷類型號 將它乘4得到中斷矢量表的地址然后轉(zhuǎn)至中斷服務(wù)程序 41 6 2 2可編程中斷控制芯片8259A 5 8259A的中斷管理方式8259A具有非常靈活的中斷管理方式 可滿足使用者的各種不同要求 而中斷優(yōu)先權(quán)是管理的核心問題 8259A對中斷的管理可分為對優(yōu)先權(quán)的管理和對中斷結(jié)束的管理 1 中斷優(yōu)先權(quán)管理8259A對中斷優(yōu)先權(quán)的管理 可概括為完全嵌套方式 自動循環(huán)方式和中斷屏蔽方式 1 完全嵌套方式8259A被初始化后自動進(jìn)入基本工作方式 在此方式下 由各個IRi端引入的中斷請求具有固定的中斷級別 IR0具有最高優(yōu)先級 IR7具有最低優(yōu)先級 其他級別以此類推 42 6 2 2可編程中斷控制芯片8259A 2 自動循環(huán)方式基本思想 每當(dāng)任何一級中斷被處理完 它的優(yōu)先級別就被改變?yōu)樽畹图?而將最高級賦給原來比它低一級的中斷請求 3 中斷屏蔽方式普通屏蔽方式 將中斷屏蔽寄存器IMR中的某一位或某幾位置1 即可將相應(yīng)的中斷級的中斷請求屏蔽掉 特殊屏蔽方式 當(dāng)CPU正在處理某級中斷時 要求僅對本級中斷進(jìn)行屏蔽 而允許其他優(yōu)先級比它高或低的中斷進(jìn)入系統(tǒng) 43 6 2 2可編程中斷控制芯片8259A 2 中斷結(jié)束的管理當(dāng)8259A響應(yīng)某一級中斷而為其服務(wù)時 中斷服務(wù)寄存器ISR的相應(yīng)位置 1 當(dāng)有更高級的中斷請求進(jìn)入時 ISR的相應(yīng)位又要置 1 因此 中斷服務(wù)寄存器ISR中可有多位同時置 1 在中斷服務(wù)結(jié)束時 ISR的相應(yīng)位應(yīng)清 0 以便再次接收同級別的中斷 中斷結(jié)束的管理 就是用不同的方式使ISR的相應(yīng)位清 0 并確定隨后的優(yōu)先權(quán)排隊順序 44 6 2 2可編程中斷控制芯片8259A 8259A中斷結(jié)束的管理可分為以下2種情況 1完全嵌套方式 普通EOI方式 當(dāng)任何一級中斷服務(wù)程序結(jié)束時 只給8259A送一個EOI結(jié)束指令 8259A收到這個EOI命令后 自動將ISR寄存器中級別最高的置1清0 缺點 僅用于當(dāng)前結(jié)束的中斷級別高于其他未處理完的中斷時才可用 否則會造成嚴(yán)重后果 特殊EOI方式 不僅中斷程序結(jié)束時給8259A發(fā)出EOI命令 還將當(dāng)前結(jié)束的中斷級別也傳送給8259A 在此情況下 8259A將ISR寄存器中指定級別的相應(yīng)位清0 此方式適應(yīng)于任何情況下 45 6 2 2可編程中斷控制芯片8259A 自動EOI方式 CPU在發(fā)出第二個INTA 結(jié)束響應(yīng)后 自動將ISR寄存器中相應(yīng)位清0 被稱作自動EOI方式 2 自動循環(huán)方式 普通EOI循環(huán)方式 當(dāng)一級中斷處理完后 CPU給8259A回送普通結(jié)束命令 8259A接收到此命令后將ISR中優(yōu)先級最高的置1位清0 并賦給它最低優(yōu)先級 后續(xù)以此類推 自動EOI循環(huán)方式由第二個中斷響應(yīng)信號INTA 的后沿自動將ISR寄存器中相應(yīng)位清0 并立即改變各級中斷的優(yōu)先級別 改變方法與普通EOI循環(huán)方式相同 特殊EOI循環(huán)方式此方式具有更大的靈活性 它可根據(jù)用戶的要求將最低優(yōu)先級賦給指定的中斷源 46 6 2 2可編程中斷控制芯片8259A 6 8259A的編程8259A編程時通過設(shè)計程序?qū)λ拿顮顟B(tài)字進(jìn)行設(shè)置來實現(xiàn)的 可分為初始化編程和工作方式編程 初始化編程 要通過預(yù)置命令字 ICWi 對8259A進(jìn)行初始化 工作方式編程操 可在8259A工作過程中通過操作命令字 OCWi 來定義8259A的工作方式 而且在8259A的操作過程中允許重置操作命令字 以動態(tài)地改變8259A的操作與控制方式 每片8259A包含兩個內(nèi)部端口地址 一個偶地址端口 A0 0 一個奇地址端口 A0 1 其他高位地址碼由用戶定義 用來作為8259A的片選信號 CS 47 6 2 2可編程中斷控制芯片8259A 1 預(yù)置命令字8259A的預(yù)置命令字共四個 ICW1 ICW4 不是任何情況下都需要設(shè)置四個預(yù)置命令字 可根據(jù)8259A的使用情況來選取 ICW1和ICW2是必須的 ICW3是級聯(lián)使用時才需要設(shè)置 ICW4是只在8086 8088 8259A配置系統(tǒng)中需要設(shè)置 1 芯片控制初始化命令字ICW1 其格式如下 48 6 2 2可編程中斷控制芯片8259A D7 D5 在8086 8088中未定義 可以為1 也可為0D4 必須為1 用于指出這是初始化命令字ICW1D3 LTIM位 規(guī)定CALL地址的間隔 D2 1 則間隔為4 這適用于建立一個轉(zhuǎn)移指令表 D2 0 則間隔為8 D1 SNGL位 規(guī)定系統(tǒng)中8259A是單片還是級聯(lián) 為1時單獨 為0時級聯(lián) D0 確定是否設(shè)置ICW4 該位為0時不設(shè)置ICW4 6 2 2可編程中斷控制芯片8259A 2 中斷類型號初始化命令字ICW2 其格式如下 ICW2的高五位即為中斷號的高五位 低3位的值取決于中斷輸入引腳的序號 即IR0 IR7的序號 上一頁 返回 下一頁 3 主 從片初始化命令字ICW3當(dāng)ICW1中的SNGL位為0時工作與級聯(lián)方式 才需要寫ICW3設(shè)置8259A的狀態(tài) 只在多片級聯(lián)時才使用它 對于主片 ICW3格式為 如果本片是主片 則D7 D0對應(yīng)于IR7 IR0 主片連到哪個從片上 哪位置1 6 2 2可編程中斷控制芯片8259A 6 2 2可編程中斷控制芯片8259A 從片時 D7 D0對應(yīng)于IR7 IR0引腳上的連接情況 當(dāng)某一引腳上接有從片 則對應(yīng)位為1 否則為0 對于從片 ICW3格式為 上一頁 返回 下一頁 6 2 2可編程中斷控制芯片8259A 2 操作命令字的編程8259A經(jīng)預(yù)置完命令字后已進(jìn)入工作狀態(tài) 可接收來自IRi端的中斷請求 在8259A工作期間 可通過操作控制字OCW來使它按不同的方式操作 操作控制字共有3個OCW1 OCW3 可獨立使用 1 中斷屏蔽操作命令字OCW1 2 控制中斷結(jié)束和優(yōu)先權(quán)循環(huán)的操作命令字OCW2 上一頁 返回 3 8259A的應(yīng)用實例 54 6 3 1并行通信與并行接口 6 3 1并行通信與并行接口并行通信是把一個字符的各數(shù)位用幾條線同時進(jìn)行傳輸 傳輸速度快 信息率高 但它比串行通信所用的電纜多 因此 并行通信常用在傳輸距離較短 幾米至幾十米 數(shù)據(jù)傳輸率較高的場合 實現(xiàn)并行通信的接口就是并行接口 可設(shè)計為只作為輸出接口 如一個并行接口連接一臺打印機(jī) 還可設(shè)計為只作為輸入接口 如一個并行接口連接卡片讀入機(jī) 可以設(shè)計成既作為輸入又作為輸出的接口 它可以用兩種方法實現(xiàn) 一種是利用同一個接口中的兩個通路 一個作輸入通路 一個作輸出通路 另一種是用一個雙向通路 既作為輸入又作為輸出 前一種方法是用在主機(jī)需要同時輸入和輸出的情況 如此接口既接紙帶讀入機(jī) 又接紙帶穿孔機(jī) 后一種方法是用在輸入 輸出動作并不同時進(jìn)行的主機(jī)與外設(shè)之間 如連接兩臺磁盤驅(qū)動器 55 6 3 1并行通信與并行接口 典型的并行接口和外設(shè)連接如圖6 16所示 圖中的并行接口用一個通道和輸入設(shè)備相連 用另一個通道和輸出設(shè)備相連 每個通道中除數(shù)據(jù)線外均配有一定的控制線和狀態(tài)線 從圖6 16中看到 并行接口中應(yīng)該有一個控制寄存器用來接收CPU對它的控制命令 有一個狀態(tài)寄存器提供各種狀態(tài)位供CPU查詢 為了實現(xiàn)輸入和輸出 并行接口中還必定有相應(yīng)的輸入緩沖寄存器和輸出緩沖寄存器 56 6 3 1并行通信與并行接口 1 并行接口的輸入過程外設(shè)首先將數(shù)據(jù)送給接口 并使?fàn)顟B(tài)線 數(shù)據(jù)輸入準(zhǔn)備好 成為高電平 接口把數(shù)據(jù)接收到數(shù)據(jù)輸入緩沖寄存器的同時 使 數(shù)據(jù)輸入回答 線變?yōu)楦唠娖?作為對外設(shè)的響應(yīng) 外設(shè)接到此信號 便撤除數(shù)據(jù)和 數(shù)據(jù)輸入準(zhǔn)備好 信號 數(shù)據(jù)到達(dá)接口中后 接口會在狀態(tài)寄存器中設(shè)置 輸入準(zhǔn)備好 狀態(tài)位 以便CPU對其進(jìn)行查詢 接口也可以在此時向CPU發(fā)一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 神經(jīng)外科護(hù)理新進(jìn)展
- 消化內(nèi)科主治醫(yī)師工作體系
- 老年友善管理培訓(xùn)
- 我愛吃飯:大班健康飲食教育
- 護(hù)理學(xué)查房模板
- 中醫(yī)健康養(yǎng)生之道
- 食品安全安全教育
- 健康的小學(xué)生
- 初二心理健康教育指導(dǎo)綱要
- 弟子規(guī)家長培訓(xùn)會
- 2023-2024學(xué)年深圳市鹽田區(qū)數(shù)學(xué)四下期末學(xué)業(yè)水平測試試題含解析
- SMT外觀維修作業(yè)指導(dǎo)書
- 《合同法》綜合練習(xí)題及答案
- 山西省孝義市2022-2023學(xué)年七年級下學(xué)期語文期末試卷(含答案)
- 2024年上海市中考語文備考之現(xiàn)代文閱讀作家明前茶及梁曉聲相關(guān)閱讀訓(xùn)練
- 2024-2029年中國管道運(yùn)輸行業(yè)發(fā)展分析及發(fā)展前景與投資研究報告
- 2023-2024學(xué)年雜多縣小學(xué)六年級第二學(xué)期小升初語文試卷含答案
- 數(shù)字貨幣穩(wěn)定幣研究
- 泰文租房合同
- 基于任務(wù)引領(lǐng)的小學(xué)語文閱讀思維層級發(fā)展與實踐研究-以部編版五年級上冊《獵人海力布》為例
- eps泡沫生產(chǎn)工藝技術(shù)
評論
0/150
提交評論