河南理工大學(xué)_第1頁(yè)
河南理工大學(xué)_第2頁(yè)
河南理工大學(xué)_第3頁(yè)
河南理工大學(xué)_第4頁(yè)
河南理工大學(xué)_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第六章輸入/輸出libaoping@第六章輸入/輸出本章內(nèi)容基本概念接口的作用和功能

I/O端口的編址輸入/輸出數(shù)據(jù)的傳輸控制方式無(wú)條件、查詢、中斷、DMADMA*DMA的基本概念DMA工作過(guò)程DMA的三種傳輸方式 26.1輸入/輸出接口概述

計(jì)算機(jī)的輸入輸出(即I/O)是計(jì)算機(jī)系統(tǒng)中不可缺少的重要組成部分,沒(méi)有它,計(jì)算機(jī)只是一個(gè)聰明的“瞎子和啞巴”,既不知道人要它做什么,也不知道把計(jì)算機(jī)的結(jié)果反映出來(lái),沒(méi)有I/O,再高檔的計(jì)算機(jī)也無(wú)法為人服務(wù)。現(xiàn)代計(jì)算機(jī)系統(tǒng)中外部設(shè)備種類(lèi)繁多,各類(lèi)外部設(shè)備不僅結(jié)構(gòu)和工作原理不同,而且與主機(jī)的連接方式也可能完全不同。為了方便地將主機(jī)與各種外設(shè)連接起來(lái),并且避免主機(jī)陷入與各種外設(shè)打交道的沉重負(fù)擔(dān)之中,我們需要一個(gè)信息交換的中間環(huán)節(jié),這個(gè)主機(jī)與外設(shè)之間的交接界面就稱作輸入/輸出接口。34什么是I/O接口(電路)?I/O接口是位于系統(tǒng)與外設(shè)間、用來(lái)協(xié)助完成數(shù)據(jù)傳送和控制任務(wù)的邏輯電路,I/O接口就是CPU與外設(shè)的連接部件。PC機(jī)系統(tǒng)板的可編程接口芯片、I/O總線槽的電路板(適配器)都是I/O接口電路CPUI/O接口電路

I/O設(shè)備接口在CPU與外設(shè)之間5接口:CPU與外設(shè)間的中間電路。接口的分類(lèi)如下圖所示:

接口分類(lèi)基本接口:8259,8237,8254通用接口:8255,8251,usb,1394專用接口:鍵盤(pán)接口,顯示器接口6I/O接口要解決的問(wèn)題信息變換,信號(hào)形式匹配(A/D、D/A;串/并,并/串)

速度協(xié)調(diào),速度匹配(Buffer)輔助與緩沖7具體地說(shuō),I/O接口應(yīng)具有以下主要功能或其中的一部分功能:

1)尋址功能:對(duì)送來(lái)的片選信號(hào)進(jìn)行識(shí)別。

2)輸入/輸出功能:根據(jù)讀/寫(xiě)信號(hào)決定當(dāng)前進(jìn)行的是輸入操作還是輸出操作。

3)數(shù)據(jù)轉(zhuǎn)換功能:A/D轉(zhuǎn)換功能、D/A轉(zhuǎn)換功能、串/并轉(zhuǎn)換功能、并/串轉(zhuǎn)換功能等。

4)聯(lián)絡(luò)功能:就緒信號(hào),忙信號(hào)等。

5)中斷管理:發(fā)出中斯請(qǐng)求信號(hào)、接收中斷響應(yīng)信號(hào)、發(fā)送中斷類(lèi)型碼的功能。并具有優(yōu)先級(jí)管理功能。6)錯(cuò)誤檢測(cè):奇偶校驗(yàn),循環(huán)冗余校驗(yàn),海明碼校驗(yàn)。7)可編程:可編程功能意味著I/O接口具有較強(qiáng)的通用性、靈活性和可擴(kuò)充性,即在不改變硬件設(shè)計(jì)的條件下,I/O接口可以接收并解釋CPU的控制命令,從而改變接口的功能與工作方式。

6)復(fù)位:接收復(fù)位信號(hào),從而使接口本身以及所連的外設(shè)進(jìn)行重新啟動(dòng)。I/O接口的功能8I/O端口:

