第五講6數(shù)字量輸入輸出控制系統(tǒng)_第1頁
第五講6數(shù)字量輸入輸出控制系統(tǒng)_第2頁
第五講6數(shù)字量輸入輸出控制系統(tǒng)_第3頁
第五講6數(shù)字量輸入輸出控制系統(tǒng)_第4頁
第五講6數(shù)字量輸入輸出控制系統(tǒng)_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 DMA傳輸?shù)母拍睿簜鬏數(shù)母拍睿和獠吭O(shè)備直接與計(jì)算機(jī)存儲器進(jìn)行傳送的外部設(shè)備直接與計(jì)算機(jī)存儲器進(jìn)行傳送的I/O方式。方式。讀寫數(shù)據(jù)時(shí)接管總線,像讀寫數(shù)據(jù)時(shí)接管總線,像CPU一樣成為一樣成為總總線的主控器件。線的主控器件。CPU:接受:接受DMA控制器的請求并交出總線控制權(quán)控制器的請求并交出總線控制權(quán)(Direct Memory Access) CPUDMAC(i8237)內(nèi)存內(nèi)存外設(shè)外設(shè)總線總線響應(yīng)響應(yīng)總線總線請求請求 DMA控制器的功能控制器的功能1、 編程設(shè)定編程設(shè)定DMA的傳輸方式、訪問的內(nèi)存地址、字節(jié)數(shù)的傳輸方式、訪問的內(nèi)存地址、字節(jié)數(shù)2、 對對DMA請求(請求(DREQ)屏蔽或允許,

2、確定優(yōu)先級)屏蔽或允許,確定優(yōu)先級3、 向向CPU提出總線請求信號(提出總線請求信號(HRQ)4、 接收接收CPU總線響應(yīng)信號(總線響應(yīng)信號(HLDA),接管總線),接管總線5、 向被響應(yīng)的設(shè)備傳達(dá)向被響應(yīng)的設(shè)備傳達(dá)DMA允許信號(允許信號(DACK)6、 管理傳送數(shù)據(jù),修改儲存器地址和計(jì)數(shù)字節(jié)管理傳送數(shù)據(jù),修改儲存器地址和計(jì)數(shù)字節(jié)7、 傳輸完畢,發(fā)出傳輸完畢,發(fā)出EOP結(jié)束信號,結(jié)束信號,CPU收回總線控制權(quán)收回總線控制權(quán) I/O向DMAC DMAC向 CPU響應(yīng) DMAC向 發(fā)請求 CPU發(fā)請求 DMAC請求 I/O發(fā)響應(yīng)DMADMA傳傳送結(jié)束送結(jié)束DMADMA傳傳送進(jìn)行送進(jìn)行DMACDM

3、AC發(fā)出發(fā)出控制信號控制信號DMACDMAC發(fā)出發(fā)出內(nèi)存地址內(nèi)存地址DMA工作過程工作過程82378237內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)8237A8237A有有4 4個(gè)獨(dú)立的個(gè)獨(dú)立的DMADMA通道通道 內(nèi)部寄存器內(nèi)部寄存器 基址寄存器基址寄存器(4 4個(gè))個(gè))和當(dāng)前地址寄存器和當(dāng)前地址寄存器(4 4個(gè))個(gè)) 基字節(jié)計(jì)數(shù)器基字節(jié)計(jì)數(shù)器(4 4個(gè))個(gè))和當(dāng)前字節(jié)計(jì)數(shù)器和當(dāng)前字節(jié)計(jì)數(shù)器(4 4個(gè))個(gè)) 臨時(shí)地址寄存器臨時(shí)地址寄存器 狀態(tài)寄存器狀態(tài)寄存器 命令寄存器命令寄存器 臨時(shí)寄存器臨時(shí)寄存器 模式寄存器模式寄存器(4 4個(gè))個(gè)) 屏蔽寄存器屏蔽寄存器 請求寄存器請求寄存器 8237外部引腳外部引腳8237A

4、8237A主從兩面性主從兩面性:作為DMAC,8237A是可控制總線的主模塊。作為I/O芯片,8237A可被處理器讀寫。 注意8237A主-從地址的變化。l 8237A引線說明:DB7-DB0:雙向數(shù)據(jù)總線。8237A為從模塊時(shí)被處理器編程或讀狀態(tài),DB7-DB0作為數(shù)據(jù)線,傳輸數(shù)據(jù)或命令字。8237A為主模塊時(shí)DB7-DB0輸出地址A15-A8,在 存儲器到存儲器傳送操作時(shí)經(jīng)DB7-DB0,將存儲器數(shù)據(jù)送8237A暫存器。A3-A0:地址線,從模塊時(shí)為輸入,處理器尋址 8237A;主模塊時(shí)輸出最低4位地址。 A7-A4A7-A4:地址線,主模塊時(shí)輸出地址線,主模塊時(shí)輸出A7-A4A7-A4。

