DMA传输原理ppt.ppt
《DMA传输原理ppt.ppt》由会员分享,可在线阅读,更多相关《DMA传输原理ppt.ppt(68页珍藏版)》请在咨信网上搜索。
1、1第6章 DMA传输6.1 DMA传输原理传输原理6.2 DMA控制器控制器8237A6.3 8237A的编程使用的编程使用2直接存储器传送直接存储器传送(Direct Memory AccessDMA)将外设的数据不经过将外设的数据不经过CPU直接送入内存储器,直接送入内存储器,或者或者,从内存储器不经过从内存储器不经过CPU直接送往外部设备直接送往外部设备一次一次DMA传送只需要执行一个传送只需要执行一个DMA周期(相当于一周期(相当于一个总线读写周期),因而能够满足高速外设数据个总线读写周期),因而能够满足高速外设数据传输的需要。传输的需要。36.1 DMA传输原理1.DMA控制器控制器
2、 使用使用DMA方式传输时,需要一个专门的器件来方式传输时,需要一个专门的器件来协调外设接口和内存储器的数据传输,这个专协调外设接口和内存储器的数据传输,这个专门的器件称为门的器件称为DMA控制器,简称控制器,简称DMAC。4DMAC内部的寄存器:内部的寄存器:地址寄存器地址寄存器:存放存放DMA传输时存储单元地址;传输时存储单元地址;字节计数器字节计数器:存放存放DMA传输的字节数传输的字节数;控制寄存器控制寄存器:存放由存放由CPU设定的设定的DMA传输方式,传输方式,控制命令等控制命令等;状态寄存器状态寄存器:存放存放DMAC当前的状态,包括有无当前的状态,包括有无DMA请求,是否结束等
3、请求,是否结束等。5图图6-16 DMAC在系统中有二种不同的作用在系统中有二种不同的作用:总线从模块总线从模块:CPU对对DMAC进行预置操作,也就是向进行预置操作,也就是向DMAC写入内存传送区的首地址、传送字节数和写入内存传送区的首地址、传送字节数和控制字时,控制字时,DMAC相当于一个外设接口,称为总相当于一个外设接口,称为总线从模块。线从模块。总线主模块总线主模块:进行进行DMA传输时,传输时,CPU暂停对系统总线的控暂停对系统总线的控制,制,DMAC取得了对总线的控制权,这时的取得了对总线的控制权,这时的DMAC称为总线主模块。称为总线主模块。72.DMA传输过程传输过程 总线请求
4、总线请求:DMAC向CPU申请使用总线 总线控制转移总线控制转移:CPU同意DMAC管理总线 数据传输数据传输:外设接口和存储器之间传输数据 修改地址和计数器修改地址和计数器:为下一次传输做准备 结束处理结束处理:DMAC放弃对总线的控制权 以上的过程完全由硬件电路实现,速度很快。以上的过程完全由硬件电路实现,速度很快。用用DMA方式进行一次数据传输所经历的时间称为方式进行一次数据传输所经历的时间称为“DMA周期周期”,大体上相当于一次总线读写周期的时间。,大体上相当于一次总线读写周期的时间。8例例:用用DMA方式将串行通信口接收到的方式将串行通信口接收到的200字节字节 的数据存入以的数据存
5、入以BUFFER为首地址内存区域为首地址内存区域 对对DMAC进行预置:向进行预置:向DMAC写入内存首地址写入内存首地址,传输字传输字 节数(节数(200),传输方向(外设接口),传输方向(外设接口内存),控制命令内存),控制命令 (允许(允许DMA传输)等;传输)等;对串行通信接口进行初始化,设置串行通信的参数,允对串行通信接口进行初始化,设置串行通信的参数,允 许串行输入等;许串行输入等;串口每输入一个数据,自动进行串口每输入一个数据,自动进行DMA传输;传输;最后一个数据传输结束后,最后一个数据传输结束后,DMAC发出传输结束信号发出传输结束信号 EOP。CPU可以通过查询知道传输已经
6、结束,也可以利可以通过查询知道传输已经结束,也可以利 用用EOP信号申请中断,在中断服务程序里进行结束处理。信号申请中断,在中断服务程序里进行结束处理。DMA方式传输方式传输200字节过程为:字节过程为:1次对次对DMAC初始化,初始化,1次对串口初始化,次对串口初始化,200次次DMA周期,周期,1次结束处理。次结束处理。93.8086系统中的系统中的DMA信号信号最小模式最小模式CPU通过通过HOLD接收接收DMA控制器的总线请求;控制器的总线请求;在在HLDA引脚上发出对总线请求的允许信号。引脚上发出对总线请求的允许信号。最大模式最大模式通过通过RQ/GT0和和RQ/GT1引脚接收引脚接
7、收DMA控制器的控制器的总线请求,发送对总线请求的允许信号。总线请求,发送对总线请求的允许信号。RQ/GT0引脚有较高的优先权。引脚有较高的优先权。106.2 DMA控制器8237A1 8237A芯片的主要特点芯片的主要特点 有有4个完全独立的个完全独立的DMA通道,可分别进行编程控制。通道,可分别进行编程控制。每个通道的每个通道的DMA请求均可分别允许和禁止,并对各通道进行请求均可分别允许和禁止,并对各通道进行 优先级排队。优先级排队。数据块最大为数据块最大为64KB,每传送一个字节后地址自动加每传送一个字节后地址自动加1或减或减1。DMA请求可以由外部输入,也可以由软件设置。请求可以由外部
8、输入,也可以由软件设置。可以用级联的方法扩展可以用级联的方法扩展DMA通道数。通道数。可以进行从存储器到存储器的数据传输,用于对存储区域进可以进行从存储器到存储器的数据传输,用于对存储区域进 行初始化。行初始化。112 8237A的工作方式的工作方式(1)单字节传输方式单字节传输方式8237A每申请一次总线,进行每申请一次总线,进行1个字节传输,然后释放系个字节传输,然后释放系统总线,一次统总线,一次DMA传输结束。传输结束。CPU可以在每个可以在每个DMA周期结束后控制总线,进行数据传输,周期结束后控制总线,进行数据传输,所以不会对系统的运行产生大的影响。所以不会对系统的运行产生大的影响。(
9、2)块传输方式块传输方式 DMA控制器获得总线控制权后,可以连续进入多个控制器获得总线控制权后,可以连续进入多个DMA周周期,进行多个字节的传输(最多期,进行多个字节的传输(最多64K字节)。字节)。这种方式可以获得最高的数据传输速度。如果一次传输的数这种方式可以获得最高的数据传输速度。如果一次传输的数据较多,对系统工作可能产生一定的影响。据较多,对系统工作可能产生一定的影响。12(3)请求传输方式请求传输方式 申请一次总线可以连续进行多个数据的传输。申请一次总线可以连续进行多个数据的传输。每传输每传输1个字节后,个字节后,8237A都对外设接口的请求信号都对外设接口的请求信号 进行测试:进行
10、测试:DREQ端无效,暂停传输;端无效,暂停传输;DREQ有效,接着进行下一个数据的传输。有效,接着进行下一个数据的传输。允许数据不连续,按照外设的最高速度进行数据传输,允许数据不连续,按照外设的最高速度进行数据传输,使用比较灵活。使用比较灵活。13(4)级联传输方式级联传输方式 几个几个8237A进行级联,一片进行级联,一片8237A用作主片,其余用用作主片,其余用 作从片,构成主从式作从片,构成主从式DMA系统。系统。从片收到外设接口的从片收到外设接口的DMA请求信号后,向请求信号后,向DMA控制器控制器 主片申请,再由主片向主片申请,再由主片向CPU申请。申请。一片主片最多可以连接四片从
11、片。这样,五片一片主片最多可以连接四片从片。这样,五片8237A 构成的二级构成的二级DMA系统,可以得到系统,可以得到16个个DMA通道。通道。级联时,主片通过软件在方式寄存器中设置为级联级联时,主片通过软件在方式寄存器中设置为级联 传输方式。从片设置成上面的三种方式之一。传输方式。从片设置成上面的三种方式之一。143 8237A的传输类型的传输类型(1)DMA写传输(写传输(IO存储器)存储器)(2)DMA读传输(存储器读传输(存储器IO)(3)DMA检验检验(完成校验过程,测试(完成校验过程,测试DMA控制器的状态)。控制器的状态)。(4)存储器到存储器传输)存储器到存储器传输 15 6
12、.2.2 8237A的内部结构和外部连接的内部结构和外部连接8237A的内部结构分成二部分:的内部结构分成二部分:四个四个DMA通道通道和一个和一个公共控制公共控制部分部分16171.DMA通道通道8237A有四个独立的通道(有四个独立的通道(CH0一一CH3)每个通道每个通道:16位地址寄存器;位地址寄存器;16位字节计数器;位字节计数器;8位方式寄存器位方式寄存器;1位的位的DMA请求触发器请求触发器;1位的屏蔽触发器。位的屏蔽触发器。四个通道公用一个控制寄存器和一个状态寄存器。四个通道公用一个控制寄存器和一个状态寄存器。18DMA通道通道-地址寄存器地址寄存器 由基地址寄存器和当前地址寄
13、存器组成。由基地址寄存器和当前地址寄存器组成。对对8237编程时,把本通道编程时,把本通道DMA传输的地址初值写入基地址寄传输的地址初值写入基地址寄 存器,再由存器,再由8237A传送到当前地址寄存器。传送到当前地址寄存器。当前地址寄存器在每次当前地址寄存器在每次DMA传输后自动加传输后自动加 1或减或减1。CPU可以通过输入指令读出当前地址寄存器值可以通过输入指令读出当前地址寄存器值(每次读每次读8位位)。基地址寄存器不能被读出,且一直保持初值。基地址寄存器不能被读出,且一直保持初值。数据块传送完成后,可以把当前地址寄存器的内容恢复为基数据块传送完成后,可以把当前地址寄存器的内容恢复为基 地
14、址寄存器保存的初值。地址寄存器保存的初值。(需要在编程时设置(需要在编程时设置“自动预置自动预置”方式)方式)19DMA通道通道-字节计数器字节计数器 字节计数器由基本字节计数器和当前字节计数器组成。字节计数器由基本字节计数器和当前字节计数器组成。编程时,由指令把编程时,由指令把DMA传输的字节数写入基本字节计数器,传输的字节数写入基本字节计数器,继而传送到当前字节计数器继而传送到当前字节计数器(初值要比实际传输的字节数少初值要比实际传输的字节数少1)每进行一次每进行一次DMA传输,当前字节计数器自动减传输,当前字节计数器自动减1。它的值由。它的值由0 减到减到FFFFH(-1)时,产生计数结
15、束信号时,产生计数结束信号EOP。当前计数器的值可以由当前计数器的值可以由CPU通过输入指令分两次读出。通过输入指令分两次读出。202.读写逻辑读写逻辑8237A在系统总线中作为在系统总线中作为“从模块从模块”时时 接收接收CPU对对IO接口的读接口的读(IOR#)、写、写(IOW#)信号;信号;对地址总线的低对地址总线的低4位位(A0 A3)译码;译码;片选和片选和IOW#信号有效时,把数据总线的内容写入所寻信号有效时,把数据总线的内容写入所寻 址的寄存器址的寄存器;片选和片选和IOR#有效时,把选择的寄存器内容送到数据总有效时,把选择的寄存器内容送到数据总 线上。线上。212.读写逻辑读写
16、逻辑8237A在系统总线中作为在系统总线中作为“主模块主模块”时时 DMA写周期:写周期:读写逻辑产生读写逻辑产生IOR#控制逻辑产生存储器写(控制逻辑产生存储器写(MEMW#)数据从外设接口传送到存储器单元;数据从外设接口传送到存储器单元;DMA读周期:读周期:读写逻辑产生读写逻辑产生IOW#控制逻辑产生存储器读(控制逻辑产生存储器读(MEMR#)数据从存储器单元传送到外设接口。数据从存储器单元传送到外设接口。223.控制逻辑控制逻辑DMA周期内,控制逻辑通过产生控制信号和周期内,控制逻辑通过产生控制信号和16位要存位要存取的存储单元地址来控制取的存储单元地址来控制DMA操作步骤。操作步骤。
17、初始化时,通过对方式寄存器编程,使控制逻辑可以初始化时,通过对方式寄存器编程,使控制逻辑可以对各个通道的操作进行控制。对各个通道的操作进行控制。234 锁存缓冲器(外接)锁存缓冲器(外接)使用使用8237A工作时,需要外接一个八位的地址锁存缓工作时,需要外接一个八位的地址锁存缓冲电路,它能够储存八位的地址信号,通过可控的三冲电路,它能够储存八位的地址信号,通过可控的三态门连接系统地址总线。态门连接系统地址总线。在在DMA传送之前,传送之前,8237A从从DB0DB7把存储器地址的把存储器地址的A8A15送入这个锁存器。送入这个锁存器。在在DMA周期里,锁存器将锁存的地址送往系统地址总周期里,锁
18、存器将锁存的地址送往系统地址总线的线的A8A15,同时从同时从A0A7引脚发送地址的低八位。引脚发送地址的低八位。245 页面地址寄存器(外接)页面地址寄存器(外接)8237A控制了地址总线的控制了地址总线的16位,所以最多只能连续传位,所以最多只能连续传送送64K字节的数据。字节的数据。为了控制为了控制8086系统系统20位的物理地址,需要外接一个四位位的物理地址,需要外接一个四位的的“页面地址寄存器页面地址寄存器”(PC机地址:机地址:83H)页面地址寄存器的值由页面地址寄存器的值由CPU写入写入8237A发送低发送低16位地址时,高四位的地址从页面地址寄位地址时,高四位的地址从页面地址寄
19、存器发往地址总线的存器发往地址总线的A16A19256.2.3 8237A的对外连接信号的对外连接信号8237A作为从模块时的引脚信号(作为从模块时的引脚信号(1)RESET复位输入端,高电平有效。复位时,屏蔽寄存器复位输入端,高电平有效。复位时,屏蔽寄存器 被置被置1,其他寄存器均清,其他寄存器均清0。CS#片选输入端,低电平有效,由片选输入端,低电平有效,由A4A15译码得到。译码得到。为低电平时,为低电平时,8237A被选中,被选中,CPU可以对可以对8237A进进 行读写(进行预置或读取工作状态)。行读写(进行预置或读取工作状态)。A3A0最低的最低的4位地址线,双向信号引脚。位地址线
20、,双向信号引脚。DMA控制器控制器 作为从模块时,作为从模块时,A3A0作为输入端,用来选择作为输入端,用来选择 DMAC内部的内部的16个端口地址。个端口地址。2682378237A A作为从模块时的引脚信号(作为从模块时的引脚信号(2 2)IOR#IO设备读信号,双向、三态、低电平有效。设备读信号,双向、三态、低电平有效。作为从模块时为输入。有效时,作为从模块时为输入。有效时,CPU读读DMA控控 制器内部寄存器的值。制器内部寄存器的值。IOW#IO设备写信号,双向、三态、低电平有效。设备写信号,双向、三态、低电平有效。作为从模块时输入。有效时,作为从模块时输入。有效时,CPU向向DMA控
21、制控制 器的内部寄存器中写入信息(进行编程)。器的内部寄存器中写入信息(进行编程)。DB7DB08位双向三态数据线。位双向三态数据线。DMA控制器作为从控制器作为从 模块时,模块时,CPU通过通过DB7DB0对对8237A进行读写。进行读写。278237A作为总线主模块时的引脚信号作为总线主模块时的引脚信号(1)地址信号)地址信号A3A0 DMAC为主模块时,提供存储器最低为主模块时,提供存储器最低4位地址位地址 (输出)(输出)。A7A4-提供存储器的中间提供存储器的中间4位地址(输出)位地址(输出)DB7DB0 输出当前地址寄存器中的高输出当前地址寄存器中的高8位地址,并通过信号位地址,并
22、通过信号 ADSTB打入外部锁存器,和打入外部锁存器,和A7A0输出的低输出的低8位位 地址一起构成地址一起构成16位地址。位地址。28地址信号地址信号ADSTB地址选通信号,输出,高电平有效。信号有效地址选通信号,输出,高电平有效。信号有效 时,将时,将DMAC高高8位地址经位地址经DB7DB0送到外部送到外部 锁存器。锁存器。AEN地址允许信号,输出,高电平有效。地址允许信号,输出,高电平有效。把高把高12位地址(地址锁存器中高位地址(地址锁存器中高8位、页面地址寄位、页面地址寄 存器最高存器最高4位)一起送到地址总线上,与芯片直接位)一起送到地址总线上,与芯片直接 输出的低输出的低8位地
23、址共同构成位地址共同构成20位内存地址。位内存地址。AEN信号也使与信号也使与CPU相连的地址锁存器无效。保证相连的地址锁存器无效。保证 地址总线上的信号来自地址总线上的信号来自DMA控制器,而不是来自控制器,而不是来自 CPU。29(2)对存储器)对存储器/外设接口的读写控制信号外设接口的读写控制信号IOR#作为主模块时,作为主模块时,IOR#输出外设接口的读控制信输出外设接口的读控制信 号,信号有效时,号,信号有效时,IO接口部件中的数据被读出接口部件中的数据被读出 送往数据总线。送往数据总线。IOW#作为主模块时,作为主模块时,IOW#输出外设接口的写控制信输出外设接口的写控制信 号,信
24、号有效时,存储器中读出的数据被写入号,信号有效时,存储器中读出的数据被写入 IO接口中。接口中。READY准备就绪信号,输入,高电平有效。所用的存准备就绪信号,输入,高电平有效。所用的存 储器或储器或IO接口的速度较慢时,使接口的速度较慢时,使READY处于处于 低电位,低电位,8237A会自动插入等待周期。数据准备会自动插入等待周期。数据准备 就绪时,就绪时,READY端为高电平,表示可以进行数端为高电平,表示可以进行数 据传输。据传输。30(2)对存储器)对存储器/外设接口的读写控制信号外设接口的读写控制信号MEMR#存储器读信号,低电平有效,输出存储器读信号,低电平有效,输出。信号有效信
25、号有效 时,所选中的存储器单元的内容被读到数据时,所选中的存储器单元的内容被读到数据 总总 线。线。MEMW#存储器写信号,低电平有效,输出。信号有存储器写信号,低电平有效,输出。信号有 效时,数据总线上的内容被写入选中的存储单效时,数据总线上的内容被写入选中的存储单 元。元。31(3)DMA联络信号联络信号DREQ通道通道DMA请求信号,输入。请求信号,输入。每个通道对应一个每个通道对应一个DREQ信号端,它的极性可以信号端,它的极性可以 通过编程来选择。通过编程来选择。外设接口要求外设接口要求DMA传输时,使传输时,使DREQ处于有效,处于有效,DMAC控制器送来控制器送来DMA响应信号响
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DMA 传输 原理 ppt
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。