I/O信息的三種類(lèi)型:數(shù)據(jù)、命令、狀態(tài)。傳送這三類(lèi)信息的通道分別稱為:數(shù)據(jù)端口(I/O)、狀態(tài)端口(I)、命令端口(O)。不同外設(shè)具有的端口數(shù)各不相同,計(jì)算機(jī)中為每一個(gè)端口都賦予一個(gè)惟一編號(hào)——稱為端口地址(或端口號(hào))。端口有兩種編址方式:統(tǒng)一編址和獨(dú)立編址。6.1.2I/O接口的編址方式9I/O接口電路的基本結(jié)構(gòu)主機(jī)外設(shè)數(shù)據(jù)緩沖器狀態(tài)寄存器控制寄存器總線驅(qū)動(dòng)地址譯碼控制邏輯接CPU一側(cè)接外設(shè)一側(cè)DBABCB數(shù)據(jù)信息控制信息狀態(tài)信息端口接口I/O端口編址方式:存儲(chǔ)器映像或I/O獨(dú)立編址一個(gè)外設(shè)可能有多個(gè)端口,一個(gè)端口也可能屬于多個(gè)外設(shè)主板上的I/O地址:0~0FFH;擴(kuò)展槽上的I/O地址:100~3FFH10定義把外設(shè)接口與內(nèi)存統(tǒng)一進(jìn)行編址。各占據(jù)統(tǒng)一地址空間的不同部分。優(yōu)點(diǎn)指令統(tǒng)一,靈活;訪問(wèn)控制信號(hào)統(tǒng)一,使用同一組的地址/控制信號(hào)。缺點(diǎn)內(nèi)存可用地址空間減小地址長(zhǎng),指令代碼長(zhǎng),相應(yīng)地讀寫(xiě)執(zhí)行時(shí)間也較長(zhǎng)例如:

MCS-51單片機(jī)0地址空間(共1MB)內(nèi)存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H1.統(tǒng)一編址11定義:

外設(shè)地址空間和內(nèi)存地址空間相互獨(dú)立。優(yōu)點(diǎn):內(nèi)存地址空間不受I/O編址的影響缺點(diǎn):I/O指令功能較弱,使用不同的讀寫(xiě)控制信號(hào)00000H內(nèi)存地址空間內(nèi)存空間(1MB)I/O空間(64KB)FFFFHFFFFFHI/O地址空間0000H2.獨(dú)立編址例如:

8088/8086微機(jī)系統(tǒng)12MCS-51單片機(jī)I/O端口與內(nèi)存統(tǒng)一編址示意圖138088/80862016I/O端口獨(dú)立編址示意圖146.2輸入輸出數(shù)據(jù)的傳輸控制方式I/O接口電路基礎(chǔ):三態(tài)緩沖器/鎖存器問(wèn)題:CPU與外設(shè)的工作速度不一致,尤其是當(dāng)外設(shè)由其他CPU或時(shí)序電路控制時(shí)更加明顯,應(yīng)如何解決效率和可靠性。數(shù)據(jù)傳送控制:使兩者高效、可靠地進(jìn)行數(shù)據(jù)傳送(1)

無(wú)條件傳送方式(2)

條件傳送方式(查詢方式

)(3)

中斷傳送方式(4)

DMA傳送方式(DirectMemoryAccess)

存儲(chǔ)器直接存取方式三種傳送方式(程序方式)15無(wú)條件傳送方式最簡(jiǎn)單,只需直接使用輸入/輸出指令即可。相對(duì)應(yīng)用最少。條件傳送方式(程序查詢)適于與速度不匹配的設(shè)備進(jìn)行數(shù)據(jù)交換,但CPU必須等待外設(shè)準(zhǔn)備好,工作效率低。

中斷控制高效、實(shí)時(shí),但要付出相對(duì)較高的硬件代價(jià)。

