CH9DMA控制器的編程結(jié)構(gòu)及編程_第1頁(yè)
CH9DMA控制器的編程結(jié)構(gòu)及編程_第2頁(yè)
CH9DMA控制器的編程結(jié)構(gòu)及編程_第3頁(yè)
CH9DMA控制器的編程結(jié)構(gòu)及編程_第4頁(yè)
CH9DMA控制器的編程結(jié)構(gòu)及編程_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微型機(jī)原理與技術(shù)微型機(jī)原理與技術(shù)ch9 dmadma控制器的編控制器的編程結(jié)構(gòu)及編程程結(jié)構(gòu)及編程主要內(nèi)容dma 控制器概要控制器概要dma 控制器控制器8237的原理的原理8237a的工作方式和寄存器的工作方式和寄存器9.19.29.328237a各寄存器對(duì)應(yīng)的端口地址各寄存器對(duì)應(yīng)的端口地址9.48237a的編程和應(yīng)用的編程和應(yīng)用9.5dma 傳輸?shù)奶攸c(diǎn)傳輸?shù)奶攸c(diǎn)9.0ldmandma (direct memory access):讓存儲(chǔ)器與高速外設(shè)直接進(jìn)行數(shù)據(jù)交換而無需cpu的干預(yù)。l特點(diǎn)ndma傳送期間,dma控制器(dmac)接管了cpu對(duì)總線的控制權(quán)。ndma方式中,內(nèi)存地址的修改、傳

2、送結(jié)束的判斷都由硬件電路實(shí)現(xiàn)。即:用硬件控制硬件控制代替了軟件控制。ndma控制器控制器是實(shí)現(xiàn)dma傳送的核心器件。39.0 dma傳送的特點(diǎn)傳送的特點(diǎn)l應(yīng)用場(chǎng)合ndma方式主要用于高速大批量傳輸數(shù)據(jù)的場(chǎng)合。如:硬盤和軟盤外設(shè);快速通信通道快速通信通道;多處理機(jī)和多程序數(shù)據(jù)塊傳送;圖像處理中向crc屏幕傳送數(shù)據(jù);快速數(shù)據(jù)采集快速數(shù)據(jù)采集;dram的刷新操作的刷新操作。49.0 dma傳送的特點(diǎn)傳送的特點(diǎn)59.1 dma控制器概要控制器概要ldma的傳送過程分5個(gè)階段:1. 1. 初始化階段初始化階段6 要傳送的數(shù)據(jù)字節(jié)數(shù) 數(shù)據(jù)在存儲(chǔ)器中的起始地址 傳送方向 dmac的通道號(hào) dmac 9.1

3、dma控制器概要控制器概要2. 2. 申請(qǐng)階段申請(qǐng)階段當(dāng)外設(shè)有dma需求,并且已準(zhǔn)備就緒,則向dma控制器發(fā)出dma請(qǐng)求信號(hào)dreq。dma控制器接收到dma請(qǐng)求信號(hào)后,向cpu發(fā)出總線請(qǐng)求信號(hào)hrq。該信號(hào)連接到cpu的hold信號(hào)。7 cpu dmac 外部設(shè)備外部設(shè)備dreqhrq9.1 dma控制器概要控制器概要3. 3. 響應(yīng)階段響應(yīng)階段cpu收到dma的hrq請(qǐng)求后,若允許dma傳輸,則在當(dāng)前總線周期結(jié)束后,釋放總線控制權(quán),并向dmac發(fā)hlda信號(hào),通知其cpu已交出總線。8cpu檢測(cè)hrqhrq有效且lock無效cpu交出總線cpu向dmac發(fā)hldayndmac成為總線主控者

