




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.第第1010章章 DMADMA控制接口控制接口教學重點n 8237A的工作方式的工作方式n 8237A寄存器組的作用寄存器組的作用n 8237A寄存器組的編程寄存器組的編程.10.1 DMA控制器8237An每個每個8237A芯片有芯片有4個個DMA通道,就是通道,就是有有4個個DMA控制器控制器n每個每個DMA通道具有不同的優(yōu)先權(quán)通道具有不同的優(yōu)先權(quán)n每個每個DMA通道可以分別允許和禁止通道可以分別允許和禁止n每個每個DMA通道有通道有4種工作方式種工作方式n一次傳送的最大長度可達一次傳送的最大長度可達64KBn多個多個8237A芯片可以級連,擴展通道數(shù)芯片可以級連,擴展通道數(shù).10.1.
2、1 8237A的內(nèi)部結(jié)構(gòu)和引腳n內(nèi)部結(jié)構(gòu)和外部引腳都相對比較復雜內(nèi)部結(jié)構(gòu)和外部引腳都相對比較復雜n應用觀點,內(nèi)部主要由兩類寄存器組成應用觀點,內(nèi)部主要由兩類寄存器組成n通道寄存器通道寄存器n控制和狀態(tài)寄存器控制和狀態(tài)寄存器首先分類展開外部引腳首先分類展開外部引腳.1. 請求與響應信號nDREQ0DREQ3:DMA通道請求。當外設需通道請求。當外設需要請求要請求DMA服務時,將服務時,將DREQ信號置成有效電信號置成有效電平,并要保持到產(chǎn)生響應信號。平,并要保持到產(chǎn)生響應信號。nHRQ:總線請求??偩€請求。8237A輸出有效的輸出有效的HRQ高高電平,向電平,向CPU申請使用系統(tǒng)總線。申請使用系
3、統(tǒng)總線。nHLDA:總線響應??偩€響應。8237A接受來自接受來自CPU的響的響應信號應信號HLDA,取得了總線的控制權(quán)。,取得了總線的控制權(quán)。nDACK0DACK3:DMA通道響應。通道響應。8237A使使請求服務的通道產(chǎn)生相應的請求服務的通道產(chǎn)生相應的DMA響應信號。響應信號。.2. DMA傳送控制信號nA0A7:地址線。輸出低:地址線。輸出低8位存儲器地址。位存儲器地址。nDB0DB7:數(shù)據(jù)線。輸出高:數(shù)據(jù)線。輸出高8位存儲器地址;位存儲器地址;存貯器與存貯器的傳送期間,用于數(shù)據(jù)傳送。存貯器與存貯器的傳送期間,用于數(shù)據(jù)傳送。nADSTB:地址選通。地址選通。DMA傳送開始時,輸出高傳送開
4、始時,輸出高有效,把在有效,把在DB0DB7上輸出的高上輸出的高8位地址鎖存位地址鎖存在外部鎖存器中。在外部鎖存器中。nAEN:地址允許。輸出高有效,將鎖存的高地址允許。輸出高有效,將鎖存的高8位位地址送入系統(tǒng)總線,與芯片此時輸出的低地址送入系統(tǒng)總線,與芯片此時輸出的低8位地位地址組成址組成16位存儲器地址。位存儲器地址。.2. DMA傳送控制信號(續(xù))nMEMR*:存儲器讀。有效將數(shù)據(jù)從存儲器讀出:存儲器讀。有效將數(shù)據(jù)從存儲器讀出nMEMW*:存儲器寫。有效將數(shù)據(jù)寫入存儲器存儲器寫。有效將數(shù)據(jù)寫入存儲器nIOR*:I/O讀。有效將數(shù)據(jù)從外設讀出讀。有效將數(shù)據(jù)從外設讀出nIOW*:I/O寫寫。
5、有效將數(shù)據(jù)寫入外設有效將數(shù)據(jù)寫入外設nREADY:準備好。準備好。DMA傳送的傳送的S3下降沿檢測下降沿檢測到為低時,插入等待狀態(tài)到為低時,插入等待狀態(tài)Sw,直到,直到READY為為高才進入第高才進入第4個時鐘周期個時鐘周期S4。nEOP*:過程結(jié)束。:過程結(jié)束。DMA傳送過程結(jié)束,輸出傳送過程結(jié)束,輸出一個低有效脈沖。外部輸入低脈沖信號,則終一個低有效脈沖。外部輸入低脈沖信號,則終結(jié)結(jié)DMA傳送。傳送。 .3. 處理器接口信號nDB0DB7:數(shù)據(jù)線。用于:數(shù)據(jù)線。用于8237A與微處理與微處理器進行數(shù)據(jù)交換。器進行數(shù)據(jù)交換。nA0A3:地址線。用以選擇芯片內(nèi)部寄存器。:地址線。用以選擇芯片內(nèi)
6、部寄存器。nCS*:片選。低有效時,微處理器與:片選。低有效時,微處理器與8237A通通過數(shù)據(jù)線通信,主要完成對過數(shù)據(jù)線通信,主要完成對8237A的編程。的編程。nIOR*:I/O讀。讀取讀。讀取8237A內(nèi)部寄存器。內(nèi)部寄存器。nIOW*:I/O寫。寫入寫。寫入8237A內(nèi)部寄存器。內(nèi)部寄存器。nCLK:時鐘??刂菩酒瑑?nèi)部操作和數(shù)據(jù)傳輸。時鐘??刂菩酒瑑?nèi)部操作和數(shù)據(jù)傳輸。nRESET:復位。使復位。使8237A處于初始狀態(tài)。處于初始狀態(tài)。.8237A的兩種工作狀態(tài)n8237A具有兩種工作狀態(tài)具有兩種工作狀態(tài)n空閑周期空閑周期:作為接口電路,受作為接口電路,受CPU控制的工作狀態(tài)控制的工作狀態(tài)
7、n有效周期有效周期:作為作為DMAC控制控制DMA傳送的工作狀態(tài)傳送的工作狀態(tài)于是,引腳分成兩種作用于是,引腳分成兩種作用.8237A引腳的兩種作用與與CPU連接連接(空閑周期)的引腳(空閑周期)的引腳與外設連接與外設連接(有效周期)的引腳(有效周期)的引腳CLK、RESETA0A3、CS*、DB0DB7IOR*、IOW*HRQ、HLDAAEN、ADSTB、READY、EOP*A0A7、DB0DB7IOR*、IOW*、MEMR*、MEMW*DREQ0DREQ3、DACK0DACK3.10.1.2 8237A的工作時序空閑周期n8237A的任一通道都沒有的任一通道都沒有DMA請求時請求時n823
8、7A由微處理器控制作為一個接口芯片由微處理器控制作為一個接口芯片nCPU可可對對8237A編程,或從編程,或從8237A讀取狀態(tài)讀取狀態(tài)n8237A采樣采樣CS*選片信號,該信號有效,選片信號,該信號有效,CPU就就要對要對8237A進行讀進行讀/寫操作寫操作n8237A還還采樣通道的請求輸入信號采樣通道的請求輸入信號DREQ,該信號有效,就進入有效周期該信號有效,就進入有效周期進入有效周期進入有效周期.10.1.2 8237A的工作時序有效周期n8237A采樣到外設有采樣到外設有DMA請求,就脫請求,就脫離空閑周期進入有效周期離空閑周期進入有效周期n8237A作為系統(tǒng)的主控芯片,控制作為系統(tǒng)
9、的主控芯片,控制DMA傳送操作傳送操作nDMA傳送借用系統(tǒng)總線完成,其控制傳送借用系統(tǒng)總線完成,其控制信號以及工作時序類似信號以及工作時序類似CPU總線周期總線周期進入進入DMADMA傳送時序傳送時序DMA傳送時序DB0DB7DACKADSTBHRQDREQCLKS1S0S0SiSiS3S2S4S3S2SiSiS4HLDAAENA0A7 MEMR(IOR)IOW(MEMW)S1狀態(tài)狀態(tài)輸出輸出16位存儲器地址位存儲器地址AEN輸出高電平,表示輸出高電平,表示DMA傳送傳送S2狀態(tài)狀態(tài)輸出輸出DMA響應信號和控制信號響應信號和控制信號DMA讀:讀:MEMR*和和IOW*有效有效DMA寫:寫:IO
10、R*和和MEMW*有效有效S3和和Sw狀態(tài)狀態(tài)檢測數(shù)據(jù)傳送是否能夠完檢測數(shù)據(jù)傳送是否能夠完成,決定是否插入等待狀態(tài)成,決定是否插入等待狀態(tài)SwS4狀態(tài)狀態(tài)完成數(shù)據(jù)傳送完成數(shù)據(jù)傳送.10.1.3 8237A的工作方式nDMA傳送方式傳送方式 單字節(jié)傳送方式單字節(jié)傳送方式 數(shù)據(jù)塊傳送方式數(shù)據(jù)塊傳送方式 請求傳送方式請求傳送方式 級連方式級連方式nDMA傳送類型傳送類型 DMA讀讀 DMA寫寫 DMA檢驗檢驗n存儲器到存儲器的傳送存儲器到存儲器的傳送.1. DMA傳送單字節(jié)方式n每次每次DMA傳送時僅傳送一個字節(jié)傳送時僅傳送一個字節(jié)n傳送一個字節(jié)之后,字節(jié)數(shù)寄存器減傳送一個字節(jié)之后,字節(jié)數(shù)寄存器減1
11、,地址,地址寄存器加寄存器加1或減或減1,HRQ變?yōu)闊o效變?yōu)闊o效n8237A釋放系統(tǒng)總線,將控制權(quán)還給釋放系統(tǒng)總線,將控制權(quán)還給CPUn若傳送后使字節(jié)數(shù)從若傳送后使字節(jié)數(shù)從0減到減到FFFFH,則終結(jié),則終結(jié)DMA傳送或重新初始化傳送或重新初始化n特點:特點:n一次傳送一個字節(jié),效率略低一次傳送一個字節(jié),效率略低nDMA傳送之間傳送之間CPU有機會重新獲取總線控制權(quán)有機會重新獲取總線控制權(quán).1. DMA傳送數(shù)據(jù)塊方式n由由DREQ啟動就連續(xù)地傳送數(shù)據(jù),直到啟動就連續(xù)地傳送數(shù)據(jù),直到字節(jié)數(shù)寄存器從字節(jié)數(shù)寄存器從0減到減到FFFFH終止計數(shù),終止計數(shù),或由外部輸入有效信號終結(jié)或由外部輸入有效信號終
12、結(jié)DMA傳送傳送nDREQ只需維持有效到只需維持有效到DACK有效有效n特點:特點:n一次請求傳送一個數(shù)據(jù)塊,效率高一次請求傳送一個數(shù)據(jù)塊,效率高n整個整個DMA傳送期間傳送期間CPU長時間無法控制總長時間無法控制總線(無法響應其他線(無法響應其他DMA請求、無法處理中請求、無法處理中斷等)斷等).1. DMA傳送請求方式nDREQ信號有效就連續(xù)傳送數(shù)據(jù)信號有效就連續(xù)傳送數(shù)據(jù)nDREQ信號無效,信號無效,DMA傳送被暫時中止,傳送被暫時中止,8237A釋放總線,釋放總線,CPU可繼續(xù)操作可繼續(xù)操作nDMA通道的地址和字節(jié)數(shù)的中間值仍被保持通道的地址和字節(jié)數(shù)的中間值仍被保持nDREQ信號再次有效
13、,信號再次有效,DMA傳送就繼續(xù)進行傳送就繼續(xù)進行n如果字節(jié)數(shù)寄存器從如果字節(jié)數(shù)寄存器從0減到減到FFFFH,或者由外,或者由外部送來一個有效的信號,將終止計數(shù)部送來一個有效的信號,將終止計數(shù)n特點:特點:nDMA操作可由外設利用操作可由外設利用DREQ信號控制傳送的過程信號控制傳送的過程.1. DMA傳送級連方式n用于通過多個用于通過多個8237A級連以擴展通道級連以擴展通道n第二級的第二級的HRQ和和HLDA信號連到第一級信號連到第一級某個通道的某個通道的DREQ和和DACK上上n第二級芯片的優(yōu)先權(quán)等級與所連通道的第二級芯片的優(yōu)先權(quán)等級與所連通道的優(yōu)先權(quán)相對應優(yōu)先權(quán)相對應n第一級只起優(yōu)先權(quán)
14、網(wǎng)絡的作用,實際的第一級只起優(yōu)先權(quán)網(wǎng)絡的作用,實際的操作由第二級芯片完成操作由第二級芯片完成n還可由第二級擴展到第三級等還可由第二級擴展到第三級等.2. DMA傳送類型nDMA讀讀把數(shù)據(jù)由存儲器傳送到外設把數(shù)據(jù)由存儲器傳送到外設n由由MEMR*有效從存儲器讀出數(shù)據(jù),由有效從存儲器讀出數(shù)據(jù),由IOW*有效有效把這一數(shù)據(jù)寫入外設把這一數(shù)據(jù)寫入外設nDMA寫寫把外設輸入的數(shù)據(jù)寫入存儲器把外設輸入的數(shù)據(jù)寫入存儲器n由由IOR*有效從外設輸入數(shù)據(jù),由有效從外設輸入數(shù)據(jù),由MEMW*有效把有效把這一數(shù)據(jù)寫入存儲器。這一數(shù)據(jù)寫入存儲器。nDMA檢驗檢驗空操作空操作n8237A不進行任何檢驗不進行任何檢驗n外
15、設可以進行外設可以進行DMA校驗校驗n存儲器和存儲器和I/O控制線保持無效,不進行傳送控制線保持無效,不進行傳送.3. 存儲器到存儲器的傳送n固定使用通道固定使用通道0和通道和通道1n通道通道0的地址寄存器存源區(qū)地址的地址寄存器存源區(qū)地址n通道通道1的地址寄存器存目的區(qū)地址,通道的地址寄存器存目的區(qū)地址,通道1的的字節(jié)數(shù)寄存器存?zhèn)魉偷淖止?jié)數(shù)字節(jié)數(shù)寄存器存?zhèn)魉偷淖止?jié)數(shù)n傳送由設置通道傳送由設置通道0的軟件請求啟動的軟件請求啟動n每傳送一字節(jié)需用每傳送一字節(jié)需用8個時鐘周期個時鐘周期n前前4個時鐘周期用通道個時鐘周期用通道0地址寄存器的地址從源區(qū)讀地址寄存器的地址從源區(qū)讀數(shù)據(jù)送入數(shù)據(jù)送入8237A
16、的臨時寄存器的臨時寄存器n后后4個時鐘周期用通道個時鐘周期用通道1地址寄存器的地址把臨時寄地址寄存器的地址把臨時寄存器中的數(shù)據(jù)寫入目的區(qū)存器中的數(shù)據(jù)寫入目的區(qū).4. DMA通道的優(yōu)先權(quán)方式n固定優(yōu)先權(quán)方式固定優(yōu)先權(quán)方式優(yōu)先權(quán)固定優(yōu)先權(quán)固定n通道通道0優(yōu)先權(quán)最高,通道優(yōu)先權(quán)最高,通道1其次,通道其次,通道2再次,再次,通道通道3最低最低n循環(huán)優(yōu)先權(quán)方式循環(huán)優(yōu)先權(quán)方式優(yōu)先權(quán)循環(huán)變化優(yōu)先權(quán)循環(huán)變化n最近一次服務的通道在下次循環(huán)中變成最低最近一次服務的通道在下次循環(huán)中變成最低優(yōu)先權(quán),其他通道依次輪流相應的優(yōu)先權(quán)優(yōu)先權(quán),其他通道依次輪流相應的優(yōu)先權(quán)DMADMA傳送不存在嵌套傳送不存在嵌套.5. 自動初始
17、化方式n每當每當DMA過程結(jié)束信號過程結(jié)束信號EOP*產(chǎn)生時產(chǎn)生時(不論是內(nèi)部終止計數(shù)還是外部輸入該(不論是內(nèi)部終止計數(shù)還是外部輸入該信號)信號)n用基地址寄存器和基字節(jié)數(shù)寄存器的內(nèi)用基地址寄存器和基字節(jié)數(shù)寄存器的內(nèi)容,使相應的現(xiàn)行寄存器恢復為初始值,容,使相應的現(xiàn)行寄存器恢復為初始值,包括恢復屏蔽位、允許包括恢復屏蔽位、允許DMA請求請求n這樣就作好了下一次這樣就作好了下一次DMA傳送的準備傳送的準備.10.1.4 8237A的寄存器n8237A共有共有10種內(nèi)部寄存器,對它們的種內(nèi)部寄存器,對它們的操作有時需要配合操作有時需要配合3個軟件命令個軟件命令n8237A的的“軟件命令軟件命令”n
18、不需要通過數(shù)據(jù)總線寫入控制字不需要通過數(shù)據(jù)總線寫入控制字n直接由地址和控制信號譯碼實現(xiàn)直接由地址和控制信號譯碼實現(xiàn)全部都用地址全部都用地址A A0 0A A3 3區(qū)分區(qū)分.1. 現(xiàn)行地址寄存器n保持保持DMA傳送的當前地址值傳送的當前地址值n每次傳送后該寄存器的值自動加每次傳送后該寄存器的值自動加1或減或減1n這個寄存器的值可由這個寄存器的值可由CPU寫入和讀出寫入和讀出基地址寄存器基地址寄存器存放存放初始值初始值.2. 現(xiàn)行字節(jié)數(shù)寄存器n保持保持DMA傳送的剩余字節(jié)數(shù)傳送的剩余字節(jié)數(shù)n每次傳送后,該寄存器的值減每次傳送后,該寄存器的值減1n這個寄存器的值可由這個寄存器的值可由CPU寫入和讀出
19、寫入和讀出n該寄存器的值減至該寄存器的值減至0,再減,再減1(從(從0減到減到FFFFH)時,終止計數(shù))時,終止計數(shù)基字節(jié)數(shù)寄存器基字節(jié)數(shù)寄存器存放存放初始值初始值傳送傳送N N個字節(jié),個字節(jié),初始值初始值為為N N1 1.讀寫通道寄存器nCPU與與8237A之間通過之間通過8位數(shù)據(jù)總線交位數(shù)據(jù)總線交換信息,換信息,8237A的通道寄存器均為的通道寄存器均為16位位n需要兩次讀寫操作才能實現(xiàn)需要兩次讀寫操作才能實現(xiàn)CPU與與8237A之間的一個完整數(shù)據(jù)的交換之間的一個完整數(shù)據(jù)的交換n8237A內(nèi)含一個內(nèi)含一個高高/低觸發(fā)器低觸發(fā)器,用來控,用來控制讀寫通道寄存器的高、低字節(jié)制讀寫通道寄存器的高
20、、低字節(jié).高/低觸發(fā)器n該觸發(fā)器為該觸發(fā)器為0,控制讀寫低字節(jié),控制讀寫低字節(jié)n該觸發(fā)器為該觸發(fā)器為1,控制讀寫高字節(jié),控制讀寫高字節(jié)n軟、硬件復位后,觸發(fā)器為軟、硬件復位后,觸發(fā)器為0n每次讀寫通道寄存器,自動改變觸發(fā)器每次讀寫通道寄存器,自動改變觸發(fā)器狀態(tài)。如果狀態(tài)。如果對對16位寄存器的操作用兩次位寄存器的操作用兩次連續(xù)讀寫進行,就不必清除這個觸發(fā)器連續(xù)讀寫進行,就不必清除這個觸發(fā)器n清除高清除高/低觸發(fā)器低觸發(fā)器軟件命令軟件命令(A3A2A1A01100)將使高)將使高/低觸發(fā)器清零低觸發(fā)器清零.3個軟件命令n清除高清除高/低觸發(fā)器軟件命令低觸發(fā)器軟件命令nA3A2A1A01100,使
21、高,使高/低觸發(fā)器清零低觸發(fā)器清零n主清除命令主清除命令nA3A2A1A01101,使高使高/低觸發(fā)器清零低觸發(fā)器清零n還使命令、狀態(tài)、請求、臨時寄存器清零還使命令、狀態(tài)、請求、臨時寄存器清零n使屏蔽寄存器置為全使屏蔽寄存器置為全1(禁止(禁止DMA請求)請求)n主清除命令與硬件的主清除命令與硬件的RESET信號具有相同的功能信號具有相同的功能n清屏蔽寄存器命令清屏蔽寄存器命令nA3A2A1A01110,使使4個屏蔽位都清零(允許個屏蔽位都清零(允許DMA請求)請求).5. 模式寄存器n存放相應通道的方式控制字存放相應通道的方式控制字n選擇某個選擇某個DMA通道的工作方式通道的工作方式n其中用
22、最低其中用最低2位選擇哪個位選擇哪個DMA通道通道請看請看方式字方式字的格式的格式.方式字格式D7 D6D5D4D3 D2D1 D000 請求模式請求模式01 單字節(jié)模式單字節(jié)模式10 數(shù)據(jù)塊模式數(shù)據(jù)塊模式11 級聯(lián)模式級聯(lián)模式0 地址增量(加地址增量(加1)1 地址減量(減地址減量(減1)0 禁止自動初始化禁止自動初始化1 允許自動初始化允許自動初始化00DMA校驗校驗01DMA寫寫10DMA讀讀11非法非法 若若D7D61100 通道通道001 通道通道110 通道通道211 通道通道3.6. 命令寄存器n存放存放8237A的命令字的命令字n設置設置8237A芯片的操作方式芯片的操作方式n
23、影響每個影響每個DMA通道通道n復位時使命令寄存器清零復位時使命令寄存器清零n設置設置D21才使才使8237A可以作為可以作為DMA控制器控制器請看請看命令字命令字的格式的格式.命令字格式D7D6D5D4D3D2D1D00 DACK低有效低有效1 DACK高有效高有效0 DREQ高有效高有效1 DREQ低有效低有效0 滯后寫滯后寫1 擴展寫擴展寫 若若D310 固定優(yōu)先權(quán)固定優(yōu)先權(quán)1 循環(huán)優(yōu)先權(quán)循環(huán)優(yōu)先權(quán)0 正常時序正常時序1 壓縮時序壓縮時序 若若D010 允許允許DMAC工作工作1 禁止禁止DMAC工作工作0 允許通道允許通道0地址改變地址改變1 禁止通道禁止通道0地址改變地址改變 若若D
24、000 禁止存儲器之間傳送禁止存儲器之間傳送1 允許存儲器之間傳送允許存儲器之間傳送.7. 請求寄存器n存放軟件存放軟件DMA請求狀態(tài)請求狀態(tài)n除硬件除硬件DMA請求外,當工作在數(shù)據(jù)塊傳請求外,當工作在數(shù)據(jù)塊傳送方式時也可以通過軟件發(fā)出送方式時也可以通過軟件發(fā)出DMA請求請求n若是存貯器到存貯器傳送,則必須由軟若是存貯器到存貯器傳送,則必須由軟件請求啟動通道件請求啟動通道0請看請看請求字請求字的格式的格式.請求字格式D7 D6 D5 D4 D3D2D1 D0任意任意0 復位復位1 置位置位00 通道通道001 通道通道110 通道通道211 通道通道3.8. 屏蔽寄存器n控制外設硬件控制外設硬
25、件DMA請求是否被響應(為請求是否被響應(為0允允許),各個通道互相獨立。許),各個通道互相獨立。3種方法:種方法:n單通道屏蔽字只對一個單通道屏蔽字只對一個DMA通道屏蔽位進行設置通道屏蔽位進行設置n主屏蔽字對主屏蔽字對4個個DMA通道屏蔽位同時進行設置通道屏蔽位同時進行設置n清屏蔽寄存器命令使清屏蔽寄存器命令使4個屏蔽位都清零(允許)個屏蔽位都清零(允許)n復位使復位使4個通道全置于屏蔽狀態(tài)個通道全置于屏蔽狀態(tài)n當一個通道的當一個通道的DMA過程結(jié)束,如果不是工作在過程結(jié)束,如果不是工作在自動初始化方式,則這一通道的屏蔽位置位,自動初始化方式,則這一通道的屏蔽位置位,必須再次編程為允許,才
26、能進行下次必須再次編程為允許,才能進行下次DMA傳送傳送請看請看屏蔽字屏蔽字的格式的格式.單通道屏蔽字格式D7 D6 D5 D4 D3D2D1 D0任意任意0 清屏蔽位清屏蔽位1 置屏蔽位置屏蔽位00 通道通道001 通道通道110 通道通道211 通道通道3.主屏蔽字格式D7 D6 D5 D4D3D2D1D0任意任意Di0 清通道清通道I屏蔽位屏蔽位Di1 置通道置通道I屏蔽位屏蔽位.9. 狀態(tài)寄存器n可由可由CPU讀取讀取n低低4位反映讀命令這個瞬間每個通道是否位反映讀命令這個瞬間每個通道是否產(chǎn)生產(chǎn)生TC(為(為1,表示該通道傳送結(jié)束),表示該通道傳送結(jié)束)n高高4位反映每個通道的位反映每
27、個通道的DMA請求情況請求情況(為(為1,表示該通道有請求),表示該通道有請求)n狀態(tài)位在復位或被讀出后,均被清零狀態(tài)位在復位或被讀出后,均被清零.10. 臨時寄存器n在存儲器到存儲器的傳送方式下,臨時在存儲器到存儲器的傳送方式下,臨時寄存器保存從源存儲單元讀出的數(shù)據(jù),寄存器保存從源存儲單元讀出的數(shù)據(jù),該數(shù)據(jù)又被寫入到目的存儲單元該數(shù)據(jù)又被寫入到目的存儲單元n傳送完成,臨時寄存器只會保留最后一傳送完成,臨時寄存器只會保留最后一個字節(jié),可由個字節(jié),可由CPU讀出讀出n復位使臨時寄存器內(nèi)容為零復位使臨時寄存器內(nèi)容為零.10.1.5 8237A的編程n8327A芯片的芯片的初始化編程初始化編程:只要
28、寫入命:只要寫入命令寄存器令寄存器n可先輸出主清除命令,進行軟件復位可先輸出主清除命令,進行軟件復位n然后寫入命令字然后寫入命令字n命令字影響所有命令字影響所有4個通道的操作個通道的操作.10.1.5 8237A的編程(續(xù)1)nDMA通道的通道的DMA傳送編程:傳送編程:n將存儲器起始地址寫入地址寄存器(如果采用地將存儲器起始地址寫入地址寄存器(如果采用地址減量工作,則是結(jié)尾地址)址減量工作,則是結(jié)尾地址)n將本次將本次DMA傳送的數(shù)據(jù)個數(shù)寫入字節(jié)數(shù)寄存器傳送的數(shù)據(jù)個數(shù)寫入字節(jié)數(shù)寄存器(個數(shù)要減(個數(shù)要減1)n確定通道的工作方式,寫入方式寄存器確定通道的工作方式,寫入方式寄存器n寫入屏蔽寄存器
29、復位通道屏蔽位,允許寫入屏蔽寄存器復位通道屏蔽位,允許DMA請求請求請看實例請看實例DMA通道0的刷新編程out 0dh,al;DMAC主清除命令主清除命令mov al,0out 08,al;DMAC命令字命令字mov al,0out 00,al;通道通道0的地址寄存器低字節(jié)的地址寄存器低字節(jié)out 00,al;通道通道0的地址寄存器高字節(jié)的地址寄存器高字節(jié)mov al,0ffhout 01,al;通道通道0的字節(jié)數(shù)寄存器低字節(jié)的字節(jié)數(shù)寄存器低字節(jié)out 01,al;通道通道0的字節(jié)數(shù)寄存器高字節(jié)的字節(jié)數(shù)寄存器高字節(jié)mov al,58h out 0bh,al;通道通道0模式字模式字mov al
30、,0out 0ah,al;通道通道0屏蔽字屏蔽字IBM PC/XT.10.1.5 8237A的編程(續(xù)2)n兩種方法反映兩種方法反映DMA過程結(jié)束(即終止過程結(jié)束(即終止計數(shù)、發(fā)生計數(shù)、發(fā)生TC):):n狀態(tài)寄存器的低狀態(tài)寄存器的低4位位n信號(需配合信號(需配合DACK響應信號確定通道)響應信號確定通道)n應用程序處理應用程序處理DMA傳送過程結(jié)束:傳送過程結(jié)束:n采用軟件查詢狀態(tài)字采用軟件查詢狀態(tài)字n采用硬件中斷在中斷服務程序處理采用硬件中斷在中斷服務程序處理.10.2 8237A的應用n8237A在在PC系列機的使用情況系列機的使用情況nDMA寫傳送寫傳送nDMA設定子程序設定子程序.1
31、0.2.1 8237A在IBM PC系列機上的應用nIBM PC/XT機使用一片機使用一片8237An通道通道0:動態(tài)存貯器動態(tài)存貯器DRAM刷新刷新n通道通道1:用戶使用或用戶使用或SDLC卡卡n通道通道2:內(nèi)存與軟盤的高速數(shù)據(jù)交換內(nèi)存與軟盤的高速數(shù)據(jù)交換n通道通道3:內(nèi)存與硬盤的高速數(shù)據(jù)交換內(nèi)存與硬盤的高速數(shù)據(jù)交換nIBM PC/AT機機采用兩片采用兩片8237AnDMAC1包含通道包含通道03,支持支持8位數(shù)據(jù)傳送位數(shù)據(jù)傳送nDMAC2組成組成通道通道47,通道通道57支持支持16位數(shù)據(jù)傳送,通道位數(shù)據(jù)傳送,通道4用于級連用于級連.1. 8237A的初始化n8237A初始化寫入命令字為初
32、始化寫入命令字為0,確定了:,確定了:nDREQ高電平有效、高電平有效、DACK低電平有效,固定優(yōu)先低電平有效,固定優(yōu)先權(quán)(依次為通道權(quán)(依次為通道0、17)n不進行存儲器到存儲器的數(shù)據(jù)傳輸不進行存儲器到存儲器的數(shù)據(jù)傳輸nPC機用機用DMA控制電路進行刷新,所以控制電路進行刷新,所以DMA傳送不傳送不能長時間占用總線(不應超過能長時間占用總線(不應超過15 s),一般只能),一般只能使用單字節(jié)傳送方式使用單字節(jié)傳送方式n在在PC系列機上,用戶如果使用系列機上,用戶如果使用DMA通道,要通道,要注意遵從上述系統(tǒng)要求。除了要禁止注意遵從上述系統(tǒng)要求。除了要禁止8237A工工作,用戶通常不必操作命令
33、寄存器作,用戶通常不必操作命令寄存器.2. 高位地址的形成nDMA傳送時的高位地址由傳送時的高位地址由“頁面寄存器頁面寄存器”提提供供n頁面寄存器由頁面寄存器由CPU的輸出指令實現(xiàn)寫入的輸出指令實現(xiàn)寫入nDMAC1的通道的通道0通道通道3:8237A提供系統(tǒng)提供系統(tǒng)A0A15低低16位地址,頁面寄存器輸出系統(tǒng)位地址,頁面寄存器輸出系統(tǒng)A16A23高高8位地址位地址nDMAC2的通道的通道5通道通道7:8237A提供系統(tǒng)提供系統(tǒng)A1A16的的16位地址,而系統(tǒng)位地址,而系統(tǒng)A0被強迫為邏被強迫為邏輯輯0,頁面寄存器僅輸出高,頁面寄存器僅輸出高7位地址位地址A17A23頁面寄存器不會自動增減量頁面
34、寄存器不會自動增減量高位地址在高位地址在DMADMA傳送過程中不改變傳送過程中不改變.10.2.2 DMA寫傳送CLKDCLK D0D7Q +5V外設數(shù)據(jù)外設數(shù)據(jù)外設外設DMA請求請求74LS37474LS74RESETDRQ1 DACK1IOROERS通道1工作方式mov al,45h;通道通道1方式字:方式字:;單字節(jié)寫傳送,地址增量,非自動初始化單字節(jié)寫傳送,地址增量,非自動初始化out 0bh,alnop;延時延時nopout 0ch,al;清高清高/低觸發(fā)器命令低觸發(fā)器命令DMA寫傳送通道1起始地址mov al,0out 02h,al;寫入低寫入低8位地址到地址寄存器位地址到地址寄存
35、器mov al,50hout 02h,al;寫入中寫入中8位地址到地址寄存器位地址到地址寄存器mov al,04hout 83h,al;寫入高寫入高8位地址到頁面寄存器位地址到頁面寄存器DMA寫傳送通道1傳送字節(jié)數(shù)mov ax,2048-1;AX傳送字節(jié)數(shù)減傳送字節(jié)數(shù)減1out 03h,al;送字節(jié)數(shù)低送字節(jié)數(shù)低8位到字節(jié)數(shù)寄存器位到字節(jié)數(shù)寄存器mov al,ahout 03h,al;送字節(jié)數(shù)高送字節(jié)數(shù)高8位到字節(jié)數(shù)寄存器位到字節(jié)數(shù)寄存器mov al,01out 0ah,al;單通道屏蔽字:允許通道單通道屏蔽字:允許通道1的的DMA請求請求;其他工作其他工作DMA寫傳送通道1傳送結(jié)束判斷dmalp:in al,08h;讀狀態(tài)寄存器讀狀態(tài)寄存器and al,02h;判斷通道判斷通道1是否傳送結(jié)束是否傳送結(jié)束jz dmalp;沒有結(jié)束,則循環(huán)等待沒有結(jié)束,則循環(huán)等待;傳送結(jié)束,處理轉(zhuǎn)換數(shù)據(jù)傳送結(jié)束,處理轉(zhuǎn)換數(shù)據(jù)DMA寫傳送DMADMA傳送過程結(jié)束的判斷:傳送過程結(jié)束的判斷:軟件查詢方式軟件查詢方式.10.2.3 DMA設定子程序n系統(tǒng)系統(tǒng)ROM-BIOS的的DMA設定子程序:設定子程序:DMA通道通道2傳送編程傳送編程n軟盤的讀寫利用軟盤的讀寫利用DMA通道通道2傳送數(shù)據(jù)傳送
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年黑龍江省建筑安全員C證(專職安全員)考試題庫
- 2025年遼寧省安全員-B證考試題庫及答案
- 2025四川省安全員B證考試題庫及答案
- 2025上海市建筑安全員-C證(專職安全員)考試題庫
- 醫(yī)院物品租賃合同范本
- cfr運輸合同范本
- 兼職散打老師合同范本
- 廠房改公寓出租合同范例
- 2025天津市安全員《B證》考試題庫及答案
- 2025年江蘇省安全員-A證考試題庫及答案
- 材料化學課件
- 智能傳感器芯片
- -《多軸數(shù)控加工及工藝》(第二版)教案
- 智能交通概論全套教學課件
- 生物醫(yī)學工程倫理 課件全套 第1-10章 生物醫(yī)學工程與倫理-醫(yī)學技術(shù)選擇與應用的倫理問題
- 燒結(jié)機安裝使用說明書
- 新戰(zhàn)略營銷課件
- (完整版)部編一年級下冊語文《春夏秋冬》ppt
- 人文地理學考試名詞解釋全套
- 新華書店業(yè)務崗位職責共3篇
- 統(tǒng)編版五年級下冊第五單元 習作:形形色色的人 課件 (共16張PPT)
評論
0/150
提交評論