5、 CSCS: 片選,從模塊時(shí)處理器用來尋址片選,從模塊時(shí)處理器用來尋址8237A8237A。 IORIOR,IOWIOW:I/OI/O讀寫控制,雙向。讀寫控制,雙向。8237A8237A在從模塊時(shí)在從模塊時(shí) 為輸入,在主模塊時(shí)為輸出。為輸入,在主模塊時(shí)為輸出。 AENAEN 輸出,輸出,DMADMA地址允許信號,高電平有效地址允許信號,高電平有效 ADSTB ADSTB 輸出:輸出:8 8位地址選通信號;在主模塊時(shí)允許外部鎖存位地址選通信號;在主模塊時(shí)允許外部鎖存器鎖存器鎖存8237A8237A的高的高8 8位地址。位地址。 MEMRMEMR,MEMWMEMW:輸出,存儲器讀寫控制,主模塊時(shí)送

6、存儲器。輸出,存儲器讀寫控制,主模塊時(shí)送存儲器。 READYREADY:輸入,準(zhǔn)備就緒,主模塊時(shí)控制總線周期的長度,輸入,準(zhǔn)備就緒,主模塊時(shí)控制總線周期的長度,與慢速設(shè)備同步。與慢速設(shè)備同步。RESET:輸入,復(fù)位信號,復(fù)位時(shí)屏蔽寄存器置 1,其它寄存器置0。EOP:雙向。輸出時(shí),表明內(nèi)部通道傳送結(jié)束; 輸入時(shí),表明外部強(qiáng)迫DMA傳送停止。DREQ0-DREQ3:I/O設(shè)備DMA請求輸入信號。DACK0-DACK3:輸出DMA請求的響應(yīng)。HRQ:8237A向處理器發(fā)出的總線請求信號。HLDA:處理器發(fā)給8237A的總線請求響應(yīng)信號。DMA 時(shí)序圖時(shí)序圖(P347圖圖5.64)可作外設(shè)片選 交出

7、總線(交出總線(AB/DB/CB)8237的工作模式的工作模式1. 單字節(jié)傳輸模式單字節(jié)傳輸模式(single transfer mode)2. 塊傳輸模式塊傳輸模式(block transfer mode)3. 請求傳輸模式請求傳輸模式(demand transfer mode)4. 級聯(lián)模式級聯(lián)模式(cascade mode)1. 單字節(jié)傳輸模式單字節(jié)傳輸模式(single transfer mode)l 在單字節(jié)傳輸方式下,在單字節(jié)傳輸方式下,DMA控制器每次請求總線只傳送控制器每次請求總線只傳送一個(gè)字節(jié)數(shù)據(jù),傳送完后即釋放總線控制權(quán)。一個(gè)字節(jié)數(shù)據(jù),傳送完后即釋放總線控制權(quán)。l 在此方式

8、下,總線控制權(quán)處于在此方式下,總線控制權(quán)處于CPU與與DMA控制器交替控控制器交替控制之中,其間,總線控制權(quán)經(jīng)過多次交換。制之中,其間,總線控制權(quán)經(jīng)過多次交換。l 以從內(nèi)存輸出一個(gè)字節(jié)數(shù)據(jù)到外設(shè)的以從內(nèi)存輸出一個(gè)字節(jié)數(shù)據(jù)到外設(shè)的DMA傳送過程為例,傳送過程為例,具體說明具體說明DMA的操作過程。的操作過程。(6) 內(nèi)存把數(shù)據(jù)內(nèi)存把數(shù)據(jù)送數(shù)據(jù)總線送數(shù)據(jù)總線(7) 接口鎖存數(shù)據(jù)接口鎖存數(shù)據(jù)內(nèi)存內(nèi)存接口接口DMA控制器控制器I/O 設(shè)備設(shè)備8086 和總線和總線控制邏輯控制邏輯HOLD HLDA (1) 接口準(zhǔn)備就接口準(zhǔn)備就緒,發(fā)緒,發(fā)DMA請求請求(2) 發(fā)總線請求發(fā)總線請求(3) 總線允許總線允

9、許(5) DMA請請求得到確認(rèn)求得到確認(rèn)(9) 8086收回總線控制權(quán)收回總線控制權(quán)(8) 撤銷總線請求撤銷總線請求(4) DMA控制器把地址送地址總線控制器把地址送地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線地址總線地址總線圖圖 11.10 以以DMA方式輸出一個(gè)字節(jié)數(shù)據(jù)的工作過程方式輸出一個(gè)字節(jié)數(shù)據(jù)的工作過程l 若從外設(shè)往內(nèi)存輸入一個(gè)數(shù)據(jù)塊若從外設(shè)往內(nèi)存輸入一個(gè)數(shù)據(jù)塊(輸入過程輸入過程),在單字節(jié)傳輸模式,在單字節(jié)傳輸模式下,其主要工作過程為:下,其主要工作過程為: (1) I/O接口向接口向DMA控制器發(fā)送控制器發(fā)送DMA請求信號;請求信號; (2) DMA控制器向控制器向CPU發(fā)總線請求信

10、號,當(dāng)?shù)玫桨l(fā)總線請求信號,當(dāng)?shù)玫紺PU送來的總送來的總 線允許信號后,線允許信號后,DMA控制器獲得總線控制權(quán);控制器獲得總線控制權(quán); (3) DMA控制器將其地址寄存器的內(nèi)容送到地址總線上;控制器將其地址寄存器的內(nèi)容送到地址總線上; (4) DMA控制器往控制器往I/O接口發(fā)送接口發(fā)送DMA響應(yīng)信號,并接著發(fā)出響應(yīng)信號,并接著發(fā)出 讀讀I/O接口信號接口信號IOR,令,令I(lǐng)/O接口把數(shù)據(jù)送到數(shù)據(jù)總線上;接口把數(shù)據(jù)送到數(shù)據(jù)總線上; (5) DMA控制器發(fā)出存儲器寫信號控制器發(fā)出存儲器寫信號MEMW,將數(shù)據(jù)傳送到由地,將數(shù)據(jù)傳送到由地址總線上的地址所指向的內(nèi)存單元;址總線上的地址所指向的內(nèi)存單元

