(選學(xué))第11章DMA接口技術(shù)_第1頁
(選學(xué))第11章DMA接口技術(shù)_第2頁
(選學(xué))第11章DMA接口技術(shù)_第3頁
(選學(xué))第11章DMA接口技術(shù)_第4頁
(選學(xué))第11章DMA接口技術(shù)_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

(選學(xué))第11章DMA接口技術(shù)第一頁,共35頁。§11.1DMA控制器概要DMA主要用于需要高速大批量數(shù)據(jù)傳送的系統(tǒng)中,以提高數(shù)據(jù)的吞吐量,如磁盤存取、圖像處理、高速數(shù)據(jù)采集系統(tǒng)、同步通信等。PC中,還采用DMA技術(shù)進(jìn)行系統(tǒng)存儲器的動態(tài)RAM刷新。第二頁,共35頁。11.1.1DMA控制器的基本功能DMA控制器應(yīng)具有以下基本功能:(1)向CPU提出DMA請求。(2)CPU響應(yīng)DMA請求后,DMA控制器從CPU處獲得對總線的控制權(quán)。(3)提供讀/寫存儲器或I/O設(shè)備的各種命令。(4)確定數(shù)據(jù)傳輸?shù)钠鹗嫉刂泛蛿?shù)據(jù)的長度,每傳送一個(gè)數(shù)據(jù),能自動修改地址數(shù)據(jù)長度。(5)數(shù)據(jù)傳送完畢,發(fā)出結(jié)束DMA傳送信號,將總線控制權(quán)交還給CPU。第三頁,共35頁。11.1.2DMA控制器的基本結(jié)構(gòu)與工作原理

為使DMA控制器正常工作,系統(tǒng)應(yīng)用軟件對DMA控制器進(jìn)行初始化。初始化過程包括兩個(gè)方面:(1)數(shù)據(jù)傳輸緩沖區(qū)的起始地址或結(jié)束地址→地址寄存器。(2)傳輸?shù)淖止?jié)數(shù)或字?jǐn)?shù)→計(jì)數(shù)器。第四頁,共35頁。圖11.1DMA控制器的編程結(jié)構(gòu)和外部連線第五頁,共35頁。§11.2DMA控制器8237A11.2.18237A的主要功能與工作模式1.8237A的主要功能

(1)4個(gè)獨(dú)立通道,通道的優(yōu)先級可設(shè)定為固定或循環(huán)方式。(2)每個(gè)通道的DMA請求可分別允許/禁止。(3)每個(gè)通道支持16位地址和64K字節(jié)計(jì)數(shù),可分別工作在4種傳輸模式下。(4)DMA傳輸速率達(dá)1.6MB/s

(5)可級連擴(kuò)展通道。第六頁,共35頁。2.8237A的操作類型和傳輸模式四種操作類型:(1)DMA寫傳送(I/O設(shè)備→存儲器)。(2)DMA讀傳送(存儲器→I/O設(shè)備)。(3)DMA校驗(yàn)。(4)存儲器→存儲器。第七頁,共35頁。四種傳輸模式:(1)單字節(jié)(單次)傳輸模式。(2)塊(成組)傳輸模式。(3)請求傳輸模式。(4)級連傳輸模式第八頁,共35頁。11.2.28237A的內(nèi)部結(jié)構(gòu)和外部引腳DMA控制器作為總線中的一個(gè)模塊,它一方面可以控制系統(tǒng)總線,作為總線主模塊;另一方面,它又和其它接口一樣,接受CPU對它的讀/寫操作,作為總線從模塊。8237A的內(nèi)部結(jié)構(gòu)和外部引腳是與這兩方面的工作情況對應(yīng)的。第九頁,共35頁。1.8237A的內(nèi)部結(jié)構(gòu)圖11.28237A

內(nèi)部結(jié)構(gòu)第十頁,共35頁。(1)地址寄存器

由基地址寄存器和當(dāng)前地址寄存器組成,均為16位,使一次DMA可傳送的地址數(shù)為216(64K)。基地址寄存器:存放本通道DMA傳輸?shù)牡刂烦踔?。?dāng)前地址寄存器:每進(jìn)行一次DMA傳輸后,自動±1;計(jì)到0,自動回到初值。第十一頁,共35頁。(2)字節(jié)計(jì)數(shù)器