4、成為總線主控者 9.1 dma控制器概要控制器概要4. 4. 數(shù)據(jù)傳送階段數(shù)據(jù)傳送階段dma控制器獲得總線的控制權(quán),向外設(shè)發(fā)送應(yīng)答信號(hào)dack,通知外設(shè)可以進(jìn)行dma傳輸了。dma控制器送出地址信號(hào)和控制信號(hào),實(shí)現(xiàn)外設(shè)與內(nèi)存的數(shù)據(jù)傳輸。9 外部設(shè)備 dmac 存儲(chǔ)器 dack地址信號(hào)讀寫信號(hào)9.1 dma控制器概要控制器概要5. 5. 傳送結(jié)束階段傳送結(jié)束階段dmac向外設(shè)發(fā)送eop信號(hào),外設(shè)撤銷dreq請(qǐng)求,同時(shí)hrq和hlda信號(hào) 變 為 無 效 ,dmac釋放總線,cpu重獲總線控制權(quán)。10cpu重獲總線控制權(quán)重獲總線控制權(quán)dmac向外設(shè)發(fā)eop信號(hào)外設(shè)撤消dreq信號(hào)hrq和hlda變

5、為無效dmac交出總線控制權(quán)9.1 dma控制器概要控制器概要ldma控制器8237a-5 的基本特點(diǎn)n8237a-5是一個(gè)高性能通用可編程可編程dmac。n具有4個(gè)獨(dú)立的通道,通過級(jí)聯(lián)方式進(jìn)行擴(kuò)充。最多可擴(kuò)展4個(gè)從片,即16個(gè)dma通道。每個(gè)通道可傳輸?shù)淖畲髷?shù)據(jù)塊均為64kb。n可實(shí)現(xiàn)內(nèi)存到外設(shè)、外設(shè)到內(nèi)存以及內(nèi)存到內(nèi)存之間的高速數(shù)據(jù)傳輸,最高數(shù)據(jù)傳輸速率可達(dá)1.6mb/s。n具有多種控制方式和操作類型。119.2 dma控制器控制器8237a的原理的原理129.2 dma控制器控制器8237a的原理的原理ldma控制器的2種狀態(tài)n主動(dòng)工作態(tài):主模塊 在主動(dòng)工作狀態(tài)下,dmac取代處理器cp

6、u,獲得了對(duì)系統(tǒng)總線的控制權(quán)總線的控制權(quán),成為系統(tǒng)總線的主控者,向存儲(chǔ)器和外設(shè)發(fā)號(hào)施令發(fā)號(hào)施令。n被動(dòng)工作態(tài):從模塊 在被動(dòng)工作狀態(tài)下,dmac接受cpu對(duì)它的控制和指揮。例如:對(duì)dmac進(jìn)行初始化編程以及從dmac讀取狀態(tài)等。1. 8237a的編程結(jié)構(gòu)l8237a-5外部特性n概況 40引腳雙列直插封裝。n引腳說明139.2 dma控制器控制器8237a的原理的原理l8237a內(nèi)部結(jié)構(gòu)n4個(gè)dma通道和一個(gè)公共控制部分。n每個(gè)dma通道包括:基本地址寄存器、當(dāng)前地址寄存器基字節(jié)寄存器、當(dāng)前字節(jié)計(jì)數(shù)器n公共控制部分:工作方式寄存器、命令寄存器、狀態(tài)寄存器請(qǐng)求寄存器、屏蔽寄存器、暫存寄存器149

7、.2 dma控制器控制器8237a的原理的原理159.2 dma控制器控制器8237a的原理的原理圖圖9.1 8237a9.1 8237a的編程結(jié)構(gòu)和外部連接的編程結(jié)構(gòu)和外部連接(1) 請(qǐng)求與應(yīng)答信號(hào)請(qǐng)求與應(yīng)答信號(hào)dreq3 dreq0:dma通道請(qǐng)求輸入信號(hào)(由外設(shè)提供)。有效電平可高可低,由程序選定。 優(yōu)先級(jí):dreq0最高, dreq3最低。dack3 dack0:dma響應(yīng)輸出信號(hào)(外接外設(shè))。有效電平可高可低,由程序選定。 8237a在同一個(gè)時(shí)間,只能有一個(gè)dack應(yīng)答信號(hào)有效。hrq:8237a-5向cpu發(fā)出的總線請(qǐng)求信號(hào),高電平有效。hlda:cpu發(fā)給8237a-5的總線請(qǐng)求