直接存儲(chǔ)器存取即DMA方式。無(wú)需程序控制,因而速度最快。16無(wú)條件程序控制(同步控制)方式一種最簡(jiǎn)單的I/O控制方式,CPU可以隨時(shí)根據(jù)需要無(wú)條件地讀寫(xiě)I/O端口外設(shè)要求:簡(jiǎn)單,數(shù)據(jù)變化緩慢,操作時(shí)間固定,如一組開(kāi)關(guān)或LED顯示管。外設(shè)被認(rèn)為始終處于就緒狀態(tài)接口特點(diǎn)CPU的DB→I/O接口(輸出鎖存器)→外設(shè)CPU的DB←I/O接口(輸入緩沖器)←外設(shè)17無(wú)條件傳送方式硬件電路圖18條件傳送方式(查詢傳送方式)實(shí)現(xiàn)方法:在與外設(shè)進(jìn)行傳送數(shù)據(jù)前,CPU先查詢外設(shè)狀態(tài),當(dāng)外設(shè)準(zhǔn)備好后,再才執(zhí)行I/O指令,實(shí)現(xiàn)數(shù)據(jù)傳送。特點(diǎn):1.CPU通過(guò)不斷查詢外設(shè)狀態(tài),實(shí)現(xiàn)與外設(shè)的速度匹配;2.CPU的工作效率低,響應(yīng)速度慢;3.適用于簡(jiǎn)單、慢速的或?qū)崟r(shí)性要求不高的外設(shè).19一般外設(shè)均可以提供一些反映其狀態(tài)的信號(hào),如對(duì)輸入設(shè)備來(lái)說(shuō),它能夠提供“準(zhǔn)備好”(“READY”)信號(hào),“READY”=1表示輸入數(shù)據(jù)已準(zhǔn)備好。輸出設(shè)備則提供“忙”(“BUSY”)信號(hào),“BUSY”=1表示當(dāng)前時(shí)刻不能接收CPU來(lái)的數(shù)據(jù),只有當(dāng)“BUSY”=0時(shí),才表明它可以接受來(lái)自于CPU的輸出數(shù)據(jù)。條件傳送方式(查詢傳送方式)20過(guò)程:輸入操作的程序流程如圖所示:對(duì)READY的狀態(tài)查詢,是通過(guò)讀狀態(tài)端口的相應(yīng)位來(lái)實(shí)現(xiàn)的,輸出的情況亦大致相同,這種傳送控制方式的最大優(yōu)點(diǎn)是,能夠保證輸入/輸出數(shù)據(jù)的正確性。21查詢方式輸入接口原理圖01022查詢方式輸出接口原理圖0110023例1假設(shè)從某輸入設(shè)備上輸入一組數(shù)據(jù)送緩沖區(qū),接口電路如圖6-4,若緩沖區(qū)已滿則輸出一組信息“BOFFEROVERFLOW”,然后結(jié)束。設(shè)該設(shè)備的啟動(dòng)地址為0FCH,數(shù)據(jù)端口為0F8H,狀態(tài)端口為0FAH。程序如下:DATASEGMENTMESS1DB‘BUFFEROVERFLOW’,’$’BUFFDB60DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA24START:MOVAX,DATAMOV DS,AXMOV BX,OFFSETBUFF;送緩沖區(qū)指針

MOV CX,60;送計(jì)數(shù)初值

OUT 0FCH,AL;啟動(dòng)設(shè)備

WAIT:IN AL,OFAH;查詢狀態(tài),若為0,則等待

TEST AL,01HJZ WAITIN AL,0F8H;輸入數(shù)據(jù)

MOV [BX],ALINC BXLOOPWAIT;檢測(cè)緩沖區(qū)是否滿,不滿再輸入

MOV DX,OFFSETMESS1;緩沖區(qū)滿,輸出標(biāo)志字符串

MOV AH,09HINT 21HMOV AH,4CHINT 21HCODEENDSENDSTART

25輪流查詢流程圖優(yōu)先級(jí)問(wèn)題當(dāng)CPU需對(duì)多個(gè)設(shè)備進(jìn)行查詢時(shí),就出現(xiàn)了所謂的優(yōu)先級(jí)問(wèn)題,即究竟先為哪個(gè)設(shè)備服務(wù),一般來(lái)講,在這種情況下都是采用輪流查詢的方式來(lái)解決,如圖所示26中斷傳送方式

實(shí)現(xiàn)方法:

1.當(dāng)外設(shè)準(zhǔn)備好,向CPU發(fā)出中斷請(qǐng)求

2.CPU在滿足響應(yīng)中斷的條件下,發(fā)出中斷響應(yīng)信號(hào);

3.CPU暫停當(dāng)前的程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,完成與外設(shè)的數(shù)據(jù)傳送;