11、; (6) DMA控制器放棄對總線的控制權(quán);控制器放棄對總線的控制權(quán); (7) 地址寄存器加地址寄存器加1; (8) 字節(jié)計(jì)數(shù)寄存器減字節(jié)計(jì)數(shù)寄存器減1; (9) 如果字節(jié)計(jì)數(shù)寄存器的值不為零,則返回第一步,否則結(jié)如果字節(jié)計(jì)數(shù)寄存器的值不為零,則返回第一步,否則結(jié) 束。束。 l 8237僅在空閑狀態(tài)僅在空閑狀態(tài)SI(CPU控制總線)時(shí),采樣控制總線)時(shí),采樣DREQ信信號并進(jìn)行優(yōu)先級比較,一旦進(jìn)入號并進(jìn)行優(yōu)先級比較,一旦進(jìn)入DMA過程,過程,8237只在只在S1S4之間循環(huán),不能再對之間循環(huán),不能再對DREQ信號進(jìn)行采樣或優(yōu)先級信號進(jìn)行采樣或優(yōu)先級比較,即不會發(fā)生比較,即不會發(fā)生DMA嵌套。嵌

12、套。l 單字節(jié)傳輸模式的優(yōu)點(diǎn)是系統(tǒng)總線不至于長時(shí)間陷入對某單字節(jié)傳輸模式的優(yōu)點(diǎn)是系統(tǒng)總線不至于長時(shí)間陷入對某一個(gè)一個(gè)DMA通道的服務(wù)。通道的服務(wù)。l PC系列中給用戶提供的系列中給用戶提供的DMA通道只允許使用單字節(jié)傳輸通道只允許使用單字節(jié)傳輸模式。模式。l 仍比查詢、中斷方式快很多仍比查詢、中斷方式快很多2. 塊傳輸模式塊傳輸模式(block transfer mode)l 塊傳輸模式是指塊傳輸模式是指DMA控制器每次請求總線即控制器每次請求總線即連續(xù)傳送一個(gè)數(shù)據(jù)塊,待整個(gè)數(shù)據(jù)塊全部傳送連續(xù)傳送一個(gè)數(shù)據(jù)塊,待整個(gè)數(shù)據(jù)塊全部傳送完成后再釋放總線控制權(quán)。這種模式傳輸效率完成后再釋放總線控制權(quán)。這

13、種模式傳輸效率較高。較高。l 一次所傳送數(shù)據(jù)塊的最大長度可達(dá)一次所傳送數(shù)據(jù)塊的最大長度可達(dá)64KBl 由于在由于在DMA數(shù)據(jù)傳送期間,數(shù)據(jù)傳送期間,CPU須將總線控制權(quán)交給須將總線控制權(quán)交給DMAC,這相當(dāng)于斷絕了這相當(dāng)于斷絕了CPU與存儲器等外部器件的往來,致使與存儲器等外部器件的往來,致使CPU無法無法獲得執(zhí)行所需的指令和數(shù)據(jù),也無法獲得外部的中斷請求信號,獲得執(zhí)行所需的指令和數(shù)據(jù),也無法獲得外部的中斷請求信號,這一方面會影響這一方面會影響CPU的工作,同時(shí)也將影響整個(gè)系統(tǒng)的運(yùn)轉(zhuǎn)。因的工作,同時(shí)也將影響整個(gè)系統(tǒng)的運(yùn)轉(zhuǎn)。因此,一次此,一次DMA傳送的時(shí)間不宜過長,以免對整個(gè)系統(tǒng)造成不可傳送的

14、時(shí)間不宜過長,以免對整個(gè)系統(tǒng)造成不可挽回的影響。挽回的影響。3. 請求傳輸模式請求傳輸模式(demand transfer mode)l 和塊傳輸模式相比,僅多了一個(gè)功能,即可以通過撤銷和塊傳輸模式相比,僅多了一個(gè)功能,即可以通過撤銷DREQ信號來打斷傳輸過程。信號來打斷傳輸過程。l 每傳輸完一個(gè)字節(jié),每傳輸完一個(gè)字節(jié),DMA控制器都要檢測由控制器都要檢測由I/O接口發(fā)來接口發(fā)來的的“DMA請求請求”信號(信號(DREQ信號)是否仍然有效,如信號)是否仍然有效,如果該信號仍有效,則繼續(xù)進(jìn)行果該信號仍有效,則繼續(xù)進(jìn)行DMA傳輸;傳輸;l 否則,就暫停傳輸,交還總線控制權(quán)給否則,就暫停傳輸,交還總