8、響應(yīng)信號(hào)。高電平有效。有效時(shí)表示cpu已讓出總線。16 外部設(shè)備外部設(shè)備 dmac dreq cpu hrqhldadack9.2 dma控制器控制器8237a的原理的原理2. 8237a的外部信號(hào)的外部信號(hào) (2)地址信號(hào)線)地址信號(hào)線a3 a0:地址線,雙向三態(tài)。l 被動(dòng)狀態(tài)下,為輸入,作為cpu對(duì)8237a內(nèi)部的16個(gè)寄存器與計(jì)數(shù)器尋址之用。l 主動(dòng)狀態(tài)下,為輸出,作為20位存儲(chǔ)器地址的最低4位。a7 a4:地址線,單向。l 主動(dòng)狀態(tài)下,為輸出。作為訪問20位存儲(chǔ)器地址低8位中的高4位。179.2 dma控制器控制器8237a的原理的原理2. 8237a的外部信號(hào)的外部信號(hào) (3)數(shù)據(jù)信

9、號(hào))數(shù)據(jù)信號(hào)db7 db0:地址數(shù)據(jù)復(fù)用線,雙向三態(tài)。l被動(dòng)狀態(tài)下,為雙向數(shù)據(jù)線。用于cpu對(duì)8237a進(jìn)行初始化,或dma傳輸結(jié)束后傳送狀態(tài)。l主動(dòng)狀態(tài)下,分時(shí)復(fù)用分時(shí)復(fù)用作為訪問存儲(chǔ)器的高8位地址線和數(shù)據(jù)線。在存儲(chǔ)器到存儲(chǔ)器傳送方式中,作為數(shù)據(jù)的輸入輸出端。189.2 dma控制器控制器8237a的原理的原理2. 8237a的外部信號(hào)的外部信號(hào) (4)控制信號(hào))控制信號(hào)cs:片選信號(hào),低有效。被動(dòng)狀態(tài)下用于cpu對(duì)8237的尋址。clk:控制芯片內(nèi)部操作和數(shù)據(jù)傳輸。reset:輸入信號(hào),復(fù)位8237a。ior/iow:讀寫控制信號(hào)。l被動(dòng)狀態(tài)下,為輸入被動(dòng)狀態(tài)下,為輸入。用于cpu向dma

10、c寫命令或初始化參數(shù),或cpu讀取8237a內(nèi)部寄存器狀態(tài)。l主動(dòng)狀態(tài)下,為輸出主動(dòng)狀態(tài)下,為輸出。對(duì)外設(shè)進(jìn)行讀寫。memr/memw:存儲(chǔ)器讀/寫信號(hào),單向輸出。當(dāng)8237a為主動(dòng)為主動(dòng)工作狀態(tài)時(shí),對(duì)存儲(chǔ)器進(jìn)行讀寫。199.2 dma控制器控制器8237a的原理的原理2. 8237a的外部信號(hào)的外部信號(hào)adstb:地址選通信號(hào)。此信號(hào)有效時(shí),dma控制器的當(dāng)前地址寄存器中的高8位地址通過db0db7送到外部鎖存器。aen:地址允許。使地址鎖存器中的高8位地址送地址總線。ready:準(zhǔn)備就緒信號(hào)。低電平時(shí),8237a處于等待狀態(tài),高電平表示外設(shè)或存儲(chǔ)器準(zhǔn)備就緒。eop:dma傳輸過程結(jié)束信號(hào)。

11、dma傳送過程結(jié)束,則從eop輸出一個(gè)低有效脈沖。若從eop輸入低脈沖信號(hào),則表明外部強(qiáng)制結(jié)束dma傳送。209.2 dma控制器控制器8237a的原理的原理(4 4)控制信號(hào))控制信號(hào)ldma的傳送類型n數(shù)據(jù)傳送數(shù)據(jù)傳送:把源地址的數(shù)據(jù)傳送到目的地址去。dma讀:把數(shù)據(jù)由存儲(chǔ)器傳送到外設(shè)。dma寫:把外設(shè)輸入的數(shù)據(jù)寫入存儲(chǔ)器。存儲(chǔ)器與存儲(chǔ)器之間的傳遞。讀讀/寫操作均是針對(duì)存儲(chǔ)器而言。寫操作均是針對(duì)存儲(chǔ)器而言。n數(shù)據(jù)校驗(yàn)數(shù)據(jù)校驗(yàn):對(duì)數(shù)據(jù)塊內(nèi)的每個(gè)字節(jié)進(jìn)行校驗(yàn)。n數(shù)據(jù)檢索數(shù)據(jù)檢索:在指定的內(nèi)存區(qū)域內(nèi)查找某個(gè)關(guān)鍵字節(jié)或某幾個(gè)關(guān)鍵數(shù)據(jù)位是否存在,如果查到了,就停止檢索。9.3 8237a的工作方式和