4.CPU從中斷服務(wù)程序返回,繼續(xù)執(zhí)行被中斷的程序27中斷服務(wù)程序發(fā)申請(qǐng)中斷服務(wù)程序發(fā)申請(qǐng)中斷方式下CPU執(zhí)行程序流程外設(shè)硬件中斷---NMI與INTR兩根線申請(qǐng)中斷(與CALL差別大)軟件中斷---INTn與INTO指令(與CALL功能類(lèi)似)時(shí)間隨機(jī)兩者無(wú)關(guān)28中斷傳送方式(輸入接口)29中斷優(yōu)先級(jí)當(dāng)系統(tǒng)中有多個(gè)設(shè)備提出中斷請(qǐng)求時(shí),就有一個(gè)該響應(yīng)誰(shuí)的問(wèn)題,也就是一個(gè)優(yōu)先級(jí)的問(wèn)題,解決優(yōu)先級(jí)的問(wèn)題一般可有三種方法:軟件查詢法、簡(jiǎn)單硬件方法及專用硬件方法。

(1)軟件查詢法30中斷優(yōu)先級(jí)(2)簡(jiǎn)單硬件方法31中斷優(yōu)先級(jí)(3)專用硬件方法中斷控制器的系統(tǒng)連接32圖:中斷服務(wù)子程序331.CPU和外設(shè)大部分時(shí)間處在并行工作狀態(tài),只在CPU響應(yīng)外設(shè)的中斷申請(qǐng)后,進(jìn)入數(shù)據(jù)傳送的過(guò)程。2.中斷傳送方式提高了CPU的效率。3.對(duì)外設(shè)的請(qǐng)求能作出實(shí)時(shí)響應(yīng),可處理故障。4.適于實(shí)時(shí)、快速、復(fù)雜的外設(shè),但不適用于大量、高速頻繁數(shù)據(jù)交換

DMA。

中斷傳送方式的特點(diǎn)34DMA傳輸方式

前面3種I/O方式共性:

都需要CPU作為中介:

外設(shè)

CPU

內(nèi)存

兩個(gè)含義:

1)軟件:外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送是通過(guò)CPU執(zhí)行程序來(lái)完成的(PIO方式);

2)硬件:I/O接口和存儲(chǔ)器的讀寫(xiě)控制信號(hào)、地址信號(hào)都是由CPU發(fā)出的(總線由CPU控制)。

缺點(diǎn):程序的執(zhí)行速度限定了傳送的最大速度(約為幾十KB/秒)

解決辦法:DMA傳輸外設(shè)

內(nèi)存DMAC35CPUDMACMEMI/OA0~A1536

DMA傳送方式(直接存儲(chǔ)器存取方式)

實(shí)現(xiàn)方法1.由專用接口芯片DMA控制器(稱DMAC)控制傳送過(guò)程,2.當(dāng)外設(shè)需傳送數(shù)據(jù)時(shí),通過(guò)

DMAC向CPU發(fā)出總線請(qǐng)求HOLD

;3.CPU發(fā)出總線響應(yīng)信號(hào)HLDA,釋放總線;4.DMAC接管總線,控制外設(shè)、內(nèi)存之間直接數(shù)據(jù)傳送DMA的工作流程圖

