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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

數(shù)字量輸入輸出控制系統(tǒng)第1頁,課件共60頁,創(chuàng)作于2023年2月CPUDMAC(i8237)內(nèi)存外設總線響應總線請求第2頁,課件共60頁,創(chuàng)作于2023年2月

DMA控制器的功能1、編程設定DMA的傳輸方式、訪問的內(nèi)存地址、字節(jié)數(shù)2、對DMA請求(DREQ)屏蔽或允許,確定優(yōu)先級3、向CPU提出總線請求信號(HRQ)4、接收CPU總線響應信號(HLDA),接管總線5、向被響應的設備傳達DMA允許信號(DACK)6、管理傳送數(shù)據(jù),修改儲存器地址和計數(shù)字節(jié)7、傳輸完畢,發(fā)出EOP結束信號,CPU收回總線控制權第3頁,課件共60頁,創(chuàng)作于2023年2月

I/O向DMACDMAC向CPU響應DMAC向發(fā)請求CPU發(fā)請求DMAC請求I/O發(fā)響應DMA傳送結束DMA傳送進行DMAC發(fā)出控制信號DMAC發(fā)出內(nèi)存地址DMA工作過程第4頁,課件共60頁,創(chuàng)作于2023年2月8237內(nèi)部結構

8237A有4個獨立的DMA通道內(nèi)部寄存器基址寄存器(4個)和當前地址寄存器(4個)基字節(jié)計數(shù)器(4個)和當前字節(jié)計數(shù)器(4個)臨時地址寄存器狀態(tài)寄存器命令寄存器臨時寄存器模式寄存器(4個)

屏蔽寄存器請求寄存器第5頁,課件共60頁,創(chuàng)作于2023年2月第6頁,課件共60頁,創(chuàng)作于2023年2月8237外部引腳第7頁,課件共60頁,創(chuàng)作于2023年2月8237A主從兩面性:作為DMAC,8237A是可控制總線的主模塊。作為I/O芯片,8237A可被處理器讀寫。注意8237A主-從地址的變化。第8頁,課件共60頁,創(chuàng)作于2023年2月8237A引線說明:DB7-DB0:雙向數(shù)據(jù)總線。8237A為從模塊時被處理器編程或讀狀態(tài),DB7-DB0作為數(shù)據(jù)線,傳輸數(shù)據(jù)或命令字。8237A為主模塊時DB7-DB0輸出地址A15-A8,在存儲器到存儲器傳送操作時經(jīng)DB7-DB0,將存儲器數(shù)據(jù)送8237A暫存器。A3-A0:地址線,從模塊時為輸入,處理器尋址 8237A;主模塊時輸出最低4位地址。第9頁,課件共60頁,創(chuàng)作于2023年2月A7-A4:地址線,主模塊時輸出A7-A4。CS:

片選,從模塊時處理器用來尋址8237A。IOR,IOW:I/O讀寫控制,雙向。8237A在從模塊時 為輸入,在主模塊時為輸出。AEN

輸出,DMA地址允許信號,高電平有效ADSTB輸出:8位地址選通信號;在主模塊時允許外部鎖存器鎖存8237A的高8位地址。MEMR,MEMW:輸出,存儲器讀寫控制,主模塊時送存儲器。READY:輸入,準備就緒,主模塊時控制總線周期的長度,與慢速設備同步。第10頁,課件共60頁,創(chuàng)作于2023年2月RESET:輸入,復位信號,復位時屏蔽寄存器置 1,其它寄存器置0。EOP:雙向。輸出時,表明內(nèi)部通道傳送結束; 輸入時,表明外部強迫DMA傳送停止。DREQ0-DREQ3:I/O設備DMA請求輸入信號。DACK0-DACK3:輸出DMA請求的響應。HRQ:8237A向處理器發(fā)出的總線請求信號。HLDA:處理器發(fā)給8237A的總線請求響應信號。第11頁,課件共60頁,創(chuàng)作于2023年2月第12頁,課件共60頁,創(chuàng)作于2023年2月第13頁,課件共60頁,創(chuàng)作于2023年2月DMA時序圖(P347圖5.64)可作外設片選

