网站大量收购独家精品文档,联系QQ:2885784924

微机原理及应用CH11 DMA技术与DMA控制器.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理及应用CH11 DMA技术与DMA控制器

第11章 DMA技术与DMA控制器 ; 无条件传送:传送之前不查询外设状态 程序控制方式 查询传送:传送之前查询外设状态 中断方式:外设准备好后向CPU申请中断, CPU响应中断完成数据传送。 DMA(直接存储器存取)方式:由专用硬件“DMA控制器” 控制内存和外设之间直接传送数据。 (不需要CPU干预);§11.1 DMA技术概述;2、DMA传送方式的特点 外设和内存之间,直接进行数据传送,不通过CPU, 传送效率高。适用于在内存与高速外设、或两个高速外设之间进行大批量数据传送。 电路结构复杂,硬件开销较大。;DMA 传送过程示意图;§11.1.1 DMAC的基本功能;§11.1.2 DMAC的一般结构 ;§11.1.3 DMAC的工作方式;3、请求传输方式:此方式与块传输方式基本类似,不同的是每传输完一个字节,DMA控制器都要检测由I/O接口发来的DMA请求信号是否仍然有效,如果该信号仍有效,则继续进行DMA传输;否则,就暂停传输,交还总线控制权给CPU,直至DMA请求信号再次变为有效,数据块传输则从刚才暂停的那一点继续进行下去。;§11.1.4 DMA操作过程 ;⑤DMA控制器发出存储器写信号,使数据传送到由地址总线的地址所指向的内存单元。 ⑥地址寄存器加1。 ⑦字节计数器减1。 ⑧如果字节计数寄存器的值不为零,则返回第①步,否则进入第⑨步。 ⑨DMA控制器释放总线。;图11.2 以DMA方式输出一个字节数据的工作过程;;§11.2 可编程DMA控制器8237A ;4.具有单字节传送、数据块传送、请求传送和级联传送四种工作方式。 5.可用级联方式扩展DMA通道数目。 6.DMA传送结束信号可由内部计数产生,也可由外部输入提供。 7.单一的+5V电源,40个引脚双列直插式封装。 8.采用5MHz时钟,传送速率可达1.6M字节/秒。 9.8237可以级连,任意扩展通道数。;§11.2.2 8237A的工作原理 ;图11.3 8237A的编程结构 ;几点说明:;各通道的基地址寄存器和当前地址寄存器的端口地址低四位是: 0000 0通道 0010 1通道 0100 2通道 0110 3通道 各通道的基字节数寄存器和当前字节计数器的端口地址低四位是: 0001 0通道 0011 1通道 0101 2通道 0111 3通道 ;8237A内有一个先/后触发器,占1位,当其为0时对16位寄存器的低8位进行读/写操作,当其为1时,则对高8位进行读/写操作,且每读或写一次,先/后触发器的状态就自动翻转一次。 8237A复位后,先/后触发器为0。 8237A除可用RESET=1信号进行硬件控制的复位外,还可以用主清除命令进行软件控制的复位。软件复位是通过对1101端口进行写操作实现的。 ;2.8237A的总线模式 主模式(主动态):在DMA操作其间,8237A就处于主模式,这时它管理系统总线,发出地址和有关控制信号使数据在内存和外设端口之间或内存两个不同区域之间传递。 从模式(被动态):所谓从模式是指在没有进行DMA操作时,8237A象其他接口芯片一样,可被CPU访问。即向其有关内部寄存器写入工作方式控制字,传送地址及字节数等,也可读取其状态信息。;3.8237A的外部引脚;8237A的工作时序 8237A使用独立的时钟信号,工作过程可以分为SI,S0,S1,S2,S3,SW,S4几个状态,每个状态占用1个时钟周期,因此状态也可以称为周期。 1) 空闲状态SI 2) 有效周期 3) 扩展写与压缩时序;? DMA空闲周期SI ? 过渡状态S0 DMA请求应答状态 ? 有效周期(S1、S2、S3、S4) ;空闲周期 当8237的任一通道都无请求时就进入空闲周期(Idle Cycle)。在空闲周期,8237始终执行SI状态,在每一个时钟周期都采样通道的请求输入线DREQ。只要无请求就始终停留在SI状态。 在SI状态,可由CPU对8237编程或从8237读取状态。8237在SI状态也始终采样选片信号CS#,只要CS#信号变为有效,则CPU要对8237进行读/写操作。; 当8237采样到CS#为低(有效)而HRQ也为低(无效),则进入程序状态,CPU就

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档