12、方式寄存器的工作方式和方式寄存器n單字節(jié)傳送方式單字節(jié)傳送方式每次傳送一個(gè)字節(jié),然后每次傳送一個(gè)字節(jié),然后釋放總線控制權(quán)釋放總線控制權(quán)。傳送下一個(gè)字節(jié)時(shí),重新申請(qǐng)使用總線。特點(diǎn)cpu在每個(gè)dma周期結(jié)束后立即控制總線。對(duì)系統(tǒng)影響不大。cpu和dmac輪流控制系統(tǒng)總線,傳輸效率低。229.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器允許 dmadmac發(fā)總線請(qǐng)求cpu響應(yīng)dma放棄總線dmac控制傳一個(gè)字節(jié)放棄總線中斷請(qǐng)求ndma放棄總線nyydma請(qǐng)求?塊結(jié)束否?1. 8237a的工作方式和方式寄存器的工作方式和方式寄存器8237a的四種工作方式的四種工作方式n數(shù)據(jù)塊傳送方式數(shù)據(jù)

13、塊傳送方式只要dma一啟動(dòng),dmac始終占用總線始終占用總線,直到數(shù)據(jù)傳送結(jié)束,或外部強(qiáng)制停止,才交出總線控制權(quán)。特點(diǎn)效率高。dma傳輸期間cpu長(zhǎng)時(shí)間不能控制總線。若一次傳輸?shù)臄?shù)據(jù)較多,對(duì)系統(tǒng)會(huì)有一定響應(yīng)。23yndmac控制傳一個(gè)字節(jié)放棄總線中斷請(qǐng)求cpu 響應(yīng) dma放棄總線dmac發(fā)總線請(qǐng)求允許 dmadma請(qǐng)求?塊結(jié)束?8237a的四種工作方式的四種工作方式9.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器1. 8237a的工作方式和方式寄存器的工作方式和方式寄存器n請(qǐng)求傳送方式請(qǐng)求傳送方式當(dāng)8237a檢測(cè)到dreq請(qǐng)求時(shí)就傳輸一字節(jié),當(dāng)dreq 無效,或操作結(jié)束,或由外

14、部送來結(jié)束信號(hào)eop,dmac都會(huì)釋放總線,把總線控制權(quán)交還cpu。具體實(shí)現(xiàn):每傳完一個(gè)字節(jié),dmac都會(huì)檢測(cè)外設(shè)的dreq請(qǐng)求。若若dreq無效,則馬上停止無效,則馬上停止dma傳輸傳輸,將總線控制權(quán)交給cpu。特點(diǎn)實(shí)現(xiàn)靈活,dma操作可由外設(shè)用dreq信號(hào)控制發(fā)送過程。248237a的四種工作方式的四種工作方式9.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器1. 8237a的工作方式和方式寄存器的工作方式和方式寄存器25允許dmadmac發(fā)出總線請(qǐng)求cpu響應(yīng)dma放棄總線dmac控制傳一個(gè)字節(jié)放棄總線中斷請(qǐng)求yy放棄總線nnydma請(qǐng)求?塊結(jié)束?dma請(qǐng)求?nn級(jí)聯(lián)傳送方式

15、級(jí)聯(lián)傳送方式將多個(gè)dmac連在一起,一個(gè)為主,其余為從。從片收到外設(shè)的dma請(qǐng)求后,不是向cpu申請(qǐng)總線,而是向主片申請(qǐng),再由主片向cpu申請(qǐng)。268237a的四種工作方式的四種工作方式9.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器1. 8237a的工作方式和方式寄存器的工作方式和方式寄存器278237a的方式寄存器的方式寄存器9.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器1. 8237a的工作方式和方式寄存器的工作方式和方式寄存器例:例:pc系列軟盤讀寫操作選擇系列軟盤讀寫操作選擇dma通道通道2,單字節(jié)傳送,單字節(jié)傳送,地址增,地址增1,不用自動(dòng)預(yù)置,其寫、