37DMA控制器的工作過(guò)程:1)當(dāng)外設(shè)準(zhǔn)備好,可以進(jìn)行DMA傳送時(shí),外設(shè)向DMA控制器發(fā)出“DMA傳送請(qǐng)求”信號(hào)(DRQ);2)DMA控制器收到請(qǐng)求后,向CPU發(fā)出“總線請(qǐng)求”信號(hào)HOLD,表示希望占用總線;3)CPU在完成當(dāng)前總線周期后會(huì)立即對(duì)HOLD信號(hào)進(jìn)行響應(yīng)。響應(yīng)包括兩個(gè)動(dòng)作:一是CPU將數(shù)據(jù)總線、地址總線和相應(yīng)的控制信號(hào)線均置為高阻態(tài),由此放棄對(duì)總線的控制權(quán)。另一方面,CPU向DMA控制器發(fā)出“總線響應(yīng)”信號(hào)(HLDA)。4)DMA控制器收到HLDA信號(hào)后,就開(kāi)始控制總線,并向外設(shè)發(fā)出DMA響應(yīng)信號(hào)DACK;38DMA控制器的工作過(guò)程(續(xù))5)DMA控制器送出地址信號(hào)和相應(yīng)的控制信號(hào),實(shí)現(xiàn)外設(shè)與內(nèi)存或內(nèi)存與內(nèi)存之間的直接數(shù)據(jù)傳送;例如,向I/O接口發(fā)出讀信號(hào),同時(shí)往地址總線上發(fā)出存儲(chǔ)器的地址和存儲(chǔ)器寫(xiě)信號(hào)和AEN信號(hào),即可從外設(shè)向內(nèi)存?zhèn)魉鸵粋€(gè)字節(jié)。6)DMA控制器自動(dòng)修改地址和字節(jié)計(jì)數(shù)器,并判斷是否需要重復(fù)傳送操作。當(dāng)規(guī)定的數(shù)據(jù)傳送完后,DMA控制器就撤銷(xiāo)發(fā)往CPU的HOLD信號(hào)。CPU檢測(cè)到HOLD失效后,緊接著撤銷(xiāo)HLDA信號(hào),并在下一時(shí)鐘周期重新開(kāi)始控制總線。

39DMAC的結(jié)構(gòu)

