微機(jī)原理與接口技術(shù)(徐惠民)第9章8237課件_第1頁(yè)
微機(jī)原理與接口技術(shù)(徐惠民)第9章8237課件_第2頁(yè)
微機(jī)原理與接口技術(shù)(徐惠民)第9章8237課件_第3頁(yè)
微機(jī)原理與接口技術(shù)(徐惠民)第9章8237課件_第4頁(yè)
微機(jī)原理與接口技術(shù)(徐惠民)第9章8237課件_第5頁(yè)
已閱讀5頁(yè),還剩44頁(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)介

第九章.DMA技術(shù)8237微機(jī)原理與接口技術(shù)

DMA技術(shù)查詢和中斷方式時(shí)數(shù)據(jù)要經(jīng)過(guò)CPU的累加器中轉(zhuǎn)檢查是否傳送完畢,在程序中控制,由CPU執(zhí)行修改內(nèi)存地址,在程序中控制,由CPU執(zhí)行DMA方式時(shí)內(nèi)存與高速外設(shè)直接交換數(shù)據(jù),不需CPU干預(yù),減少中間環(huán)節(jié)內(nèi)存地址修改,傳送結(jié)束報(bào)告,由硬件完成第一節(jié)基本概念一.DMA控制器在系統(tǒng)中的地位(1)主控器

DMAC工作在主動(dòng)態(tài),取代CPU獲得總線控制權(quán),向內(nèi)存和外設(shè)發(fā)號(hào)施令.即它通過(guò)總線向內(nèi)存或外設(shè)發(fā)出地址和讀寫信號(hào).(2)受控器

DMAC工作在被動(dòng)態(tài),接受CPU對(duì)它的控制和指揮,例如:對(duì)DMAC進(jìn)行初始化,讀取DMAC的狀態(tài).DMA傳送過(guò)程外設(shè)通過(guò)DREQ向DMAC發(fā)出請(qǐng)求。DMAC通過(guò)HRQ向CPU請(qǐng)求。CPU應(yīng)答,DMAC通過(guò)DACK應(yīng)答。向存儲(chǔ)器發(fā)出地址。向外設(shè)發(fā)出讀命令,讀出數(shù)據(jù)。向存儲(chǔ)器發(fā)出寫命令,存入數(shù)據(jù)地址加1,計(jì)數(shù)器加1,準(zhǔn)備下一次傳送第一節(jié)基本概念三、內(nèi)部編程結(jié)構(gòu)和外部聯(lián)接(圖9-4-3)4個(gè)通道4個(gè)16位寄存器基地址寄存器和當(dāng)前地址寄存器、基字節(jié)計(jì)數(shù)器和當(dāng)前字節(jié)計(jì)數(shù)器1個(gè)8位模式寄存器公用控制寄存器、狀態(tài)寄存器

8237的內(nèi)部邏輯對(duì)于8237的內(nèi)部邏輯重點(diǎn)在了解DMA通道的構(gòu)成。每個(gè)通道有各自的作用:16位基地址寄存器和當(dāng)前地址寄存器;16位基字節(jié)計(jì)數(shù)器和當(dāng)前字節(jié)計(jì)數(shù)器;8位方式寄存器;1位DMA請(qǐng)求觸發(fā)器;1位屏蔽觸發(fā)器。8237的引腳特性讀寫控制信號(hào):MEMR和MEMW:輸出信號(hào),控制對(duì)存儲(chǔ)器的讀寫。IOR和IOW:雙向信號(hào)。輸入時(shí),是CPU向8237寫控制字或讀8237狀態(tài)(被動(dòng)狀態(tài))。輸出時(shí),8237控制對(duì)外設(shè)的讀寫。

8237的引腳特性其他信號(hào):READY:輸入,高電平表示傳送準(zhǔn)備好。用來(lái)調(diào)整讀寫時(shí)序。EOP:DMA過(guò)程結(jié)束信號(hào),負(fù)脈沖輸出時(shí)表示傳送結(jié)束。負(fù)脈沖輸入時(shí)強(qiáng)制結(jié)束DMA過(guò)程。RESET:復(fù)位信號(hào)。DMA系統(tǒng)的組成DMA控制器:產(chǎn)生傳送所需要的地址和控制信號(hào)。頁(yè)面地址寄存器:存放高位地址。對(duì)8086系統(tǒng)需要存放4位地址,以便和DMA控制器所產(chǎn)生的16位地址構(gòu)成20位物理地址。若是80286系統(tǒng),就要存儲(chǔ)8位高位地址了。鎖存器:存放DMA控制器給存儲(chǔ)器的高8位地址。頁(yè)面寄存器8237IORMEMRMEMWDREQ1DACK0DREQ0DACK1IOWA0~A7RDWRRDWRDB0~DB7A16~A19A8~A15A0~A7

