- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微型计算机接口与技术第6章
第6章 DMA传输 所谓直接存储器传送(Direct Memory Access—DMA)是指将外设的数据不经过CPU直接送入内存储器,或者,从内存储器不经过CPU直接送往外部设备。一次DMA传送只需要执行一个DMA周期(相当于一个总线读/写周期),因而能够满足高速外设数据传输的需要。本章介绍DMA传输的原理,实施DMA传输所需要的DMA控制器8237A以及它的编程使用。 6.1 DMA传输原理 1. DMA控制器 使用DMA方式传输时,需要一个专门的器件来协调外设接口和内存储器的数据传输,这个专门的器件称为DMA控制器,简称DMAC。 (1)在DMAC的内部,有若干个寄存器: * 地址寄存器:存放DMA传输时存放IO数据的存储单元地址; * 字节计数器:存放DMA传输的字节数; * 控制寄存器:存放由CPU设定的DMA传输方式,控制命令等; * 状态寄存器:存放DMAC当前的状态,包括有无DMA请求,是否结束等。 (2)在系统中,DMAC有二种不同的作用: * 总线从模块:CPU对DMAC进行预置操作,也就是向DMAC写入内存传送区的首地址、传送字节数和控制字时,DMAC相当于一个外设接口,称为总线从模块。 * 总线主模块:进行DMA传输时,CPU暂停对系统总线的控制,DMAC取得了对总线的控制权,这时的DMAC称为总线主模块。 2. DMA传输过程 一次DMA传输的过程由以下步骤组成: * 当外设准备就绪,需要进行DMA操作时,向DMA控制器发出“DMA请求信号”。DMA控制器接到此信号后,向CPU发“总线请求信号”。 * CPU接到总线请求信号后,如果允许,会在当前总线周期结束后,发出“DMA响应信号”,同时放弃对总线的控制。这时DMA控制器开始实行对总线的控制。 * DMAC将内部地址寄存器的内容通过地址总线送往内存储器。对于数据输入过程,向外部设备发出“外设读”控制信号,同时向存储器发出“存储器写”信号。在这二个信号的作用下,一字节的数据从外设接口送往数据总线,而存储器从数据总线接收这个数据,写入由地址总线上的地址指定的内存单元。对于数据输出过程,情况正好相反。DMAC向存储器发读命令,向外设接口发写命令,一字节数据从存储器传送到外设接口,完成一次输出的操作。 * 传送1个字节之后,DMAC自动对地址寄存器的内容进行修改,指向下一个要传送的字节。同时,将字节计数器减1,记录尚未完成的传输次数。 * 一个数据传输结束,DMA控制器向CPU撤销“总线请求信号”,CPU于是也撤销允许使用总线的“总线应答”信号,CPU收回对总线的控制权。 以上的过程完全由硬件电路实现,速度很快。用DMA方式进行一次数据传输所经历的时间称为“DMA周期”,大体上相当于一次总线读写周期的时间。 例如,要将串行通信口接收到的200字节的数据包用DMA方式存入以BUFFER为首地址内存区域,需要的操作为: * 对DMAC进行预置:向DMAC写入内存首地址(BUFFER),传输字节数(200),传输方向(外设接口→内存),控制命令(允许DMA传输)等; * 对串行通信接口进行初始化,设置串行通信的参数,允许串行输入等; 最后一个数据的DMA传输结束后,DMAC内字节计数器内容为0。DMAC内部状态寄存器“传输完成”状态位为1,同时它还发出传输结束信号EOP。CPU可以通过查询知道传输已经结束,也可以利用EOP信号申请中断,在中断服务程序里进行结束处理。 所以,DMA方式传输200字节过程为:1次对DMAC初始化,200次DMA周期。 3. 8086系统中的DMA信号 在8086最小系统中,CPU通过HOLD引脚接收DMA控制器的总线请求,在HLDA引脚上发出对总线请求的允许信号。通常,CPU接收到总线请求信号并完成当前总线操作以后,就会使HLDA出现高电平而响应总线请求,DMA控制器于是就成了主宰总线的部件。此后, DMA控制器将HOLD信号变为低电平时,便放弃对总线的控制。8086检测到HOLD信号变为低电平后,也将HLDA信号变为低电平。于是,CPU又控制了系统总线。 8086CPU工作于最大模式时,通过RQ/GT0和RQ/GT1引脚接收DMA控制器的总线请求,发送对总线请求的允许信号。RQ/GT0引脚有较高的优先权。 6.2 DMA控制器8237A 6.2.1 8237A的基本功能 1. 8237A芯片的主要特点 (1)有4个完全独立的DMA通道,可分别进行编程控制。 (2)每个通道的DMA请求均可分别允许和禁止,并对各通道进行优先级排队。 (4)数据块最大为64KB,每传送一个字节后使地址自动加1或减1。 (5)DMA请求可以由外部输入,也可以由软件设置。 (6)可以用级联的方
您可能关注的文档
最近下载
- T2DM合并卒中患者血糖管理专家共识解读.pptx VIP
- 专题二 二次根式新题型——二次根式为载体的阅读材料题(含答案析)(专题二 二次根式新题型-下学期八年级数学下册期末复习高频考点专题(人教版)).docx VIP
- 脑卒中的危险因素.pptx
- 规范食品检测样品采集操作流程.docx VIP
- 《平面构成》(张玥)679-1 教案 第6课 形象构成.docx VIP
- 工艺设备变更管理规范.pptx VIP
- 北师大版七年级上数学第四章测试题含答案.docx VIP
- 2025年5月国培卫健、粤医云基层卫生管理提升项目(临床)参考答案.docx VIP
- 初中数学教师评职称个人工作总结.docx VIP
- 2024年幼儿园小班语言《动物宝宝去旅行》PPT 优质课件.pptx VIP
文档评论(0)