交出總線(AB/DB/CB)第14頁,課件共60頁,創(chuàng)作于2023年2月8237的工作模式1.單字節(jié)傳輸模式(singletransfermode)2.塊傳輸模式(blocktransfermode)3.請求傳輸模式(demandtransfermode)4.級聯(lián)模式(cascademode)第15頁,課件共60頁,創(chuàng)作于2023年2月1.單字節(jié)傳輸模式(singletransfermode)

在單字節(jié)傳輸方式下,DMA控制器每次請求總線只傳送一個字節(jié)數(shù)據(jù),傳送完后即釋放總線控制權。在此方式下,總線控制權處于CPU與DMA控制器交替控制之中,其間,總線控制權經(jīng)過多次交換。以從內(nèi)存輸出一個字節(jié)數(shù)據(jù)到外設的DMA傳送過程為例,具體說明DMA的操作過程。第16頁,課件共60頁,創(chuàng)作于2023年2月(6)內(nèi)存把數(shù)據(jù)送數(shù)據(jù)總線(7)接口鎖存數(shù)據(jù)內(nèi)存接口DMA控制器I/O設備8086和總線控制邏輯HOLDHLDA(1)接口準備就緒,發(fā)DMA請求(2)發(fā)總線請求(3)總線允許(5)DMA請求得到確認(9)8086收回總線控制權(8)撤銷總線請求(4)DMA控制器把地址送地址總線數(shù)據(jù)總線控制總線地址總線圖11.10以DMA方式輸出一個字節(jié)數(shù)據(jù)的工作過程第17頁,課件共60頁,創(chuàng)作于2023年2月若從外設往內(nèi)存輸入一個數(shù)據(jù)塊(輸入過程),在單字節(jié)傳輸模式下,其主要工作過程為:(1)I/O接口向DMA控制器發(fā)送DMA請求信號;(2)DMA控制器向CPU發(fā)總線請求信號,當?shù)玫紺PU送來的總 線允許信號后,DMA控制器獲得總線控制權;(3)DMA控制器將其地址寄存器的內(nèi)容送到地址總線上;(4)DMA控制器往I/O接口發(fā)送DMA響應信號,并接著發(fā)出 讀I/O接口信號IOR,令I/O接口把數(shù)據(jù)送到數(shù)據(jù)總線上;(5)DMA控制器發(fā)出存儲器寫信號MEMW,將數(shù)據(jù)傳送到由地 址總線上的地址所指向的內(nèi)存單元;(6)DMA控制器放棄對總線的控制權;(7)地址寄存器加1;(8)字節(jié)計數(shù)寄存器減1;(9)如果字節(jié)計數(shù)寄存器的值不為零,則返回第一步,否則結 束。

第18頁,課件共60頁,創(chuàng)作于2023年2月8237僅在空閑狀態(tài)SI(CPU控制總線)時,采樣DREQ信號并進行優(yōu)先級比較,一旦進入DMA過程,8237只在S1—S4之間循環(huán),不能再對DREQ信號進行采樣或優(yōu)先級比較,即不會發(fā)生DMA嵌套。單字節(jié)傳輸模式的優(yōu)點是系統(tǒng)總線不至于長時間陷入對某一個DMA通道的服務。PC系列中給用戶提供的DMA通道只允許使用單字節(jié)傳輸模式。仍比查詢、中斷方式快很多第19頁,課件共60頁,創(chuàng)作于2023年2月2.塊傳輸模式(blocktransfermode)

