第8章 DMA控制器(型计算机技术课件)第8章 DMA控制器(微型计算机技术课件).pptVIP

第8章 DMA控制器(型计算机技术课件)第8章 DMA控制器(微型计算机技术课件).ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.7 8237A的编程 8327A芯片的初始化编程:只要写入命令寄存器 可先输出主清除命令,进行软件复位 然后写入命令字 命令字影响所有4个通道的操作 8.7 8237A的编程(续1) DMA通道的DMA传送编程: 将存储器起始地址写入地址寄存器(如果采用地址减量工作,则是结尾地址) 将本次DMA传送的数据个数写入字节数寄存器(个数要减1) 确定通道的工作方式,写入方式寄存器 写入屏蔽寄存器复位通道屏蔽位,允许DMA请求 请看实例 DMA通道0的刷新编程 out 0dh,al ;DMAC主清除命令 mov al,0 out 08,al ;DMAC命令字 mov al,0 out 00,al ;通道0的地址寄存器低字节 out 00,al ;通道0的地址寄存器高字节 mov al,0ffh out 01,al ;通道0的字节数寄存器低字节 out 01,al ;通道0的字节数寄存器高字节 mov al,58h out 0bh,al ;通道0模式字 mov al,0 out 0ah,al ;通道0屏蔽字 IBM PC/XT 8237A的编程(续2) 两种方法反映DMA过程结束(即终止计数、发生TC): 状态寄存器的低4位 信号(需配合DACK响应信号确定通道) 应用程序处理DMA传送过程结束: 采用软件查询状态字 采用硬件中断在中断服务程序处理 8237A的应用 8237A在PC系列机的使用情况 DMA写传送 DMA设定子程序 8237A在IBM PC系列机上的应用 IBM PC/XT机使用一片8237A 通道0:动态存贮器DRAM刷新 通道1:用户使用或SDLC卡 通道2:内存与软盘的高速数据交换 通道3:内存与硬盘的高速数据交换 IBM PC/AT机采用两片8237A DMAC1包含通道0~3,支持8位数据传送 DMAC2组成通道4~7,通道5~7支持16位数据传送,通道4用于级连 1. 8237A的初始化 8237A初始化写入命令字为0,确定了: DREQ高电平有效、DACK低电平有效,固定优先权(依次为通道0、1……7) 不进行存储器到存储器的数据传输 PC机用DMA控制电路进行刷新,所以DMA传送不能长时间占用总线(不应超过15?s),一般只能使用单字节传送方式 在PC系列机上,用户如果使用DMA通道,要注意遵从上述系统要求。除了要禁止8237A工作,用户通常不必操作命令寄存器 2. 高位地址的形成 DMA传送时的高位地址由“页面寄存器”提供 页面寄存器由CPU的输出指令实现写入 DMAC1的通道0~通道3:8237A提供系统A0~A15低16位地址,页面寄存器输出系统A16~A23高8位地址 DMAC2的通道5~通道7:8237A提供系统A1~A16的16位地址,而系统A0被强迫为逻辑0,页面寄存器仅输出高7位地址A17~A23 页面寄存器不会自动增减量 高位地址在DMA传送过程中不改变 DMA写传送 CLK D CLK D0~D7 Q +5V 外设数据 外设DMA请求 74LS374 74LS74 RESET DRQ1 DACK1 IOR OE R S 通道1工作方式 mov al,45h ;通道1方式字: ;单字节写传送,地址增量,非自动初始化 out 0bh,al nop ;延时 nop out 0ch,al ;清高/低触发器命令 DMA写传送 通道1起始地址 mov al,0 out 02h,al ;写入低8位地址到地址寄存器 mov al,50h out 02h,al ;写入中8位地址到地址寄存器 mov al,04h out 83h,al ;写入高8位地址到页面寄存器 DMA写传送 通道1传送字节数 mov ax,2048-1 ;AX←传送字节数减1 out 03h,al ;送字节数低8位到字节数寄存器 mov al,ah out 03h,al ;送字节数高8位到字节数寄存器 mov al,01 out 0ah,al ;单通道屏蔽字:允许通道1的DMA请求 …… ;其他工作 DMA写传送 通道1传送结束判断 dmalp: in al,08h ;读状态寄存器 and al,02h ;判断通道1是否传送结束 jz dmalp ;没有结束,则循环等待 …… ;传送结束,处理转换数据 DMA写传送 DMA传送过程结束的判断: 软件查询方式 DMA设定子程序 系统ROM-BIOS的DMA设定子程序:DMA通道2传送编程 软盘的读写利用DMA通道2传送数据 被读软盘、写软盘和软盘检验等软盘I/O功能程序调用 通道2工作方式 push cx ;保存CX

文档评论(0)

cduutang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档