16、讀、校驗(yàn)操作的方,不用自動(dòng)預(yù)置,其寫、讀、校驗(yàn)操作的方式字分別如下:式字分別如下:l寫操作:寫操作:01000110 = 46h。l讀操作:讀操作:01001010 = 4ah。l校驗(yàn)操作:校驗(yàn)操作:01000010 = 42h。9.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器1. 8237a的工作方式和方式寄存器的工作方式和方式寄存器9.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器2. 8237a的控制寄存器和有關(guān)問題的控制寄存器和有關(guān)問題 (1) 8237a命令寄存器(只寫)命令寄存器(只寫)d7、d6:決定dreq和dack的有效電平。d5:擴(kuò)展寫和不擴(kuò)展寫l

17、d5=1:擴(kuò)展寫信號(hào),表示寫脈沖加寬。ld5=0:不擴(kuò)展寫信號(hào),表示正常時(shí)序。d4:控制通道的優(yōu)先權(quán)l(xiāng)d4=0:采用固定優(yōu)先級(jí),dreq0最高,dreq3最低。ld4=1:采用循環(huán)優(yōu)先級(jí)。已服務(wù)過的通道優(yōu)先權(quán)變?yōu)樽畹?,其下一個(gè)通道優(yōu)先權(quán)變?yōu)樽罡摺?09.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器2. 8237a的控制寄存器和有關(guān)問題的控制寄存器和有關(guān)問題 (1) 8237a命令寄存器(只寫)命令寄存器(只寫)319.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器2. 8237a的控制寄存器和有關(guān)問題的控制寄存器和有關(guān)問題 (1) 8237a命令寄存器(只寫)命令寄存

18、器(只寫) d3:時(shí)序類型ld3=0:普通時(shí)序普通時(shí)序,每傳輸一個(gè)字節(jié)需要3個(gè)時(shí)鐘周期。ld3=1:壓縮時(shí)序壓縮時(shí)序,每傳輸一個(gè)字節(jié)需要2個(gè)時(shí)鐘周期。 d2:?jiǎn)?dòng)和停止8237a的工作。ld2=0:?jiǎn)?dòng);d2=1:停止。l該位影響所有的通道 d1:通道0地址保持。用于內(nèi)存到內(nèi)存的傳輸。ld1=0:不保持。d1=1:保持。l配合d0位使用。d0:允許和禁止內(nèi)存到內(nèi)存內(nèi)存到內(nèi)存?zhèn)鬏?。ld0=1:允許。d0=0:禁止。l在實(shí)現(xiàn)內(nèi)存到內(nèi)存的傳輸時(shí),需把源數(shù)據(jù)先送到源數(shù)據(jù)先送到8237的暫存器暫存器中,然后再送到目的區(qū)目的區(qū)。這時(shí),用通道通道0的地址寄存器存放源地址存放源地址,用通道通道1的地址寄存器和

19、字節(jié)計(jì)數(shù)器存放目的地址和計(jì)數(shù)值目的地址和計(jì)數(shù)值。傳輸時(shí),目的地址寄存器的值正常加1或減1,但源地址源地址寄存器的值可通過設(shè)置d1=1而保持不變保持不變,這樣可使同一數(shù)據(jù)傳輸?shù)酵粩?shù)據(jù)傳輸?shù)秸麄€(gè)選定的內(nèi)存區(qū)域。329.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器2. 8237a的控制寄存器和有關(guān)問題的控制寄存器和有關(guān)問題 (1) 8237a命令寄存器(只寫)命令寄存器(只寫)【例】pc微機(jī)中的8237a-5,按如下要求工作:禁止存儲(chǔ)器到存儲(chǔ)器傳送,正常時(shí)序,滯后寫入,固定優(yōu)先級(jí),允許8237a-5工作,dreq信號(hào)高電平有效,dack信號(hào)低電平有效。已知寫命令寄存器對(duì)應(yīng)的地址為08