數(shù)據(jù)端口狀態(tài)/控制端口DMA控制器地址寄存器計(jì)數(shù)器控制/狀態(tài)寄存器CPU存儲(chǔ)器數(shù)據(jù)緩沖寄存器DMA請(qǐng)求觸發(fā)器輸入設(shè)備DMA響應(yīng)ReadyDMA請(qǐng)求HOLDHLDADACK,應(yīng)答信號(hào)端口地址選擇40A8~A15418237A的工作周期8237A具有兩種工作狀態(tài)空閑周期:作為接口電路,受CPU控制的工作狀態(tài)有效周期:作為DMAC控制DMA傳送的工作狀態(tài)428237A的工作周期—空閑周期8237A的任一通道都沒(méi)有DMA請(qǐng)求時(shí)8237A由微處理器控制作為一個(gè)接口芯片CPU可對(duì)8237A編程,或從8237A讀取狀態(tài)8237A采樣CS*選片信號(hào),該信號(hào)有效,CPU就要對(duì)8237A進(jìn)行讀/寫(xiě)操作8237A還采樣通道的請(qǐng)求輸入信號(hào)DREQ,該信號(hào)有效,就進(jìn)入有效周期438237A的工作周期—有效周期8237A采樣到外設(shè)有DMA請(qǐng)求,就脫離空閑周期進(jìn)入有效周期8237A作為系統(tǒng)的主控芯片,控制DMA傳送操作DMA傳送借用系統(tǒng)總線完成,其控制信號(hào)以及工作時(shí)序類(lèi)似CPU總線周期44(1)DMA傳送-單字節(jié)方式每次DMA傳送時(shí)僅傳送一個(gè)字節(jié)傳送一個(gè)字節(jié)之后,字節(jié)數(shù)寄存器減1,地址寄存器加1或減1,HRQ變?yōu)闊o(wú)效8237A釋放系統(tǒng)總線,將控制權(quán)還給CPU若傳送后使字節(jié)數(shù)從0減到FFFFH,則終結(jié)DMA傳送或重新初始化特點(diǎn):一次傳送一個(gè)字節(jié),效率略低DMA傳送之間CPU有機(jī)會(huì)重新獲取總線控制權(quán)DMA傳送方式45(2)DMA傳送-數(shù)據(jù)塊方式由DREQ啟動(dòng)就連續(xù)地傳送數(shù)據(jù),直到字節(jié)數(shù)寄存器從0減到FFFFH終止計(jì)數(shù),或由外部輸入有效信號(hào)終結(jié)DMA傳送DREQ只需維持有效到DACK有效特點(diǎn):一次請(qǐng)求傳送一個(gè)數(shù)據(jù)塊,效率高整個(gè)DMA傳送期間CPU長(zhǎng)時(shí)間無(wú)法控制總線(無(wú)法響應(yīng)其他DMA請(qǐng)求、無(wú)法處理中斷等)46(3)DMA傳送-請(qǐng)求方式DREQ信號(hào)有效就連續(xù)傳送數(shù)據(jù)DREQ信號(hào)無(wú)效,DMA傳送被暫時(shí)中止,8237A釋放總線,CPU可繼續(xù)操作DMA通道的地址和字節(jié)數(shù)的中間值仍被保持DREQ信號(hào)再次有效,DMA傳送就繼續(xù)進(jìn)行如果字節(jié)數(shù)寄存器從0減到FFFFH,或者由外部送來(lái)一個(gè)有效的信號(hào),將終止計(jì)數(shù)特點(diǎn):DMA操作可由外設(shè)利用DREQ信號(hào)控制傳送的過(guò)程47(4)DMA傳送-級(jí)連方式用于通過(guò)多個(gè)8237A級(jí)連以擴(kuò)展通道第二級(jí)的HRQ和HLDA信號(hào)連到第一級(jí)某個(gè)通道的DREQ和DACK上第二級(jí)芯片的優(yōu)先權(quán)等級(jí)與所連通道的優(yōu)先權(quán)相對(duì)應(yīng)第一級(jí)只起優(yōu)先權(quán)網(wǎng)絡(luò)的作用,實(shí)際的操作由第二級(jí)芯片完成還可由第二級(jí)擴(kuò)展到第三級(jí)等48DMA寫(xiě)——把外設(shè)輸入的數(shù)據(jù)寫(xiě)入存儲(chǔ)器由IOR*有效從外設(shè)輸入數(shù)據(jù),由MEMW*有效把這一數(shù)據(jù)寫(xiě)入存儲(chǔ)器。DMA讀——把數(shù)據(jù)由存儲(chǔ)器傳送到外設(shè)由MEMR*有效從存儲(chǔ)器讀出數(shù)據(jù),由IOW*有效把這一數(shù)據(jù)寫(xiě)入外設(shè)。DMA傳輸類(lèi)型49固定使用通道0和通道1通道0的地址寄存器存源區(qū)地址通道1的地址寄存器存目的區(qū)地址,通道1的字節(jié)數(shù)寄存器存?zhèn)魉偷淖止?jié)數(shù)傳送由設(shè)置通道0的軟件請(qǐng)求啟動(dòng)每傳送一字節(jié)需用8個(gè)時(shí)鐘周期前4個(gè)時(shí)鐘周期用通道0地址寄存器的地址從源區(qū)讀數(shù)據(jù)送入8237A的臨時(shí)寄存器后4個(gè)時(shí)鐘周期用通道1地址寄存器的地址把臨時(shí)寄存器中的數(shù)據(jù)寫(xiě)入目的區(qū)存儲(chǔ)器到存儲(chǔ)器的傳送50DMA通道的優(yōu)先權(quán)方式固定優(yōu)先權(quán)方式——優(yōu)先權(quán)固定通道0優(yōu)先權(quán)最高,通道1其次,通道2再次,通道3最低循環(huán)優(yōu)先權(quán)方式——優(yōu)先權(quán)循環(huán)變化最近一次服務(wù)的通道在下次循環(huán)中變成最低優(yōu)先權(quán),其他通道依次輪流相應(yīng)的優(yōu)先權(quán)DMA傳送不存在嵌套511.基地址寄存器

2.基字節(jié)數(shù)寄存器

3.當(dāng)前地址寄存器

4.當(dāng)前字節(jié)數(shù)寄存器