15、線控制權(quán)給CPU,直至,直至“DMA請求請求”信號再次變?yōu)橛行?,?shù)據(jù)塊傳輸則從剛才信號再次變?yōu)橛行В瑪?shù)據(jù)塊傳輸則從剛才暫停的那一點(diǎn)繼續(xù)進(jìn)行下去。暫停的那一點(diǎn)繼續(xù)進(jìn)行下去。l 請求傳輸模式允許請求傳輸模式允許DMA過程在單字節(jié)傳輸模式和塊傳輸過程在單字節(jié)傳輸模式和塊傳輸模式之間自動切換,增加了靈活性,降低了對模式之間自動切換,增加了靈活性,降低了對I/O設(shè)備傳設(shè)備傳輸速度的要求:如果輸速度的要求:如果I/O設(shè)備速度足夠快,則進(jìn)行塊傳輸;設(shè)備速度足夠快,則進(jìn)行塊傳輸;如果如果I/O設(shè)備速度較慢,則隨時(shí)可以等一下。設(shè)備速度較慢,則隨時(shí)可以等一下。4. 級聯(lián)模式級聯(lián)模式(cascade mode)l

16、在級聯(lián)方式下,將多在級聯(lián)方式下,將多個(gè)個(gè)82378237級聯(lián)起來,以級聯(lián)起來,以擴(kuò)展擴(kuò)展DMADMA通道數(shù)。后一通道數(shù)。后一級的級的HRQHRQ和和HLDAHLDA信號連信號連到前一級的到前一級的DREQDREQ和和DACKDACK上。上。l在級聯(lián)方式下,當(dāng)?shù)诙壴诩壜?lián)方式下,當(dāng)?shù)诙?237的請求得到響應(yīng)時(shí),第一級的請求得到響應(yīng)時(shí),第一級8237僅輸出僅輸出HRQ信號而不能輸出地址及控制信號,因?yàn)榈诙壭盘柖荒茌敵龅刂芳翱刂菩盘?,因?yàn)榈诙壍牡?237才是真正的主控制器,而第一級的才是真正的主控制器,而第一級的8237僅應(yīng)起到傳遞僅應(yīng)起到傳遞DREQ請求信號及請求信號及DACK應(yīng)答信號的作

17、用。應(yīng)答信號的作用。 8237的操作類型的操作類型l 在前三種工作方式下,在前三種工作方式下,DMA傳送有三種類型:傳送有三種類型: DMA讀傳送讀傳送 、DMA寫傳送、寫傳送、DMA校驗(yàn)傳送校驗(yàn)傳送 DMA讀:讀:是指把數(shù)據(jù)由存儲器傳送至是指把數(shù)據(jù)由存儲器傳送至I/O接口,操作時(shí)先由接口,操作時(shí)先由 /MEMR有效從存儲器讀出數(shù)據(jù)放有效從存儲器讀出數(shù)據(jù)放 在數(shù)據(jù)總線上,然在數(shù)據(jù)總線上,然 后再由后再由/IOW有效把數(shù)據(jù)寫入有效把數(shù)據(jù)寫入I/O接口。接口。 DMA寫寫: 是指把數(shù)據(jù)由是指把數(shù)據(jù)由I/O接口傳送至存儲器,操作時(shí)先由接口傳送至存儲器,操作時(shí)先由IOR 有效從有效從I/O接口讀出數(shù)據(jù)

18、放在數(shù)據(jù)總線上,然后再由接口讀出數(shù)據(jù)放在數(shù)據(jù)總線上,然后再由 /MEMW有效把數(shù)據(jù)寫入存儲器有效把數(shù)據(jù)寫入存儲器. DMA校驗(yàn)校驗(yàn): :也被稱為假傳送也被稱為假傳送(pseudo transfers)(pseudo transfers)。在校驗(yàn)傳送。在校驗(yàn)傳送時(shí),時(shí),82378237雖然也像讀傳送或?qū)憘魉鸵粯拥禺a(chǎn)生地址以雖然也像讀傳送或?qū)憘魉鸵粯拥禺a(chǎn)生地址以及及EOPEOP信號等,但存儲器和信號等,但存儲器和I/OI/O接口的讀、寫控制信號接口的讀、寫控制信號均處于無效狀態(tài),所以實(shí)際上并不進(jìn)行數(shù)據(jù)傳送。均處于無效狀態(tài),所以實(shí)際上并不進(jìn)行數(shù)據(jù)傳送。 這種傳送類型一般是用于對這種傳送類型一般是用于

