中断方式实现主机与单片机之间的DMA操作研究.pdf

中断方式实现主机与单片机之间的DMA操作研究.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中断方式实现主机与单片机之间的DMA操作 罗晓丹 解放军信息工程学院基础部 郑州 450002 Im 要 本文主要讨论了在主机与单片机之间以中断方式进行DR、传输的程序设计中的地址计算和中断 服务程序中对该地址的引用、DMA初始化等问题。 关键词 DMA:DMA初始化:段址:偏移最 引言 在实际的实时应用系统中,经常需要同时进行多种信号的采集,每种信号的类型、和 数据量的大小都有所不同。对于数据量小的信号,主机可以直接从UO口读取,而对于数 据量较大的信号,由于系统实时性的要求,经常采用DMA的方式进行数据传输。主机在 接收这些信号的数据时,为了避免不断查询数据是否到达而降低主机的实时处理效率,可 以采用中断方式进行数据的读取。即当各个工作模块的数据己采集好,需送交主机时,由 用户电路给主机产生一中断信号,主机在接到此中断信号后,进入中断服务程序,在中断 服务程序内,主机根据事先己确定了的各工作模块采集数据量的大小,对于小量的数据直 接由阳 口读取,对于量大的数据,由对应工作模块的DMA电路产生DMA申请,主机在 中断服务程序内进行DMA初始化,允许该模块的DMA申请,于是实现主机和对应模块的 单片机之间的DMA数据传输。 ) 2 DMA控制 丛 DMA(DirectMemory Access)控制,也即直接存储器存取控制。它是利用DMA控制 器 (DMAC)这样的专用处理器硬件来完成外设与存储器之间的高速数据传送。DMAC具 有独立的访问存储器能力,它能象MPU那样提供内存的地址和必要的读写控制信号,将数 据总线上的信息写入存储器或从存储器读出。 2.1DMAC内部寄存器 8237A-5是Intel公司生产的一种高性能的可编程DMA控制器芯片,可以方便地实现外设 与存储器之间的直接数据交换。它有四个独立的DMA通道,每个通道都有64KB寻址和 字节计数能力。 对于286以上档次的微机,系统一般支持7个DMA通道,它们是由两片8237A-SDMA 控制器按级连的方式得到的。为了扩大DMA的寻址范围,DMAC增加了8位的页寄存器, 和每个通道的16位地址寄存器一起形成24位的地址长度,从而使得每个通道的寻址范围 增加到16M。两片DMA控制器的内部寄存器和各通道对应的页面寄存器的I/O端口地址 如 下: 1/0端口地址 (十六进制) 通道号 页面寄存器 1/0端口地址 DMACDMA2 内部寄存器名称 0 SOH 0 CD 通道 0基地址和当前地址寄存器 1 83H 353 1 C2 通道0墓计数和当前计数寄存册 2 81H 2 3 . C4 通道1基地址和当前地址寄存餐 92H 3 C6 通道1基计数和当前计数寄存器 5 SBH 4 C8 通道2基地址和当前地址寄存册 6 89H 5 CA 通道2荃计数和当前计数寄存册

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档