塊傳輸模式是指DMA控制器每次請求總線即連續(xù)傳送一個數(shù)據(jù)塊,待整個數(shù)據(jù)塊全部傳送完成后再釋放總線控制權。這種模式傳輸效率較高。一次所傳送數(shù)據(jù)塊的最大長度可達64KB由于在DMA數(shù)據(jù)傳送期間,CPU須將總線控制權交給DMAC,這相當于斷絕了CPU與存儲器等外部器件的往來,致使CPU無法獲得執(zhí)行所需的指令和數(shù)據(jù),也無法獲得外部的中斷請求信號,這一方面會影響CPU的工作,同時也將影響整個系統(tǒng)的運轉。因此,一次DMA傳送的時間不宜過長,以免對整個系統(tǒng)造成不可挽回的影響。第20頁,課件共60頁,創(chuàng)作于2023年2月3.請求傳輸模式(demandtransfermode)

和塊傳輸模式相比,僅多了一個功能,即可以通過撤銷DREQ信號來打斷傳輸過程。每傳輸完一個字節(jié),DMA控制器都要檢測由I/O接口發(fā)來的“DMA請求”信號(DREQ信號)是否仍然有效,如果該信號仍有效,則繼續(xù)進行DMA傳輸;否則,就暫停傳輸,交還總線控制權給CPU,直至“DMA請求”信號再次變?yōu)橛行?,?shù)據(jù)塊傳輸則從剛才暫停的那一點繼續(xù)進行下去。請求傳輸模式允許DMA過程在單字節(jié)傳輸模式和塊傳輸模式之間自動切換,增加了靈活性,降低了對I/O設備傳輸速度的要求:如果I/O設備速度足夠快,則進行塊傳輸;如果I/O設備速度較慢,則隨時可以等一下。第21頁,課件共60頁,創(chuàng)作于2023年2月4.級聯(lián)模式(cascademode)

在級聯(lián)方式下,將多個8237級聯(lián)起來,以擴展DMA通道數(shù)。后一級的HRQ和HLDA信號連到前一級的DREQ和DACK上。在級聯(lián)方式下,當?shù)诙?237的請求得到響應時,第一級8237僅輸出HRQ信號而不能輸出地址及控制信號,因為第二級的8237才是真正的主控制器,而第一級的8237僅應起到傳遞DREQ請求信號及DACK應答信號的作用。第22頁,課件共60頁,創(chuàng)作于2023年2月8237的操作類型在前三種工作方式下,DMA傳送有三種類型:

DMA讀傳送、DMA寫傳送、DMA校驗傳送

DMA讀:是指把數(shù)據(jù)由存儲器傳送至I/O接口,操作時先由 /MEMR有效從存儲器讀出數(shù)據(jù)放在數(shù)據(jù)總線上,然 后再由/IOW有效把數(shù)據(jù)寫入I/O接口。

DMA寫:是指把數(shù)據(jù)由I/O接口傳送至存儲器,操作時先由IOR 有效從I/O接口讀出數(shù)據(jù)放在數(shù)據(jù)總線上,然后再由 /MEMW有效把數(shù)據(jù)寫入存儲器.

DMA校驗:也被稱為假傳送(pseudotransfers)。在校驗傳送 時,8237雖然也像讀傳送或寫傳送一樣地產(chǎn)生地址以 及EOP信號等,但存儲器和I/O接口的讀、寫控制信號 均處于無效狀態(tài),所以實際上并不進行數(shù)據(jù)傳送。 這種傳送類型一般是用于對DMAC器件測試時使用。第23頁,課件共60頁,創(chuàng)作于2023年2月8237的存儲器到存儲器的傳送方式(1)