19、對DMACDMAC器件測試時(shí)使用。器件測試時(shí)使用。8237的存儲器到存儲器的傳送方式(的存儲器到存儲器的傳送方式(1)l 要使用兩個(gè)通道共同完成要使用兩個(gè)通道共同完成存儲器到存儲器存儲器到存儲器的傳送方式的傳送方式 通道通道0 0 作作DMADMA讀讀通道通道1 1 作作DMADMA寫寫 通道通道0 0的地址寄存器編程為的地址寄存器編程為源區(qū)地址源區(qū)地址;通道通道1 1的地址寄存器編程為的地址寄存器編程為目的區(qū)地址目的區(qū)地址,通道通道1 1的字節(jié)計(jì)數(shù)寄存器編程為傳送的字節(jié)數(shù)。的字節(jié)計(jì)數(shù)寄存器編程為傳送的字節(jié)數(shù)。l 由于此傳送過程沒有外部設(shè)備參與,因此沒有外部引入由于此傳送過程沒有外部設(shè)備參與,

20、因此沒有外部引入的的DREQDREQ信號來啟動信號來啟動DMADMA操作。于是,需要對通道操作。于是,需要對通道0 0寫入一寫入一個(gè)個(gè)軟件軟件DREQDREQ請求命令請求命令,產(chǎn)生,產(chǎn)生HRQHRQ信號啟動信號啟動DMADMA。l 每傳送一個(gè)字節(jié)要用每傳送一個(gè)字節(jié)要用8 8個(gè)個(gè)S S狀態(tài),前狀態(tài),前4 4個(gè)狀態(tài)為個(gè)狀態(tài)為DMADMA讀,后讀,后4 4個(gè)個(gè)狀態(tài)為狀態(tài)為DMADMA寫。寫。l 通道通道0 0以當(dāng)前地址寄存器內(nèi)容為源地址到源存儲器讀出數(shù)據(jù)以當(dāng)前地址寄存器內(nèi)容為源地址到源存儲器讀出數(shù)據(jù)送入送入82378237內(nèi)部的暫存寄存器,然后以通道內(nèi)部的暫存寄存器,然后以通道1 1將自己的當(dāng)前地將

21、自己的當(dāng)前地址寄存器內(nèi)容放到地址總線上,發(fā)出址寄存器內(nèi)容放到地址總線上,發(fā)出/MEMW/MEMW有效信號,把數(shù)有效信號,把數(shù)據(jù)從暫存寄存器中寫入目的區(qū)。據(jù)從暫存寄存器中寫入目的區(qū)。l 每傳送一個(gè)字節(jié),源地址和目的地址都要修改每傳送一個(gè)字節(jié),源地址和目的地址都要修改( (增增1 1或減或減1)1),字節(jié)數(shù)減字節(jié)數(shù)減1 1。直至通道。直至通道1 1的字節(jié)計(jì)數(shù)結(jié)束,產(chǎn)生的字節(jié)計(jì)數(shù)結(jié)束,產(chǎn)生EOPEOP有效信號,有效信號,才停止才停止DMADMA傳送。也允許外部輸入傳送。也允許外部輸入EOPEOP有效信號來中止傳輸。有效信號來中止傳輸。8237的存儲器到存儲器的傳送方式(的存儲器到存儲器的傳送方式(2

22、)此時(shí)此時(shí)8237是作為是作為CPU的的I/O接口芯片:接口芯片:CS選中芯片選中芯片地址信號地址信號A3A0選擇內(nèi)部寄存器選擇內(nèi)部寄存器IOW和和IOR決定對寄存器是讀還是寫決定對寄存器是讀還是寫8237初始化編程寄存器名稱寄存器名稱位長位長數(shù)量數(shù)量基地址寄存器基地址寄存器16位位4基字節(jié)計(jì)數(shù)寄存器基字節(jié)計(jì)數(shù)寄存器16位位4當(dāng)前地址寄存器當(dāng)前地址寄存器16位位4當(dāng)前字節(jié)計(jì)數(shù)寄存器當(dāng)前字節(jié)計(jì)數(shù)寄存器16位位4臨時(shí)地址寄存器臨時(shí)地址寄存器16位位1臨時(shí)字節(jié)計(jì)數(shù)寄存器臨時(shí)字節(jié)計(jì)數(shù)寄存器16位位1命令寄存器命令寄存器8位位1狀態(tài)寄存器狀態(tài)寄存器8位位1暫存寄存器暫存寄存器8位位1模式寄存器模式寄存器

23、6位位4屏蔽寄存器屏蔽寄存器4位位1請求寄存器請求寄存器4位位1A3 A2 A1 A0通道號通道號讀操作讀操作(IOR)寫操作(寫操作(IOW) 0 0 0 00讀當(dāng)前地址寄存器讀當(dāng)前地址寄存器寫基寫基(當(dāng)前當(dāng)前)地址寄存器地址寄存器 0 0 0 0讀當(dāng)前字節(jié)數(shù)寄存器讀當(dāng)前字節(jié)數(shù)寄存器寫基寫基(當(dāng)前當(dāng)前)字節(jié)計(jì)數(shù)寄存器字節(jié)計(jì)數(shù)寄存器 0 0 1 01讀當(dāng)前地址寄存器讀當(dāng)前地址寄存器寫基寫基(當(dāng)前當(dāng)前)地址寄存器地址寄存器 0 0 1 1讀當(dāng)前字節(jié)數(shù)寄存器讀當(dāng)前字節(jié)數(shù)寄存器寫基寫基(當(dāng)前當(dāng)前)字節(jié)計(jì)數(shù)寄存器字節(jié)計(jì)數(shù)寄存器 0 1 0 02讀當(dāng)前地址寄存器讀當(dāng)前地址寄存器寫基寫基(當(dāng)前當(dāng)前)地址寄

24、存器地址寄存器 0 1 0 1讀當(dāng)前字節(jié)數(shù)寄存器讀當(dāng)前字節(jié)數(shù)寄存器寫基寫基(當(dāng)前當(dāng)前)字節(jié)計(jì)數(shù)寄存器字節(jié)計(jì)數(shù)寄存器 0 1 1 03讀當(dāng)前地址寄存器讀當(dāng)前地址寄存器寫基寫基(當(dāng)前當(dāng)前)地址寄存器地址寄存器 0 1 1 1讀當(dāng)前字節(jié)數(shù)寄存器讀當(dāng)前字節(jié)數(shù)寄存器寫基寫基(當(dāng)前當(dāng)前)字節(jié)計(jì)數(shù)寄存器字節(jié)計(jì)數(shù)寄存器 1 0 0 0四四個(gè)個(gè)通通道道公公用用讀狀態(tài)寄存器讀狀態(tài)寄存器寫命令寄存器寫命令寄存器 1 0 0 1寫請求寄存器寫請求寄存器 1 0 1 0寫屏蔽寄存器某一位寫屏蔽寄存器某一位 1 0 1 1寫模式寄存器寫模式寄存器 1 1 0 0清除高低位觸發(fā)器命令清除高低位觸發(fā)器命令 1 1 0 1讀暫

25、存寄存器讀暫存寄存器主清除命令主清除命令 1 1 1 0清除屏蔽寄存器清除屏蔽寄存器 1 1 1 1寫屏蔽寄存器所有位寫屏蔽寄存器所有位8237寄存器的尋址寄存器的尋址 進(jìn)行進(jìn)行DMA傳輸前傳輸前,對各寄存器寫不同的內(nèi)容對各寄存器寫不同的內(nèi)容,即即進(jìn)行初始化編程。進(jìn)行初始化編程。初始化內(nèi)容分為初始化內(nèi)容分為數(shù)值型數(shù)值型和和功能型功能型1.數(shù)值型l每個(gè)通道將傳輸中要訪問的存儲器的初始地址寫入基地址寄存器和當(dāng)前地址寄存器(同時(shí)寫入),把要求傳輸?shù)淖止?jié)數(shù)寫入基字節(jié)數(shù)計(jì)數(shù)器和當(dāng)前字節(jié)計(jì)數(shù)器(同時(shí)寫入). 從高從高/低觸發(fā)器零狀低觸發(fā)器零狀態(tài)起態(tài)起,先寫入低字節(jié)先寫入低字節(jié),再寫入高字節(jié)再寫入高字節(jié)高高

26、/低觸發(fā)器低觸發(fā)器D7 D0 IOW低字節(jié)低字節(jié)低字節(jié)低字節(jié)高字節(jié)高字節(jié)高字節(jié)高字節(jié)l每傳送一個(gè)字節(jié),當(dāng)前寄存器內(nèi)容加1或減1(由模式寄存器設(shè)定)修正,當(dāng)前字節(jié)數(shù)計(jì)數(shù)器從初始值減到0,還要再傳輸一個(gè)字節(jié),從0變成0FFFFH后,才發(fā)出EOP信號結(jié)束DMA過程. 初始化編程時(shí)把真正傳初始化編程時(shí)把真正傳輸?shù)淖止?jié)數(shù)減輸?shù)淖止?jié)數(shù)減1后再寫后再寫到字節(jié)數(shù)計(jì)數(shù)器中到字節(jié)數(shù)計(jì)數(shù)器中.如設(shè)置了如設(shè)置了自動重置自動重置功能功能, 當(dāng)當(dāng)EOP信號產(chǎn)生時(shí)信號產(chǎn)生時(shí), 將自動把將自動把基地址寄存器基地址寄存器和和基字節(jié)數(shù)寄存器基字節(jié)數(shù)寄存器的內(nèi)的內(nèi)容再次置入當(dāng)前地址寄存器和當(dāng)前字節(jié)數(shù)寄存容再次置入當(dāng)前地址寄存器和當(dāng)