20、h,請(qǐng)給出寫命令的程序段。n命令字為 00000000hn寫命令字代碼段:mov al, 00hout 08h, al339.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器2. 8237a的控制寄存器和有關(guān)問題的控制寄存器和有關(guān)問題低4位表示哪些dma通道傳送結(jié)束傳送結(jié)束。高4位表示哪些通道有dma請(qǐng)求還未處理還未處理。狀態(tài)位在復(fù)位或被讀出后,均被清零。349.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器3. 8237a的狀態(tài)寄存器的格式的狀態(tài)寄存器的格式(1)請(qǐng)求標(biāo)志和請(qǐng)求寄存器(只寫)請(qǐng)求標(biāo)志和請(qǐng)求寄存器(只寫)一般dma請(qǐng)求由硬件硬件發(fā)出,通過dreq引腳引入d

21、ma請(qǐng)求。但也可通過軟件來發(fā)出dma請(qǐng)求。若是內(nèi)存到內(nèi)存內(nèi)存到內(nèi)存?zhèn)鬏?,則必須由軟件請(qǐng)求啟動(dòng)通道0。僅適用于塊傳輸方式,傳送結(jié)束信號(hào)eop自動(dòng)清除自動(dòng)清除請(qǐng)求位。359.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器4. 8237a的請(qǐng)求標(biāo)志、屏蔽標(biāo)志和復(fù)位命令的請(qǐng)求標(biāo)志、屏蔽標(biāo)志和復(fù)位命令(2)屏蔽寄存器(只寫)屏蔽寄存器(只寫)用來禁止或允許通道的dma請(qǐng)求。各通道相互獨(dú)立。復(fù)位使4個(gè)通道全被屏蔽屏蔽。有以下兩種形式:?jiǎn)瓮ǖ绬瓮ǖ榔帘渭拇嫫鳎好看沃荒芷帘我粋€(gè)通道。369.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器4. 8237a的請(qǐng)求標(biāo)志、屏蔽標(biāo)志和復(fù)位命令的請(qǐng)

22、求標(biāo)志、屏蔽標(biāo)志和復(fù)位命令四通道四通道屏蔽寄存器:可同時(shí)屏蔽4個(gè)通道。低4位全部置1,則屏蔽屏蔽所有的dma請(qǐng)求。低4位全部置0,則允許允許所有的dma請(qǐng)求。379.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器4. 8237a的請(qǐng)求標(biāo)志、屏蔽標(biāo)志和復(fù)位命令的請(qǐng)求標(biāo)志、屏蔽標(biāo)志和復(fù)位命令(2)屏蔽標(biāo)志和屏蔽寄存器)屏蔽標(biāo)志和屏蔽寄存器【例】為了在每次軟盤讀/寫操作時(shí),進(jìn)行dma初始化都必須開放通道2,以便響應(yīng)軟盤的dma請(qǐng)求,可采用下述兩種方法之一來實(shí)現(xiàn)。(已知屏蔽單通道屏蔽寄存器和4通道屏蔽寄存器對(duì)應(yīng)的地址分別為0ah和0fh)l使用單通道屏蔽寄存器mov al, 0000001

23、0 ;最低3位=010,開放通道2out 0ah, al ;寫單個(gè)通道屏蔽寄存器l使用4通道屏蔽寄存器mov al, 00001011b ;最低4位為1011,開放通道2out 0fh, al ;寫四通道屏蔽寄存器389.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器4. 8237a的請(qǐng)求標(biāo)志、屏蔽標(biāo)志和復(fù)位命令的請(qǐng)求標(biāo)志、屏蔽標(biāo)志和復(fù)位命令399.3 8237a的工作方式和方式寄存器的工作方式和方式寄存器4. 8237a的請(qǐng)求標(biāo)志、屏蔽標(biāo)志和復(fù)位命令的請(qǐng)求標(biāo)志、屏蔽標(biāo)志和復(fù)位命令(3)總清命令)總清命令 與硬件的reset信號(hào)功能相同。 使得dma控制器內(nèi)部的命令寄存器、狀態(tài)寄存