要使用兩個通道共同完成存儲器到存儲器的傳送方式通道0作DMA讀 通道1作DMA寫通道0的地址寄存器編程為源區(qū)地址; 通道1的地址寄存器編程為目的區(qū)地址, 通道1的字節(jié)計數(shù)寄存器編程為傳送的字節(jié)數(shù)。由于此傳送過程沒有外部設備參與,因此沒有外部引入的DREQ信號來啟動DMA操作。于是,需要對通道0寫入一個軟件DREQ請求命令,產(chǎn)生HRQ信號啟動DMA。第24頁,課件共60頁,創(chuàng)作于2023年2月每傳送一個字節(jié)要用8個S狀態(tài),前4個狀態(tài)為DMA讀,后4個狀態(tài)為DMA寫。通道0以當前地址寄存器內(nèi)容為源地址到源存儲器讀出數(shù)據(jù)送入8237內(nèi)部的暫存寄存器,然后以通道1將自己的當前地址寄存器內(nèi)容放到地址總線上,發(fā)出/MEMW有效信號,把數(shù)據(jù)從暫存寄存器中寫入目的區(qū)。每傳送一個字節(jié),源地址和目的地址都要修改(增1或減1),字節(jié)數(shù)減1。直至通道1的字節(jié)計數(shù)結束,產(chǎn)生EOP有效信號,才停止DMA傳送。也允許外部輸入EOP有效信號來中止傳輸。8237的存儲器到存儲器的傳送方式(2)第25頁,課件共60頁,創(chuàng)作于2023年2月此時8237是作為CPU的I/O接口芯片:CS選中芯片地址信號A3~A0選擇內(nèi)部寄存器IOW和IOR決定對寄存器是讀還是寫8237初始化編程第26頁,課件共60頁,創(chuàng)作于2023年2月寄存器名稱位長數(shù)量基地址寄存器16位4基字節(jié)計數(shù)寄存器16位4當前地址寄存器16位4當前字節(jié)計數(shù)寄存器16位4臨時地址寄存器16位1臨時字節(jié)計數(shù)寄存器16位1命令寄存器8位1狀態(tài)寄存器8位1暫存寄存器8位1模式寄存器6位4屏蔽寄存器4位1請求寄存器4位1第27頁,課件共60頁,創(chuàng)作于2023年2月A3A2A1A0通道號讀操作(IOR)寫操作(IOW)00000讀當前地址寄存器寫基(當前)地址寄存器0000讀當前字節(jié)數(shù)寄存器寫基(當前)字節(jié)計數(shù)寄存器00101讀當前地址寄存器寫基(當前)地址寄存器0011讀當前字節(jié)數(shù)寄存器寫基(當前)字節(jié)計數(shù)寄存器01002讀當前地址寄存器寫基(當前)地址寄存器0101讀當前字節(jié)數(shù)寄存器寫基(當前)字節(jié)計數(shù)寄存器01103讀當前地址寄存器寫基(當前)地址寄存器0111讀當前字節(jié)數(shù)寄存器寫基(當前)字節(jié)計數(shù)寄存器1000四個通道公用讀狀態(tài)寄存器寫命令寄存器1001--寫請求寄存器1010--寫屏蔽寄存器某一位1011--寫模式寄存器1100--清除高低位觸發(fā)器命令1101讀暫存寄存器主清除命令1110--清除屏蔽寄存器1111--寫屏蔽寄存器所有位8237寄存器的尋址第28頁,課件共60頁,創(chuàng)作于2023年2月進行DMA傳輸前,對各寄存器寫不同的內(nèi)容,即進行初始化編程。初始化內(nèi)容分為數(shù)值型和功能型第29頁,課件共60頁,創(chuàng)作于2023年2月1.數(shù)值型每個通道將傳輸中要訪問的存儲器的初始地址寫入基地址寄存器和當前地址寄存器(同時寫入),把要求傳輸?shù)淖止?jié)數(shù)寫入基字節(jié)數(shù)計數(shù)器和當前字節(jié)計數(shù)器(同時寫入).

從高/低觸發(fā)器零狀態(tài)起,先寫入低字節(jié),再寫入高字節(jié)第30頁,課件共60頁,創(chuàng)作于2023年2月高/低觸發(fā)器D7~D0IOW低字節(jié)低字節(jié)高字節(jié)高字節(jié)第31頁,課件共60頁,創(chuàng)作于2023年2月每傳送一個字節(jié),當前寄存器內(nèi)容加1或減1(由模式寄存器設定)修正,當前字節(jié)數(shù)計數(shù)器從初始值減到0,還要再傳輸一個字節(jié),從0變成0FFFFH后,才發(fā)出EOP信號結束DMA過程.

