微機(jī)系統(tǒng)與接口課件2012-2013學(xué)年-第5章_第1頁(yè)
微機(jī)系統(tǒng)與接口課件2012-2013學(xué)年-第5章_第2頁(yè)
微機(jī)系統(tǒng)與接口課件2012-2013學(xué)年-第5章_第3頁(yè)
微機(jī)系統(tǒng)與接口課件2012-2013學(xué)年-第5章_第4頁(yè)
微機(jī)系統(tǒng)與接口課件2012-2013學(xué)年-第5章_第5頁(yè)
已閱讀5頁(yè),還剩49頁(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)介

第5章-6DMA控制接教學(xué)重點(diǎn)8237A 結(jié)構(gòu)和工作方8237A寄存器組的作8237A的編程與應(yīng)5.1DMA直 器存取DMA(DirectMemory傳送方式通常用來(lái)高速傳送大批量的數(shù)據(jù)硬盤(pán)和軟盤(pán)快速通信通道多處理機(jī)和多程序數(shù)據(jù)塊傳送在圖像處理中,對(duì)CRT屏幕送數(shù)據(jù)快 DRAM的刷新操 器和外設(shè)間直接開(kāi)辟的高速數(shù)據(jù)傳輸通路,不 數(shù)據(jù)的傳輸過(guò)程完全由硬件控制,稱(chēng)為DMA控制向CPU申請(qǐng)DMA傳送在CPU允許DMA工作在DMA期間管理系統(tǒng)總線、控制數(shù)據(jù)傳送確定數(shù)據(jù)傳送的起始地址和數(shù)據(jù)長(zhǎng)度,修正傳送過(guò)程中的數(shù)據(jù)地址;數(shù)據(jù)傳送完畢,給出DMADMA控制器每個(gè) 有4個(gè)DMA通道每個(gè)DMA 有不同的優(yōu)先權(quán)每個(gè)DMA通道可以分別允許 每個(gè)DMA通道有4種工作方式一次傳送的最大長(zhǎng)度可達(dá)多個(gè) 可以級(jí)聯(lián),擴(kuò)展通道數(shù)8237A的引腳 結(jié)外部引腳 結(jié)構(gòu)相對(duì)都比較復(fù)雜應(yīng)用觀點(diǎn) 主要由兩類(lèi)寄存器組通道寄存控制和狀態(tài)寄存首先分類(lèi)展開(kāi)外部引8237ADREQ0~DREQ3:DMA通道請(qǐng)求。當(dāng)外設(shè)需要請(qǐng)求DMA服務(wù)時(shí),將DREQ信號(hào)置成有效電HRQ:總線請(qǐng)求。8237A輸出有效的HRQ高電HLDA:總線響應(yīng)。8237A接受來(lái)自CPU的響應(yīng)DACK0~DACK3:DMA通道響應(yīng)。8237A使8237AA0~A7:地址線。輸出低8 器地址DB0~DB7:數(shù)據(jù)線。輸出高8位器地址;有效,把在DB0~DB7上輸出的高8位地址鎖存AEN:地址允許。輸出高有效,在DMA傳送期間,該信號(hào)有效時(shí),與CPU連接的地址鎖存器使用系統(tǒng)總線,同時(shí)將鎖存的高8位地址送入系統(tǒng)總線,與此時(shí)輸出的低8位地址組成16位器地址。2.傳送控制信號(hào)(續(xù) 器讀。有效將數(shù)據(jù) 器讀 器寫(xiě)。有效將數(shù)據(jù)寫(xiě) IOR*:I/O讀。有效將數(shù)據(jù)從外設(shè)讀IOW*:I/O寫(xiě)。有效將數(shù)據(jù)寫(xiě)入外READY:準(zhǔn)備好。DMA傳送的S3下降沿檢測(cè)到為低時(shí),等待狀態(tài)Sw,直到READY為EOP*:過(guò)程結(jié)束。DMA傳送過(guò)程結(jié)束,輸出一個(gè)低有效脈沖。外部輸入低脈沖信號(hào),則終8237A3.DB0~DB7:數(shù)據(jù)線。用于8237A與微處理器 A0~A3:地址線。用以選 寄存器CS*:片選。低有效時(shí),微處理器與8237A通IOR*:I/O讀 寄存器IOW*:I/O寫(xiě)。寫(xiě)入 寄存器CLK:時(shí)鐘???操作和數(shù)據(jù)傳輸RESET:復(fù)位。使8237A處于初始狀8237A8237A具有兩種工作狀空閑周期作為接口電路,受CPU控制的工作狀有效周期作為DMAC控制DMA傳送的工作狀于是,引腳分成兩種作8237A與CPU連(空閑周期)的與外設(shè)連(有效周期)的CLK、AEN、ADSTB、READY、A0~A3、CS*、A0~A7、IOR*、IOR*、IOW*、MEMR*、HRQ、DREQ0~DREQ3、8237A 8237A 定時(shí)和控制單產(chǎn)生 定時(shí)與外部控制命令命令控制單在空閑周期里對(duì)CPU在編程時(shí)送來(lái)優(yōu)先權(quán)控制單決定各通道的優(yōu)先權(quán)次8237A的寄全部都用地址A0~A3區(qū)8237A

每個(gè)通道均有保持DMA傳送的當(dāng)前地址值每次傳送后該寄存器的值自動(dòng)加1或減這個(gè)寄存器的值可由CPU寫(xiě)入和讀出每個(gè)通道均有

保持DMA傳送的剩余字節(jié)數(shù)每次傳送后,該寄存器的值減這個(gè)寄存器的值可由CPU寫(xiě)入和讀出該寄存器的值減至0,再減1(從0減到FFFFH)時(shí),終止計(jì)數(shù)傳送N個(gè)字節(jié),初始值為CPU與8237A之間通過(guò)8位數(shù)據(jù)總線交換需要兩次讀寫(xiě)操作才能實(shí)現(xiàn)CPU8237A之間的一個(gè)完整數(shù)據(jù)的交換8237A內(nèi)含一個(gè)高/低觸發(fā)器,用來(lái)控制高/該觸發(fā)器為0,控制讀寫(xiě)低字節(jié)該觸發(fā)器為1,控制讀寫(xiě)高字節(jié)軟、硬件復(fù)位后,觸發(fā)器為每次讀寫(xiě)通道寄存器,自動(dòng)改變觸發(fā)器狀態(tài)。如果對(duì)16位寄存器的操作用兩次連續(xù)清除高/低觸發(fā)器軟件命令(A3A2A1A01100)將使高/低觸發(fā)器清3清除高/低觸發(fā)器軟件命A3A2A1A0=1100,使高/低觸發(fā)器清 AL,0XXH;0XXH為AL中任意值 0CH,AL主清除命A3A2A1A0=1101,使高/低觸發(fā)器清還使命令、狀態(tài)、請(qǐng)求、臨時(shí)寄存器清 寄存器置為全 DMA請(qǐng)求主清除命令與硬件的RESET信號(hào)具有相同的功 寄存器命A3A2A1A0=1110,使4 位都清零(允許DMA請(qǐng)求工作方式寄存每個(gè)通道均有存放相應(yīng)通道的方式控制字選擇某個(gè)DMA通道的工作方式其中用最低2位選擇哪個(gè)DMA請(qǐng)看方式字的格D7D3D100請(qǐng)0地0 1

D

00通道01通道通道通道四個(gè)通道共有存放 令字設(shè)置 的操作方式復(fù)位時(shí)使命令寄存器清零設(shè)置D2=1才使8237A可以作為DMA請(qǐng)看命令字的格 器之間傳允 器之間傳存放軟件DMA請(qǐng)求狀態(tài)除硬件DMA請(qǐng)求外,當(dāng)工作在數(shù)據(jù)塊傳送方式時(shí)也可以通過(guò)軟件發(fā)出DMA請(qǐng)求;若是存貯器到存貯器傳送,則必須由軟件請(qǐng)看請(qǐng)求字的格任復(fù)任復(fù)置00通道01通道通道通道D7D6D5D4D1控制外設(shè)硬件DMA請(qǐng)求是否被響應(yīng)(0允單通 字只對(duì)一個(gè)DMA通 位進(jìn)行設(shè) 字對(duì)4個(gè)DMA通 位同時(shí)進(jìn)行設(shè) 寄存器命令使4 位都清零(允許復(fù)位使4個(gè)通道全置于當(dāng)一個(gè)通道的DMA過(guò)程結(jié)束,如果不是工作在自動(dòng)初始化方式,則這一通道的位置位,請(qǐng) 字的格單通 D7D6D5D4D1任 0 1 00通道01通道通道通道 D7D6D5任Di=0清通道 Di=1置通道 可由低4位反映讀命令這個(gè)瞬間每個(gè)通道是否產(chǎn)生計(jì)數(shù)終點(diǎn)TC(為1,表示該通道傳高4位反映每個(gè)通道的DMA請(qǐng)求情況(為1,表示該通道有請(qǐng)求狀態(tài)位在復(fù)位或被讀出后,均被清在器到器的傳送方式下,該寄存器保存從源單元讀出的數(shù)據(jù),該數(shù)據(jù)又被寫(xiě)入到目的單元傳送完成,該寄存器只會(huì)保留最后一個(gè)復(fù)位使臨時(shí)寄存器內(nèi)容為8237A的任一通道都沒(méi)有DMA請(qǐng)求8237A由微處理器控制作為一個(gè)接CPU可對(duì)8237A編程,或從 狀8237A采樣CS*選片信號(hào),該信號(hào)有效,就要對(duì)8237A進(jìn)行讀/8237A還采樣通道的請(qǐng)求輸入信號(hào)DREQ,該進(jìn)入有效周5.2.28237A的工作時(shí)序·有效周8237A采樣到外設(shè)有DMA請(qǐng)求,就脫離8237A作為系統(tǒng)的主控 ,控制DMADMA傳送借用系統(tǒng)總線完成,其控制進(jìn)入DMA傳送時(shí)SI狀態(tài)——S0狀態(tài)——等待CPU給出HLDA信S1狀態(tài)——輸出16 器地AEN輸出高電平,表示DMA傳S2狀態(tài)——輸出DMA響應(yīng)信號(hào)和控制DMA寫(xiě):IOR*和MEMW*S3和Sw狀態(tài)——檢測(cè)數(shù)據(jù)傳送是否能夠完成,決定是 等待狀態(tài)S4狀態(tài)——完成數(shù)據(jù)傳DMA傳送時(shí)5.2.38237ADMA傳送方單字節(jié)傳送方 ·數(shù)據(jù)塊傳送方請(qǐng)求傳送方 ·級(jí)聯(lián)方DMA傳送類(lèi) ·DMA寫(xiě)·DMA檢器 器的傳每次DMA傳送時(shí)僅傳送一個(gè)字傳送一個(gè)字節(jié)之后,字節(jié)數(shù)寄存器減1,地址8237A釋放系統(tǒng)總線,將控制權(quán)還給若傳送后使字節(jié)數(shù)從0減到FFFFH,則終結(jié)DMA傳送或重新初始特點(diǎn)一次傳送一個(gè)字節(jié),效率略DMA傳送之間CPU有機(jī)會(huì)重新獲取總線控制由EQ啟動(dòng)就連續(xù)地傳送數(shù)據(jù),直到字節(jié)數(shù)寄存器從0減到FFF終止計(jì)數(shù),或由外部輸入有效信號(hào)終結(jié)A傳送DREQ只需維持有效到DACK有特點(diǎn)一次請(qǐng)求傳送一個(gè)數(shù)據(jù)塊,效整個(gè)DMA傳送期間CPU長(zhǎng)時(shí)間無(wú)法控制總線(無(wú)法響應(yīng)其他DMA請(qǐng)求、無(wú)法處理中用于通過(guò)多個(gè)8237A級(jí)連以擴(kuò)展通第二級(jí)的HRQ和HLDA信號(hào)連到第一級(jí)第二級(jí) 的優(yōu)先權(quán)等級(jí)與所連通道的第一級(jí)只起優(yōu)先權(quán)網(wǎng)絡(luò)的作用,實(shí)際的 還可由第二級(jí)擴(kuò)展到第三級(jí)DREQ信號(hào)有效就連續(xù)傳送數(shù)DREQ信號(hào)無(wú)效,DMA傳送被暫時(shí)中止,8237A釋放總線,CPU可繼續(xù)DMA通道的地址和字節(jié)數(shù)的中間值仍被DREQ信號(hào)再次有效,DMA傳送就繼續(xù)進(jìn)如果字節(jié)數(shù)寄存器從0減到FFFFH,或者由外特點(diǎn)DMA操作可由外設(shè)利用DREQ信號(hào)控制傳送的過(guò)DMADMA讀——把數(shù)據(jù) 器傳送到外由MEMR*有效從 器讀出數(shù)據(jù),由IOW*有效把DMA寫(xiě)——把外設(shè)輸入的數(shù)據(jù)寫(xiě) 由O*有效從外設(shè)輸入數(shù)據(jù),由EW*有效把這一數(shù)據(jù)寫(xiě)入 器。DMA檢驗(yàn)——空操8237A不進(jìn)行任何檢外設(shè)可以進(jìn)行DMA校器和I/O器 固定使用通道0和通道通道0的地址寄存器存源通道1的地址寄存器存目的區(qū)地址,通道1的字傳送由設(shè)置通道0的軟件請(qǐng)求啟每傳送一字節(jié)需用8個(gè)時(shí)鐘前4個(gè)時(shí)鐘周期用通道0地址寄存器的地址從源區(qū)讀數(shù)據(jù)送入8237的暫存寄存器后4個(gè)時(shí)鐘周期用通道1地址寄存器的地址把暫存存器中的數(shù)據(jù)寫(xiě)入目的固定優(yōu)先權(quán)方式——優(yōu)先權(quán)固通道0優(yōu)先權(quán)最高,通道1其次,通道2再次,循環(huán)優(yōu)先權(quán)方式——優(yōu)先權(quán)循環(huán)變DMADMA傳送不存在嵌每當(dāng)DMA過(guò)程結(jié)束信號(hào)EOP*產(chǎn)生時(shí)(不論是 終止計(jì)數(shù)還是外部輸入該 址寄存器和基字節(jié)數(shù)寄存器的內(nèi)容,使相應(yīng)的當(dāng)前寄存器恢復(fù)為初始值, 這樣就作好了下一次DMA傳送的準(zhǔn)5.38237A 的初始化編需要查閱IBMPC/XTDMAC寄存器的端口地可先輸出主清除命令,進(jìn)行軟件復(fù)然后寫(xiě)入命令命令字影響所有4個(gè)通道的操5.38237A的編程(續(xù)實(shí)例:?jiǎn)?dòng)0號(hào)通道進(jìn)行動(dòng)態(tài)RAM刷MOVAL, ;0通道的傳送字節(jié)OUTDMA+1 ;寫(xiě)入低8位基值和當(dāng)前字節(jié)數(shù)寄存OUTDMA+1, 寫(xiě)入高8MOVAL ;工作方式,單傳,地址+1,自動(dòng)預(yù)置,;0通道。OUTDMA+0BH, ;寫(xiě)入方式寄存 DMA命令OUTDMA+8 ;寫(xiě)入命令字,允許DMAC工OUTDMA+10, ;寫(xiě) 寄存器;允許0通道請(qǐng)5.48237A在IBMPCIBMPC/XT機(jī)使用一片通道0:動(dòng)態(tài)存貯器DRAM刷通道1:用戶使通道2:內(nèi)存與軟盤(pán)的高通道3:內(nèi)存與硬盤(pán)的高IBMPC/AT機(jī)采用兩片DMAC1包含通道0~3,支持8位數(shù)據(jù)DMAC2組成通道4~7,通道5~7支持16位8237A8237A初始化寫(xiě)入命令字為0,確定了EQ高電平有效、K低電平有效,固定優(yōu)先權(quán)(依次為通道)不進(jìn) 器 器的數(shù)據(jù)傳C機(jī)用A控制電路進(jìn)行刷新,所以A傳送不能長(zhǎng)時(shí)間占用總線(不應(yīng)超過(guò)15s),一般只能使用單字節(jié)傳送方式在PC系列機(jī)上,用戶如果使用DMA通道,要注意遵從上述系統(tǒng)要求。除了要8237A工A傳送時(shí)的高4位地址由“頁(yè)面寄存器”提供采用四組4位寄存器堆電路74LS670

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論