CPUA16~A19鎖存器AD0~AD7A0~A3RDWRHRQHLDAHOLDHLDARAM外設(shè)D0~D7ADSTBDMA控制器的兩種狀態(tài)被動(dòng)狀態(tài):DMA控制器受CPU控制的狀態(tài)。主要是對(duì)DMA控制器進(jìn)行初始化編程。主動(dòng)狀態(tài):DMA控制數(shù)據(jù)傳送的狀態(tài)。它既發(fā)出IOR或IOW控制外設(shè),也發(fā)出MEMR或MEMW信號(hào)控制存儲(chǔ)器。頁(yè)面寄存器8237IORMEMRMEMWDREQ1DACK0DREQ0DACK1IOWCSDB0~DB7A16~A19

CPUA16~A19譯碼器AD0~AD7A0~A3RDWRHRQHLDAHOLDHLDAA0~A3被動(dòng)狀態(tài)頁(yè)面寄存器8237IORMEMRMEMWDREQ1DACK0DREQ0DACK1IOWA0~A7RDWRRDWRDB0~DB7A16~A19A8~A15A0~A7鎖存器

A0~A3

HRQHLDA

RAM外設(shè)D0~D7主動(dòng)狀態(tài)ADSTB

8237的工作類型DMA讀:內(nèi)存→外設(shè)DMA寫:外設(shè)→內(nèi)存DMA校驗(yàn),只對(duì)芯片內(nèi)部的讀寫功能進(jìn)行校驗(yàn),不進(jìn)行實(shí)際的數(shù)據(jù)傳送。存儲(chǔ)器~存儲(chǔ)器傳送。這時(shí)要占用兩個(gè)通道:通道0作為數(shù)據(jù)源,通道1作為目的。這時(shí)的數(shù)據(jù)傳送要經(jīng)過(guò)8237的數(shù)據(jù)暫存器。在PC機(jī)中沒有使用。

8237的初始化編程各通道初始化:

-初始化地址寄存器(基地址和當(dāng)前地址);

-初始化字節(jié)計(jì)數(shù)器(基字節(jié)和當(dāng)前字節(jié));

-初始化8位方式寄存器;

-初始化1位DMA請(qǐng)求觸發(fā)器;

-初始化1位屏蔽觸發(fā)器(兩種方式)。整個(gè)8237初始化

-初始化命令寄存器軟命令

-清先/后觸發(fā)器、總清、總清屏蔽

8237的初始化編程初始化基字節(jié)和當(dāng)前字節(jié)寄存器:端口地址為1、3、5、7;其余和地址寄存器相同。

8237的初始化編程D7D6操作模式:00:詢問(wèn)方式、01:?jiǎn)我粋魉汀?/p>

10:成組傳送、11:級(jí)聯(lián)D5地址增減:0:地址加1、1:地址減1D4預(yù)置設(shè)置:0:非自動(dòng)、1:自動(dòng)預(yù)置D3D2傳送類型:00:DMA校驗(yàn)、01:DMA讀

10:DMA寫、11:無(wú)效D1D0通道選擇:00:通道0、01:通道1、

10:通道2、11:通道3D7D6D5D4D2D1D0D3初始化通道方式寄存器(地址0BH)

8237的初始化編程

D7~D4:不用

D3:通道3:0:不屏蔽、1:屏蔽

D2:通道2:0:不屏蔽、1:屏蔽

D1:通道1:0:不屏蔽、1:屏蔽

D0:通道0:0:不屏蔽、1:屏蔽注:一次可以屏蔽(不屏蔽)4個(gè)通道D7D6D5D4D2D1D0D3初始化屏蔽寄存器(地址0FH)

8237的初始化編程

D7~D3:不用

D2請(qǐng)求選擇:0:不請(qǐng)求、1:請(qǐng)求DMA傳送

D1D0:通道選擇:00:通道0、01:通道1、

10:通道2、11:通道3注:可以通過(guò)軟件方式申請(qǐng)DMA傳送D7D6D5D4D2D1D0D3初始化DMA請(qǐng)求寄存器(地址09H)

8237的初始化編程D0:0:禁止M~M傳送:1:允許M~M傳送D1:0:通道0地址不保持:1:通道0地址不變D2:0:允許工作、1:不允許工作D3:0:正常時(shí)序、1:壓縮時(shí)序D4:0:固定優(yōu)先級(jí)、1:循環(huán)優(yōu)先級(jí)D5:0:滯后寫、1:擴(kuò)展寫D6:0:DREQ高電平有效、1:低電平有效D7:0:DACK低電平有效、1:高電平有效D7D6D5D4D2D1D0D3初始化命令寄存器(地址08H)

8237的初始化編程清先/后觸發(fā)器命令(地址0CH)作用:使先/后觸發(fā)器置0,以便對(duì)地址寄存器和字節(jié)寄存器寫入初值。特點(diǎn):只要輸出命令,輸出的值并不重要:

OUT(DMA+0CH),AL注:DMA為8237的高位地址

8237的初始化編程總清命令(地址0DH)作用:軟件復(fù)位。控制位置0,屏蔽位置1。特點(diǎn):只要輸出命令,輸出的值并不重要:

OUT(DMA+0DH),AL注:DMA為8237的高位地址