初始化編程時把真正傳輸?shù)淖止?jié)數(shù)減1后再寫到字節(jié)數(shù)計數(shù)器中.第32頁,課件共60頁,創(chuàng)作于2023年2月如設置了自動重置功能,當EOP信號產(chǎn)生時,將自動把基地址寄存器和基字節(jié)數(shù)寄存器的內(nèi)容再次置入當前地址寄存器和當前字節(jié)數(shù)寄存器,重復DMA傳輸.

自動重置功能在寫模式寄存器時由D5寫入第33頁,課件共60頁,創(chuàng)作于2023年2月2.功能型命令寄存器模式寄存器請求寄存器屏蔽寄存器狀態(tài)寄存器第34頁,課件共60頁,創(chuàng)作于2023年2月0禁止存儲器到存儲器傳送1

允許存儲器到存儲器傳送D0D1D2D3D4D5D6D70DACK低電平有效1DACK高電平有效0DREQ高電平有效1DREQ低電平有效0正常寫1擴展寫X若D3=10固定優(yōu)先權1循環(huán)優(yōu)先權0禁止通道0地址保存1允許通道0地址保存X若D0=00允許8237工作1禁止工作0普通時序1壓縮時序命令寄存器第35頁,課件共60頁,創(chuàng)作于2023年2月

0123最高最低4個通道優(yōu)先級從高到低的次序為:通道0,1,2,3固定優(yōu)先權最高使剛服務過的通道i的優(yōu)先級變?yōu)樽畹?使通道i+1的優(yōu)先級變?yōu)樽罡?例如,設某次傳輸后優(yōu)先級次序為通道:

2301最高最低若通道2服務,后優(yōu)先級次序變?yōu)?

3012最高最低旋轉優(yōu)先權第36頁,課件共60頁,創(chuàng)作于2023年2月D7D6規(guī)定DACK和DREQ有效極性D5D3選擇工作時序D4規(guī)定優(yōu)先權編碼方式存儲器到存儲器傳輸時,若D1=1,允許將通道1指定的目的存儲器一批單元的內(nèi)容全傳到通道0指定的源區(qū)的某一單元內(nèi)容

D2=1,禁止本片工作一片8237僅一個命令控制字,其內(nèi)容對4個通道都有效。復位后,各位都清零。第37頁,課件共60頁,創(chuàng)作于2023年2月00校驗傳送01寫傳送10讀傳送11非法XX若D7D6=11D0D1D2D3D4D5D6D70地址增一1地址減一0不重置1自動重置00選擇通道001選擇通道110選擇通道211選擇通道300請求傳送方式01單字節(jié)傳送方式10塊傳送方式11級聯(lián)方式模式寄存器第38頁,課件共60頁,創(chuàng)作于2023年2月D0D1D2D3D4D5D6D700

選擇通道001

選擇通道110

選擇通道211

選擇通道30

清除請求1

設置請求無關請求寄存器每個通道都有一個請求位可用軟件命令對其進行置位/復位操作第39頁,課件共60頁,創(chuàng)作于2023年2月對請求位的置位等效于外部產(chǎn)生一個有效的DREQ(I/O設備的DMA請求信號)信號,二者的優(yōu)先級排隊情況也一樣。軟件請求不受屏蔽寄存器控制,但只能用于塊傳送方式。存儲器到存儲器的傳送只能用通道0的軟件請求啟動。一個通道的DMA結束時,其請求位被復位。整個芯片的復位操作清除全部請求寄存器。關于請求寄存器第40頁,課件共60頁,創(chuàng)作于2023年2月D7D6D5D4D3D2D1D000