5.地址暫存寄存器和字節(jié)數(shù)暫存寄存器8237的內(nèi)部寄存器52A8~A15536.方式寄存器存放相應(yīng)通道的方式控制字選擇某個(gè)DMA通道的工作方式其中用最低2位選擇哪個(gè)DMA通道請(qǐng)看方式字的格式5400通道001通道110通道211通道300 校驗(yàn)傳輸01 DMA寫(xiě)10 DMA讀11 非法×× 若D7D6=110禁止自動(dòng)初始化1允許自動(dòng)初始化0地址增量(加1)1地址減量(減1)方式字格式D7D6D5D4D3D2D1D000請(qǐng)求傳輸方式01單字節(jié)傳輸方式10數(shù)據(jù)塊傳輸方式11級(jí)聯(lián)傳輸方式557.命令寄存器存放8237A的命令字設(shè)置8237A芯片的操作方式影響每個(gè)DMA通道復(fù)位時(shí)使命令寄存器清零設(shè)置D2=1才使8237A可以作為DMA控制器請(qǐng)看命令字的格式56命令字格式D7D6D5D4D3D2D1D00DACK低電平有效1DACK高電平有效0DREQ高電平有效1DREQ低電平有效0不擴(kuò)展寫(xiě)1擴(kuò)展寫(xiě)×若D3=10固定優(yōu)先權(quán)1循環(huán)優(yōu)先權(quán)0正常時(shí)序1壓縮時(shí)序×若D0=10啟動(dòng)8237工作1停止8237工作0禁止通道0地址保持1允許通道0地址保持×若D0=00禁止存儲(chǔ)器之間傳送1允許存儲(chǔ)器之間傳送578.請(qǐng)求寄存器用于軟件控制下產(chǎn)生DMA請(qǐng)求除硬件DMA請(qǐng)求外,當(dāng)工作在數(shù)據(jù)塊傳送方式時(shí)也可以通過(guò)軟件發(fā)出DMA請(qǐng)求若是存儲(chǔ)器到存儲(chǔ)器傳送,則必須由軟件請(qǐng)求啟動(dòng)通道058請(qǐng)求字格式D7D6D5D4D3D2D1D0無(wú)用0復(fù)位1置位00通道001通道110通道211通道3599.屏蔽寄存器控制外設(shè)硬件DMA請(qǐng)求是否被響應(yīng)(為0允許),各個(gè)通道互相獨(dú)立。3種方法:?jiǎn)瓮ǖ榔帘巫种粚?duì)一個(gè)DMA通道屏蔽位進(jìn)行設(shè)置主屏蔽字對(duì)4個(gè)DMA通道屏蔽位同時(shí)進(jìn)行設(shè)置清屏蔽寄存器命令使4個(gè)屏蔽位都清零(允許)復(fù)位使4個(gè)通道全置于屏蔽狀態(tài)當(dāng)一個(gè)通道的DMA過(guò)程結(jié)束,如果不是工作在自動(dòng)初始化方式,則這一通道的屏蔽位置位,必須再次編程為允許,才能進(jìn)行下次DMA傳送60單通道屏蔽字格式D7D6D5D4D3D2D1D0無(wú)用0清屏蔽位1置屏蔽位00通道001通道110通道211通道361四通道屏蔽字格式D7D6D5D4D3D2D1D0無(wú)用Di=0清通道I屏蔽位Di=1置通道I屏蔽位6210.狀態(tài)寄存器可由CPU讀取低4位反映讀命令這個(gè)瞬間每個(gè)通道是否產(chǎn)生TC(為1,表示該通道傳送結(jié)束)高4位反映每個(gè)通道的DMA請(qǐng)求情況(為1,表示該通道有請(qǐng)求)狀態(tài)位在復(fù)位或被讀出后,均被清零6311.暫存寄存器在存儲(chǔ)器到存儲(chǔ)器的傳送方式下,暫存寄存器保存從源存儲(chǔ)單元讀出的數(shù)據(jù),該數(shù)據(jù)又被寫(xiě)入到目的存儲(chǔ)單元傳送完成,暫存寄存器只會(huì)保留最后一個(gè)字節(jié),可由CPU讀出復(fù)位使暫存寄存器內(nèi)容為零12.字節(jié)指針寄存器641.58237A的編程8327A芯片的初始化編程:只要寫(xiě)入命令寄存器可先輸出主清除命令,進(jìn)行軟件復(fù)位然后寫(xiě)入命令字命令字影響所有4個(gè)通道的操作65選擇頁(yè)寄存器DACK3選擇頁(yè)寄存器DACK2選擇頁(yè)寄存器DACK1選擇頁(yè)寄存器A19~A16DACK0A19~A16A15~A08237DMAC利用頁(yè)寄存器產(chǎn)生存儲(chǔ)器地址66地址低字節(jié)總清地址高字節(jié)字?jǐn)?shù)低字節(jié)字?jǐn)?shù)高字節(jié)方式字命令字屏蔽字其他通道參數(shù)8237的初始化67PC機(jī)中8237的連接68OU

溫馨提示

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

評(píng)論

0/150

提交評(píng)論