27、前字節(jié)數(shù)寄存器器,重復(fù)重復(fù)DMA傳輸傳輸. 自動重置功能在寫自動重置功能在寫模式寄存器時(shí)由模式寄存器時(shí)由D5寫入寫入2.功能型功能型l命令寄存器l模式寄存器l請求寄存器l屏蔽寄存器l狀態(tài)寄存器0 禁止存儲器到存儲器傳送禁止存儲器到存儲器傳送1 允許存儲器到存儲器傳送允許存儲器到存儲器傳送D0D1D2D3D4D5D6D70 DACK低電平有效低電平有效1 DACK高電平有效高電平有效0 DREQ高電平有效高電平有效1 DREQ低電平有效低電平有效 0 正常寫正常寫1 擴(kuò)展寫擴(kuò)展寫X 若若D3=10 固定優(yōu)先權(quán)固定優(yōu)先權(quán)1 循環(huán)優(yōu)先權(quán)循環(huán)優(yōu)先權(quán)0 禁止通道禁止通道0地址保存地址保存1 允許通道允許

28、通道0地址保存地址保存X 若若D0=00 允許允許8237工作工作1 禁止工作禁止工作0 普通時(shí)序普通時(shí)序1 壓縮時(shí)序壓縮時(shí)序命令寄存器命令寄存器 0 1 2 3最高最高最低最低4個(gè)通道優(yōu)先級從高到低的個(gè)通道優(yōu)先級從高到低的次序?yàn)榇涡驗(yàn)?通道通道 0, 1, 2, 3固定優(yōu)先權(quán)固定優(yōu)先權(quán)最高最高使剛服務(wù)過的通道使剛服務(wù)過的通道i的優(yōu)先級的優(yōu)先級變?yōu)樽畹妥優(yōu)樽畹?使通道使通道i+1的優(yōu)先的優(yōu)先級變?yōu)樽罡呒壸優(yōu)樽罡?例如例如,設(shè)某次傳設(shè)某次傳輸后優(yōu)先級次序?yàn)橥ǖ垒敽髢?yōu)先級次序?yàn)橥ǖ? 2 3 0 1最高最高最低最低若通道若通道2服務(wù)服務(wù),后優(yōu)先級次序變?yōu)楹髢?yōu)先級次序變?yōu)? 3 0 1 2最高最高最