24、器、請(qǐng)求寄存器、暫存寄存器、字節(jié)指針都清0。 使得屏蔽寄存器屏蔽寄存器全置1,禁止所有的dma請(qǐng)求。mov al, 00h ;al為任意值out 0dh, al ;寫入對(duì)應(yīng)的端口409.4 8237a各寄存器對(duì)應(yīng)的端口地址各寄存器對(duì)應(yīng)的端口地址n8237a dma控制器進(jìn)行讀、寫操作共有16個(gè)端口,使用地址線a3 a0 進(jìn)行尋址,分別記作 dma + n。n占用的i/o地址為00h0fh。其地址分配情況如下。端口端口通通道道i/o端口端口地址地址寄存器寄存器讀讀(ior)寫寫(iow)dma+0000h當(dāng)前地址寄存器基地址與當(dāng)前地址寄存器dma+1001h當(dāng)前字節(jié)計(jì)數(shù)寄存器基字節(jié)計(jì)數(shù)與當(dāng)前字節(jié)

25、計(jì)數(shù)寄存器dma+2102h當(dāng)前地址寄存器基地址與當(dāng)前地址寄存器dma+3103h當(dāng)前字節(jié)計(jì)數(shù)寄存器基字節(jié)計(jì)數(shù)與當(dāng)前字節(jié)計(jì)數(shù)寄存器dma+4204h當(dāng)前地址寄存器基地址與當(dāng)前地址寄存器dma+5205h當(dāng)前字節(jié)計(jì)數(shù)寄存器基字節(jié)計(jì)數(shù)與當(dāng)前字節(jié)計(jì)數(shù)寄存器dma+6306h當(dāng)前地址寄存器基地址與當(dāng)前地址寄存器dma+7307h當(dāng)前字節(jié)計(jì)數(shù)寄存器基字節(jié)計(jì)數(shù)與當(dāng)前字節(jié)計(jì)數(shù)寄存器41端口端口通通道道i/o口口地址地址寄存器寄存器讀讀(ior)寫寫(iow)dma+8公用08h狀態(tài)寄存器寫命令寄存器dma+909h寫請(qǐng)求寄存器dma+100ah寫單個(gè)通道屏蔽寄存器dma+110bh寫工作方式寄存器dma+1

26、20ch清除字節(jié)指針*dma+130dh暫存寄存器寫總清命令*dma+140eh寫清四個(gè)通道屏蔽寄存器*dma+150fh寫四個(gè)通道屏蔽寄存器 * 為軟命令。為軟命令。9.4 8237a各寄存器對(duì)應(yīng)的端口地址各寄存器對(duì)應(yīng)的端口地址ldma系統(tǒng)的初始化 hlda無效時(shí)可以對(duì)8237a進(jìn)行初始化編程。初始化需做的工作有:寫命令字,禁止8237a工作,或?qū)ο鄳?yīng)通道進(jìn)行屏蔽。執(zhí)行總清命令進(jìn)行復(fù)位。寫方式寄存器。設(shè)置基地址、基字節(jié)和頁(yè)面地址寄存器的內(nèi)容。清除屏蔽允許dma請(qǐng)求,準(zhǔn)備傳輸數(shù)據(jù)。429.5 8237a的編程和應(yīng)用439.5 8237a的編程和應(yīng)用【例】在系統(tǒng)中,8237a的通道0做對(duì)動(dòng)態(tài)ram的刷新,通道1提供網(wǎng)絡(luò)通信功能,采用固定優(yōu)先級(jí),為防止數(shù)據(jù)丟失,動(dòng)態(tài)ram刷新操作對(duì)應(yīng)的優(yōu)先級(jí)最高。已知:8237a端口地址為0000000fh,dma代表首地址0000h,8237a的地址寄存器只有16位,為使用cpu的尋址范圍,外加頁(yè)面寄存器。實(shí)模式下有20位地址,最高4位地址a19a16放在頁(yè)面寄存器,其端口地址為0083h。通道通道0初始化程序如下:初始化程序如下:449.5 8237a的編程和應(yīng)用通道通道0初始化程序如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論