由基本字節(jié)寄存器和當(dāng)前字節(jié)寄存器組成,均為16位,使一次DMA傳送的字節(jié)數(shù)為216(64K)?;咀止?jié)寄存器:存放本通道DMA傳輸?shù)淖止?jié)數(shù)初值,應(yīng)比實(shí)際傳輸字節(jié)數(shù)少1。當(dāng)前地址寄存器:每進(jìn)行一次DMA傳輸后,自動減1,其值由0減到FFFFH,產(chǎn)生計(jì)數(shù)結(jié)束信號EOP。第十二頁,共35頁。2.8237A的外部引腳圖11.38237A

引腳第十三頁,共35頁。11.2.38237A的內(nèi)部寄存器(1)方式寄存器(起始地址+11)(2)控制寄存器(起始地址+8)(3)狀態(tài)寄存器(起始地址+8)(4)請求寄存器(起始地址+9)(5)屏蔽寄存器(起始地址+10/14/15)(6)暫存寄存器(起始地址+13)第十四頁,共35頁。1.方式寄存器用于控制本通道的工作模式。第十五頁,共35頁。2.命令寄存器決定整個(gè)8237A的總體特性。第十六頁,共35頁。3.狀態(tài)寄存器

指出4個(gè)通道是否有DMA請求及計(jì)數(shù)是否結(jié)束,供CPU讀出。第十七頁,共35頁。4.請求寄存器

標(biāo)志某個(gè)通道是否有DMA請求。1表示有請求,0表示無請求。可用軟件置位啟動DMA請求。第十八頁,共35頁。5.屏蔽寄存器(1)通道屏蔽字用于屏蔽或允許某個(gè)通道的DMA請求。第十九頁,共35頁。(2)主屏蔽字一次完成對4個(gè)通道的屏蔽位設(shè)置。第二十頁,共35頁。6.暫存寄存器7.主清命令和清除先/后觸發(fā)器命令

用于存儲器→存儲器傳送時(shí),暫存從源地址讀出的數(shù)據(jù)。

主清命令使命令、狀態(tài)、請求、暫存寄存器及先/后觸發(fā)器清0,屏蔽寄存器置位。清除先/后觸發(fā)器命令保證向16位寄存器寫基值地址和基值字節(jié)計(jì)數(shù)值時(shí),先寫低8位,后寫高8位。只要對特定地址進(jìn)行一次寫操作,這兩條命令就生效,與寫入的具體內(nèi)容無關(guān)。第二十一頁,共35頁。7.各寄存器對應(yīng)的端口地址第二十二頁,共35頁。§11.38237A在系統(tǒng)中有效地址的生成

三個(gè)問題:(1)CPU如何對8237A尋址?(2)8237A地址寄存器中存放的是存儲器地址,那么它是如何對I/O尋址的?(3)8237A地址寄存器為16位,那么它是如何尋址20位地址空間(1MB)的?第二十三頁,共35頁。1.8237A的CS及內(nèi)部寄存器口地址的產(chǎn)生DMA在取得總線控制權(quán)之前,由CPU控制地址線對8237A尋址??诘刂贩秶?000H~000FH,具體分配見前表(教材表8-1)。圖系統(tǒng)板口地址譯碼電路第二十四頁,共35頁。8237A有效地址的生成及頁面地址的使用

當(dāng)DMA在取得總線控制權(quán)后,作為系統(tǒng)主控制器,它如何向存儲器和I/O設(shè)備發(fā)地址信號?(1)如何提供存儲器地址

在系統(tǒng)中設(shè)置DMA頁面地址寄存器,產(chǎn)生DMA通道的高4位地址A16~A19。它與8237A輸出的16位地址一起組成20位地址線,以訪問存儲器全部存儲單元。第二十五頁,共35頁。圖8237A有效地址的生成CH2CH3CH1WBWA寄存器0111011#2#3#頁面寄存器的寫入CH2CH3CH1RBRA0111011#2#3#頁面寄存器的讀出CH0DMA刷新,不用頁面寄存器。寄存器第二十六頁,共35頁。①頁面寄存器74LS670內(nèi)有4個(gè)4位寄存器(0#~4#),高4位地址A16~A19由CPU在初始化編程時(shí)通過D1~4