選擇通道001

選擇通道110

選擇通道211

選擇通道30

清除屏蔽位1

置位屏蔽位無關寄存器地址A3~A0=1010B屏蔽控制字格式1-控制屏蔽某一通道屏蔽寄存器是公共的某位置‘1’時,外部對應的DREQ信號被屏蔽,不予響應第41頁,課件共60頁,創(chuàng)作于2023年2月D7D6D5D4D3D2D1D0無關0

不屏蔽通道01

屏蔽通道00不屏蔽通道11屏蔽通道10不屏蔽通道31屏蔽通道30不屏蔽通道21屏蔽通道2寄存器地址A3~A0=1111B

屏蔽控制字格式2-控制屏蔽4個通道第42頁,課件共60頁,創(chuàng)作于2023年2月對8237做一次寫操作(虛擬寫,沒有電路接收數(shù)據(jù)總線上的數(shù)據(jù)),則將清除屏蔽寄存器所有位(4個通道全開放)。

此時數(shù)據(jù)總線上可為任意值一般情況下,通道在一次DMA傳送結束后,自動設置屏蔽位,再次傳輸需要用軟件清除屏蔽位。自動重置在每次DMA傳送結束后不設置屏蔽。清除屏蔽寄存器(地址A3~A0=1110B)第43頁,課件共60頁,創(chuàng)作于2023年2月D7D6D5D4D3D2D1D01通道3請求1

通道2請求1通道1請求1通道0請求1通道0傳輸結束1

通道1傳輸結束1

通道2傳輸結束1通道3傳輸結束狀態(tài)寄存器第44頁,課件共60頁,創(chuàng)作于2023年2月沒有進入DMA前,CPU通過狀態(tài)字查詢。低4位反映傳輸完成情況,高4位反映請求情況。正常計數(shù)結束,或外部輸入EOP,響應相應位復位。單字節(jié)傳輸模式下,CPU獲得總線控制權,通過這種查詢了解DMA進行情況。狀態(tài)寄存器第45頁,課件共60頁,創(chuàng)作于2023年2月關于軟件命令:第46頁,課件共60頁,創(chuàng)作于2023年2月A3A2A1A0通道號讀操作(IOR)寫操作(IOW)00000讀當前地址寄存器寫基(當前)地址寄存器0000讀當前字節(jié)數(shù)寄存器寫基(當前)字節(jié)計數(shù)寄存器00101讀當前地址寄存器寫基(當前)地址寄存器0011讀當前字節(jié)數(shù)寄存器寫基(當前)字節(jié)計數(shù)寄存器01002讀當前地址寄存器寫基(當前)地址寄存器0101讀當前字節(jié)數(shù)寄存器寫基(當前)字節(jié)計數(shù)寄存器01103讀當前地址寄存器寫基(當前)地址寄存器0111讀當前字節(jié)數(shù)寄存器寫基(當前)字節(jié)計數(shù)寄存器1000四個通道公用讀狀態(tài)寄存器寫命令寄存器1001--寫請求寄存器1010--寫屏蔽寄存器某一位1011--寫模式寄存器1100--清除高低位觸發(fā)器命令1101讀暫存寄存器主清除命令1110--清除屏蔽寄存器1111--寫屏蔽寄存器所有位8237寄存器的尋址第47頁,課件共60頁,創(chuàng)作于2023年2月關于閱讀時序第48頁,課件共60頁,創(chuàng)作于2023年2月第49頁,課件共60頁,創(chuàng)作于2023年2月第50頁,課件共60頁,創(chuàng)作于2023年2月第51頁,課件共60頁,創(chuàng)作于2023年2月第52頁,課件共60頁,創(chuàng)作于2023年2月第53頁,課件共60頁,創(chuàng)作于2023年2月第54頁,課件共60頁,創(chuàng)作于2023年2月第55頁,課件共60頁,創(chuàng)作于2023年2月應用舉例(P354/P310

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論