DMA控制器8237.ppt_第1页
DMA控制器8237.ppt_第2页
DMA控制器8237.ppt_第3页
DMA控制器8237.ppt_第4页
DMA控制器8237.ppt_第5页
免费预览已结束,剩余24页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 8 2可编程DMA控制器8237A DMA DirectMemoryAccess 的概念DMA系统组成及工作过程Intel8237A可编程DMA控制器框图8237A编程DMA控制器的工作时序 2 DMA DirectMemoryAccess 的概念DMA方式不用处理器干预完成M与I O间数据传送 DMA期间系统总线由其它主模块控制 驱动 控制总线的主模块要提供系统的地址及控制信号 DMA控制器与处理器配合可实现系统的DMA功能 3 2 DMA系统组成及工作过程 DMA系统组成 4 DMA工作过程I O向DMACDMAC向CPU响应DMAC向发请求CPU发请求DMAC请求I O发响应 DMA传送结束 DMA传送进行 DMAC发出控制信号 DMAC发出内存地址 5 允许DMA DMA请求 DMAC发BUS请求 CPU响应DMA放弃BUS DMAC控制传一个字节 块结束否 放弃总线中断请求 N DMA放总线 N Y 字节传送 Y DMA传送方式 6 允许DMA DMA请求 DMAC发BUS请求 CPU响应DMA 放弃BUS DMAC控制传一个字节 块结束否 放总线中断请求 DMA请求 N Y Y N 块传送 DMA传送方式 7 允许DMA DMA请求 DMAC发出BUS请求 CPU响应DMA 放弃总线 DMAC控制传一个字节 块结束否 放总线中断请求 Y DMA请求 Y 放总线 N N Y 随机请求DEMANDREQUEST DMA传送方式 8 3 Intel8237A可编程DMA控制器框图 9 8237外部引脚 10 8237A主从两面性 作为DMAC 8237A是可控制总线的主模块 作为I O芯片 8237A可被处理器读写 运行时注意8237A主 从地址的变化 11 8237A组成说明 8237A有四个独立通道 每个通道有16位地址REG 16位字节数计数器 6位模式REG 四个通道公用控制寄存器 状态寄存器 屏蔽寄存器 请求标志寄存器及暂存器 各寄存器均为8位 基地址寄存器 放DMA传送RAM地址初值 当前地址寄存器 DMA传送时内容变化 可读 基字节数寄存器 DMA传送的总字节数 当前字节数寄存器 DMA传送时内容变化 可读 12 8237A引线说明 DB7 DB0 双向数据总线 8237A为从模块时被处理器编程或读状态 DB7 DB0作为数据线 传输数据或命令字 8237A为主模块时DB7 DB0输出地址A15 A8 在MM传送操作时经DB7 DB0 将M数据送8237A暂存器 A3 A4 地址线 从模块时为输入 处理器寻址8237A 主模块时输出低位地址 13 A7 A4 地址线 主模块时输出A7 A4 CS 片选 从模块时处理器用来寻址8237A IOR IOW I O读写控制 双向 8237A在从模块时为输入 在主模块时为输出 AEN ADSTB输出 8位地址锁存允许及选通 在主模块时允许外部锁存器锁存8237A的高8位地址 MEMR MEMW 输出 存储器读写控制 主模块时送存储器 READY 输入 准备就绪 主模块时控制总线周期的长度 与慢速设备同步 14 RESET 输入 复位信号 复位时屏幕寄存器置1 其它寄存器置0 EOP 双向 输出时 表明内部通道传送结束 输入时 表明外部强迫DMA传送停止 DREQ0 DREQ3 I O设备DMA请求输入信号 DACK0 DACK3 输出DMA请求的响应 HRQ 8237A向处理器发出的总线请求信号 HLDA 处理器发给8237A的总线请求响应信号 15 通道 寄存器 操作 CSIORIOW A3A2A1A0 内F F DB0 DB7 0 0 0 1 1 1 1 基本 当前地址 基本 当前字计数 当前地址 当前字计数 基本 当前地址 当前地址 基本 当前字计数 当前字计数 写 写 写 写 读 读 读 读 010010 001001 010010 001001 010010 001001 001001 010010 00000000 00000000 00010001 00010001 00100010 00100010 00110011 00110011 01 01 01 01 01 01 01 01 A0 A7A8 A15 A0 A7A8 A15 W0 W7W8 W15 W0 W7W8 W15 W0 W7W8 W15 W0 W7W8 W15 A0 A7A8 A15 A0 A7A8 A15 8237A字计数器与地址寄存器端口号与对应操作 1 8237A编程地址 字计数器端口分配 0 16 通道 寄存器 操作 A3A2A1A0 内F F DB0 DB7 2 2 3 3 3 3 基本 当前地址 基本 当前字计数 当前地址 当前字计数 基本 当前地址 当前地址 基本 当前字计数 当前字计数 写 写 写 写 读 读 读 读 010010 001001 010010 001001 010010 001001 001001 010010 01000100 01000100 01010101 01010101 01100110 01100110 01110111 01110111 01 01 01 01 01 01 01 01 A0 A7A8 A15 A0 A7A8 A15 W0 W7W8 W15 W0 W7W8 W15 W0 W7W8 W15 W0 W7W8 W15 A0 A7A8 A15 A0 A7A8 A15 8237A字计数器与地址寄存器端口号与对应操作 2 2 2 CSIORIOW 17 操作命令与端口号对应关系表 A3A2A1A0IORIOW操作十六进制 100001读状态寄存器8100010写命令 控制寄存器 100101非法9100110写DMA请求标志寄存器 101001非法A101010写屏蔽标志寄存器 101101非法B101110写模式寄存器 110001非法C110010清除字节指针F F 110101读暂存器D110110复位 总清 111001非法E111010清除 屏蔽标志寄存器 111101非法F111110写所有屏蔽REG 单一位 三个软件命令不依赖DB上数据 所有位 18 8237A模式寄存器格式 写B号 工作方式设定 D7 D6 D5D4 D3 D2 D1 D0 模式选择 随机请求传输模式00 单字节传输模式 0 0 1 1 1 1 块传输模式 级联传输模式 地址增量选择 地址加10 地址减11 自动预置功能选择 禁止0 允许1 通道选择 0选0 Channel 0 0 1 1 1 0 1 选1 Channel 选2 Channel 选3 Channel 传输类型选择 00校验传输 0 0 1 1 1 1 XX 写传输 读传输 非法 D7D6 11 19 8237A控制 命令寄存器格式 写8号 硬件设置与运行控制8237A硬件设置 20 8237ADMA请求寄存器格式 写9号 D7 D6 D3 D2 D1 D0 D5 D4 运行控制 不用 0 清除DMA请求位 建立DMA请求位 1 0 0 Channel0 0 0 1 1 1 1 Channel1 Channel2 Channel3 8237A控制 命令寄存器格式 写9号 硬件设置与运行控制8237A运行控制命令字 软件DMA请求 21 8237A屏蔽寄存器格式 单一位 写A号 D7 D6 D3 D2 D1 D0 D5 D4 运行控制 不用 0 清除MASK位 建立MASK位 1 0 0 Channel0 0 0 1 1 1 1 Channel1 Channel2 Channel3 通道选择 8237A控制 命令寄存器格式 写A号 硬件设置与运行控制8237A运行控制命令字 设屏蔽字 单通道 22 8237A全4位MASK寄存器格式 写F号 D7 D6 D3 D2 D1 D0 D5 D4 运行控制 不用 0 清Channel3M位 设Channel3M位 1 0 0 1 1 0 清Channel2M位 1 设Channel2M位 清Channel0Mask位 设Channel0Mask位 清Channel1Mask位 设Channel1Mask位 8237A控制 命令寄存器格式 写F号 硬件设置与运行控制8237A运行控制命令字 设屏蔽字 四通道 23 关于3个软件命令 与端口号有关 与DB线上的内容无关 写C号地址 清除字节指针F F 使装入顺序为先LSB后MSB 写D号地址 总清除命令 屏蔽寄存器为1 其它寄存器为0 软件复位 写E号地址 清除屏蔽标志 24 编程过程 HLDA无效时8237A接受 P编程 不管HRQ是否有效 编程前禁止8237A 发关闭8237A命令 向8号端口 硬件设置 写04H 或对通道进行屏蔽 用软命令发出总清 MasterClear 操作 向0DH端口执行一次写操作 向有关通道送地址值 计数值 模式字 送硬件设置命令字 打开8237A 去除屏蔽准备接收DMA请求 25 8237A状态监测 可监测运行状态 26 S2 A8 A15 有效地址 有效地址 扩展写信号 8237A 5的DMA时序 5 DMA控制器的工作时序DMAR的7种状态周期SI S0 S1 S2 S3 S4及SW 27 1 空闲周期SI上电后 未编程前 还没有DMA请求 进入空闲周SI DMA处于被动工作方式 CPU可对DMA进行编程 空闲状态 请求应答态 内部状态流程图 数据传输状态 I O 主动状态 单字节 块字节 块字节 DREQ HLDA 被动 28 2 过渡状态S0若检测到DREQ请求 DMAC即向CPU发出总线请求信号HRQ 并且 DMAC从SI状态跳入S0状态 并重复执行 直到收到HLKA信号 CPU 进入S1状态 DMAC从被动 主动态 3 DMA有效周期 S1 S4 在CPU的回答信号HLDA到达没 DMAC进入有效周期开始传送数据 一个完整的传送周期包括S1 S2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论