寫入這些4位寄存器。由于這些4位寄存器與DMA通道由一一對應(yīng)的關(guān)系,當(dāng)選中某一寄存器讀出,就可以從Q1~4輸出頁面地址至系統(tǒng)地址線A16

~A19。②A8~A15由8273A的DB0~7通過地址鎖存器74LS373的Q0~7輸出。

③A0~A7由8273A的A0~7通過地址驅(qū)動器74LS244輸出。第二十七頁,共35頁。(2)如何提供I/O設(shè)備的地址DACK引腳接至I/O設(shè)備,可作為I/O口地址選擇信號。

DACK信號和RD或WR信號同時(shí)有效,就能完成對I/O設(shè)備端口的讀/寫操作。第二十八頁,共35頁?!?1.48237A的編程及應(yīng)用11.4.18237A的初始化編程

例1:IBMPC/XT系統(tǒng)中BIOS對8237A的初始化。

初始化設(shè)置為:CH0對DRAM刷新,CH2和CH3分別用來進(jìn)行軟驅(qū)、硬盤和內(nèi)存之間的數(shù)據(jù)傳輸,CH1提供給用戶使用。第二十九頁,共35頁。

初始化內(nèi)容:

(1)設(shè)定命令寄存器的字為00H:禁止存儲器到存儲器傳送,允許8237A操作、正常時(shí)序、固定優(yōu)先級、滯后寫、DREQ高有效、DACK低有效;(2)存儲器起始地址0;(3)基本字節(jié)計(jì)數(shù)器初值為FFFFH,即64KB;(4)CH0工作方式:讀操作、自動預(yù)置、地址加1、單字節(jié)傳送;(5)CH1工作方式:校驗(yàn)傳送、禁止自動裝入、地址加1、單字節(jié)傳送;(6)CH2(軟磁盤)、CH3(硬磁盤)工作方式與CH1相同。初始化程序詳見教材p245~246。第三十頁,共35頁。11.4.18237A的應(yīng)用

例2:利用IBMPC/XT系統(tǒng)板上的8237A通道1進(jìn)行高速數(shù)據(jù)采集。

使通道1工作在請求傳送方式,即只要DREQ1信號有效,DMA就傳送數(shù)據(jù),DREQ1失效就暫停,當(dāng)前地址寄存器和字節(jié)計(jì)數(shù)器的內(nèi)容不變,一旦DREQ1再次有效,又繼續(xù),直至預(yù)置的字節(jié)數(shù)全部傳送完畢,由8237A發(fā)出結(jié)束信號T/C為止。第三十一頁,共35頁。圖DMA方式高速數(shù)據(jù)采集接口原理框圖第三十二頁,共35頁。

由于BIOS已對8237A進(jìn)行了初始化,下面的數(shù)據(jù)采集程序不需再對地址寄存器和字節(jié)計(jì)數(shù)器進(jìn)行,而只要對方式、命令等內(nèi)部寄存器進(jìn)行即可。這里僅需考慮以下幾個(gè)問題:(1)選定傳輸通道:CH1;(2)設(shè)定傳送的存儲器地址:2000H;(3)設(shè)定傳送的總字節(jié)長度:64KB;(4)規(guī)定傳送方向:I/O→M;(5)傳送方式:請求傳送;(6)設(shè)置DMA請求屏蔽字。設(shè)待采集數(shù)據(jù)存放的實(shí)際地址為20000H~2FFFFH。利用CH1,以請求傳送方式采集64KB數(shù)據(jù)的程序段如下:第三十三頁,共35頁。INTCH1:MOVAL,05H ;設(shè)置方式字

OUT0BH,AL ;MOVAL,02H ;設(shè)頁面地址

OUT83H,AL ;MOVAL,00H ;

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論