29、低最低旋轉(zhuǎn)優(yōu)先權(quán)旋轉(zhuǎn)優(yōu)先權(quán)l(xiāng) D7D6規(guī)定DACK和DREQ有效極性l D5D3選擇工作時(shí)序l D4規(guī)定優(yōu)先權(quán)編碼方式l 存儲器到存儲器傳輸時(shí),若D1=1,允許將通道1指定的目的存儲器一批單元的內(nèi)容全傳到通道0指定的源區(qū)的某一單元內(nèi)容 D2=1,禁止本片工作一片一片8237僅一個(gè)命令控制字僅一個(gè)命令控制字,其內(nèi)容對,其內(nèi)容對4個(gè)通道個(gè)通道都有效。復(fù)位后,各位都清零。都有效。復(fù)位后,各位都清零。00 校驗(yàn)傳送校驗(yàn)傳送01 寫傳送寫傳送10 讀傳送讀傳送11 非法非法XX 若若D7D6=11D0D1D2D3D4D5D6D70 地址增一地址增一1 地址減一地址減一0 不重置不重置1 自動重置自動重置

30、00 選擇通道選擇通道001 選擇通道選擇通道110 選擇通道選擇通道211 選擇通道選擇通道300 請求傳送方式請求傳送方式01 單字節(jié)傳送方式單字節(jié)傳送方式10 塊傳送方式塊傳送方式11 級聯(lián)方式級聯(lián)方式模式寄存器模式寄存器D0D1D2D3D4D5D6D700 選擇通道選擇通道001 選擇通道選擇通道110 選擇通道選擇通道211 選擇通道選擇通道30 清除請求清除請求1 設(shè)置請求設(shè)置請求無關(guān)無關(guān)請求寄存器請求寄存器每個(gè)通道都有一個(gè)請求位每個(gè)通道都有一個(gè)請求位可用軟件命令對其進(jìn)行置可用軟件命令對其進(jìn)行置位位/復(fù)位操作復(fù)位操作l對請求位的置位等效于外部產(chǎn)生一個(gè)有效對請求位的置位等效于外部產(chǎn)生

31、一個(gè)有效的的DREQDREQ(I/OI/O設(shè)備的設(shè)備的DMADMA請求信號)信號,請求信號)信號,二者的優(yōu)先級排隊(duì)情況也一樣。軟件請求二者的優(yōu)先級排隊(duì)情況也一樣。軟件請求不受屏蔽寄存器控制,但只能用于塊傳送不受屏蔽寄存器控制,但只能用于塊傳送方式。存儲器到存儲器的傳送只能用通道方式。存儲器到存儲器的傳送只能用通道0 0的軟件請求啟動。一個(gè)通道的的軟件請求啟動。一個(gè)通道的DMADMA結(jié)束時(shí),結(jié)束時(shí),其請求位被復(fù)位。整個(gè)芯片的復(fù)位操作清其請求位被復(fù)位。整個(gè)芯片的復(fù)位操作清除全部請求寄存器。除全部請求寄存器。關(guān)于請求寄存器關(guān)于請求寄存器D7D6D5D4D3D2D1D000 選擇通道選擇通道001 選