8237的初始化編程總清屏蔽命令(地址0EH)作用:使4個(gè)通道的4個(gè)屏蔽位全部清0,即都不屏蔽。特點(diǎn):只要輸出命令,輸出的值并不重要:

OUT(DMA+0EH),AL注:DMA為8237的高位地址

8237的初始化編程D7~D4:反映哪個(gè)通道還有未處理的DMA申請(qǐng):1有申請(qǐng)、0:無(wú)申請(qǐng);D3~D0:反映哪個(gè)通道的DMA過(guò)程已結(jié)束:1:已結(jié)束、0:未結(jié)束。D7D6D5D4D2D1D0D3狀態(tài)寄存器(地址08H)空閑周期SI被動(dòng)態(tài),無(wú)DMA請(qǐng)求階段,空閑周期但實(shí)際并不空閑,不停的檢測(cè)、采樣兩個(gè)信號(hào)DREQi,確定是否有通道請(qǐng)求DMA服務(wù)CS#,判定CPU是否要對(duì)自己進(jìn)行讀寫8237工作周期請(qǐng)求應(yīng)答周期S0(有效周期)采樣到DREQi信號(hào),向CPU總線請(qǐng)求信號(hào)HRQ,由此進(jìn)入S0周期在此階段,等待CPU的應(yīng)答信號(hào)HLDA,此時(shí),CPU仍可訪問(wèn)8237(因?yàn)榭偩€控制權(quán)還沒有下放)直到得到HLDA信號(hào),本周期結(jié)束本周期可看作是8237從被動(dòng)態(tài)到主動(dòng)態(tài)的過(guò)渡時(shí)期8237的操作時(shí)序三種操作周期SI(Sidle)-空閑周期,被動(dòng)態(tài)S0-請(qǐng)求應(yīng)答周期S1~S4(SW)DMA操作周期,主動(dòng)態(tài)DMA操作周期完整的DMA傳送周期包括S1、S2、S3、S4四態(tài)慢速設(shè)備:Sw狀態(tài)M—M傳送:8態(tài)S1:標(biāo)志獲得系統(tǒng)總線控制權(quán);把地址送到總線上去S2:發(fā)出DACK選中設(shè)備S3:Read/Write;……S4:收尾內(nèi)部狀態(tài)流程SIS4SIS0S0S1S2S3SWSWReadyReadyNotReadyDREQHRQHLDA塊字節(jié)單字節(jié)空閑狀態(tài)請(qǐng)求應(yīng)答狀態(tài)DMA操作(數(shù)據(jù)傳輸)狀態(tài)

8237的工作時(shí)序8237的編程步驟輸出主清除命令寫入基與現(xiàn)行地址寄存器寫入基與現(xiàn)行字節(jié)數(shù)寄存器寫入模式寄存器寫入屏蔽寄存器寫入控制寄存器寫入請(qǐng)求寄存器8237的編程步驟用通道0,由外設(shè)輸入32K字節(jié)數(shù)據(jù)塊,傳送至內(nèi)存8000H開始的區(qū)域(增量傳送),塊傳送,DREQ和DACK為高電平有效。確定模式控制字是84H。方式控制字是A0H。屏蔽字是00H。

out 5dh,al ;輸出主清除命令

mov al,00h out 50h,al ;基地址低8位

mov al,80h out 50h,al ;基地址高8位

mov al,00h out 51h,al mov al,80h ;字節(jié)計(jì)數(shù)器賦值,32K

out 51h,al mov al,84h ;輸出模式字

out 5bh,al mov al,00h ;輸出屏蔽字

out 5ah,al mov al,0a0h out 58h,al ;輸出控制字DMA系統(tǒng)

DMA傳送是外設(shè)和存儲(chǔ)器傳送數(shù)據(jù)的各種方式中速度最快的一種。DMA傳送是在脫離CPU控制的情況下進(jìn)行的。傳送過(guò)程不執(zhí)行任何指令。DMA傳送必須有DMA控制器的支持,由DMA控制器產(chǎn)生產(chǎn)生傳送的控制信號(hào)。DMA系統(tǒng)

DMA控制器控制數(shù)據(jù)傳送需要有什么功能?

需要DMA控制器能產(chǎn)生數(shù)據(jù)傳送所需的地址和各種控制信號(hào):RD、WR等。DMA控制器控制為什么能加速數(shù)據(jù)傳送?因?yàn)椴恍枰獔?zhí)行數(shù)據(jù)傳送指令,特別是那些可以不需要的指令。DMA接口電路DMA接口舉例:利用DMA通道5進(jìn)行數(shù)據(jù)傳輸。外設(shè)的DMAREQ既用來(lái)鎖存數(shù)據(jù),也用來(lái)產(chǎn)生DMA請(qǐng)求信號(hào)。DMA響應(yīng)后,DACK5清除DMA觸發(fā)器的請(qǐng)求輸出。DMA傳送結(jié)束時(shí)的TC信號(hào)請(qǐng)求中斷,執(zhí)行中斷服務(wù)程序。8237A

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論