32、擇通道選擇通道110 選擇通道選擇通道211 選擇通道選擇通道30 清除屏蔽位清除屏蔽位1 置位屏蔽位置位屏蔽位無關(guān)無關(guān)寄存器地址寄存器地址 A3A0=1010B屏蔽控制字格式屏蔽控制字格式1控制控制屏蔽某一通道屏蔽某一通道屏蔽寄存器是屏蔽寄存器是的的某位置某位置1時(shí),外部對應(yīng)的時(shí),外部對應(yīng)的DREQ信號被屏蔽,不予信號被屏蔽,不予響應(yīng)響應(yīng)D7D6D5D4D3D2D1D0無關(guān)無關(guān)0 不屏蔽通道不屏蔽通道01 屏蔽通道屏蔽通道00不屏蔽通道不屏蔽通道11屏蔽通道屏蔽通道10不屏蔽通道不屏蔽通道31屏蔽通道屏蔽通道30不屏蔽通道不屏蔽通道21屏蔽通道屏蔽通道2寄存器地址寄存器地址A3A0=1111

33、B 屏蔽控制字格式屏蔽控制字格式2控制屏蔽控制屏蔽4個(gè)通道個(gè)通道 對對 8237做一次寫操作(做一次寫操作(虛擬寫,沒有電路接收數(shù)虛擬寫,沒有電路接收數(shù)據(jù)總線上的數(shù)據(jù)據(jù)總線上的數(shù)據(jù)),則將清除屏蔽寄存器所有位),則將清除屏蔽寄存器所有位 (4個(gè)通道全開放個(gè)通道全開放)。)。 此時(shí)數(shù)據(jù)總線上此時(shí)數(shù)據(jù)總線上可為任意值可為任意值一般情況下,通道在一次一般情況下,通道在一次DMA傳送結(jié)束后,自傳送結(jié)束后,自動設(shè)置屏蔽位,再次傳輸需要用軟件清除屏蔽位。動設(shè)置屏蔽位,再次傳輸需要用軟件清除屏蔽位。自動重置在每次自動重置在每次DMA傳送結(jié)束后不設(shè)置屏蔽。傳送結(jié)束后不設(shè)置屏蔽。清除屏蔽寄存器清除屏蔽寄存器 (

34、地址(地址A3A0=1110B)D7D6D5D4D3D2D1D01 通道通道3請求請求1 通道通道2請求請求1 通道通道1請求請求1 通道通道0請求請求1 通道通道0傳輸結(jié)束傳輸結(jié)束1 通道通道1傳輸結(jié)束傳輸結(jié)束1 通道通道2傳輸結(jié)束傳輸結(jié)束1 通道通道3傳輸結(jié)束傳輸結(jié)束狀態(tài)寄存器狀態(tài)寄存器l 沒有進(jìn)入沒有進(jìn)入DMA前,前,CPU通過狀態(tài)字查詢。通過狀態(tài)字查詢。l 低低4位反映傳輸完成情況,高位反映傳輸完成情況,高4位反映請求情況。位反映請求情況。l 正常計(jì)數(shù)結(jié)束,或外部輸入正常計(jì)數(shù)結(jié)束,或外部輸入EOP,響應(yīng)相應(yīng)位復(fù)位。,響應(yīng)相應(yīng)位復(fù)位。l 單字節(jié)傳輸模式下,單字節(jié)傳輸模式下,CPU獲得總線

35、控制權(quán),通過這獲得總線控制權(quán),通過這種查詢了解種查詢了解DMA進(jìn)行情況。進(jìn)行情況。狀態(tài)寄存器狀態(tài)寄存器關(guān)于軟件命令:關(guān)于軟件命令:A3 A2 A1 A0通道號通道號讀操作讀操作(IOR)寫操作(寫操作(IOW) 0 0 0 00讀當(dāng)前地址寄存器讀當(dāng)前地址寄存器寫基寫基(當(dāng)前當(dāng)前)地址寄存器地址寄存器 0 0 0 0讀當(dāng)前字節(jié)數(shù)寄存器讀當(dāng)前字節(jié)數(shù)寄存器寫基寫基(當(dāng)前當(dāng)前)字節(jié)計(jì)數(shù)寄存器字節(jié)計(jì)數(shù)寄存器 0 0 1 01讀當(dāng)前地址寄存器讀當(dāng)前地址寄存器寫基寫基(當(dāng)前當(dāng)前)地址寄存器地址寄存器 0 0 1 1讀當(dāng)前字節(jié)數(shù)寄存器讀當(dāng)前字節(jié)數(shù)寄存器寫基寫基(當(dāng)前當(dāng)前)字節(jié)計(jì)數(shù)寄存器字節(jié)計(jì)數(shù)寄存器 0 1 0 02讀當(dāng)前地址寄存器讀當(dāng)前地址寄存器寫基寫基(當(dāng)前當(dāng)前)地址寄存器地址寄存器 0 1 0 1讀當(dāng)前字節(jié)數(shù)寄存器讀當(dāng)前字節(jié)數(shù)寄存器寫基寫基

溫馨提示

  • 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

提交評論