第八章-DMA控制器

可编程DMA控制器8237A


前言

本博客仅做学习笔记,如有侵权,联系后即刻更改

科普:DMA控制器


一、8237A内部结构

8037A内部结构图
在这里插入图片描述

1、 对外连接信号

  • ADSTB:地址选通输出信号
    高电平时,DMA控制器的当前地址寄存器的高八位地址送到外部锁存器
  • /EOP:DMA传输过程结束信号
    双向,外部和DMA控制器都可传低电平
  • DREQ:DMA请求信号
    外设送到DMA控制器,直到DMA控制器送来响应信号DACK后,撤除有效电平
  • DACK:DMA应答信号
    对DREQ的响应信号,通道与DACK一一对应
    DMA控制器获得CPU的相应信号HLDA后,产生DACK送到对应外设接口
  • HRQ:总线请求信号
    外设向DMA控制器发送DREQ后,DMA控制器向CPU发送HRQ总线请求
  • HLDA:总线相应信号
    对HRQ的响应信号,CPU给DMA控制器
  • /MEMR:存储器读信号
  • /MEMW:存储器写信号
  • CLK:时钟信号
    AEN:地址允许输出信号

二、8237A工作过程及原理

工作过程

  1. 初始化:地址,R/W,字节,通道
  2. 申请:
  • 外设向DMAC发送DREQ
  • DMAC向CPU发送HRQ
  1. 响应:
  • CPU向DMAC发送HLDA
  • DMAC向外设发送DACK
  1. 传送:
    预设信号、字节计数器、计数
  2. 结束:
    DMAC向外设发送EOP

三、8237A的工作方式

  1. 单字节传输模式:
    传一个字节,释放总线
  2. 块传输模式:
    字节计数器为0,/EOP发送负脉冲,释放总线
  3. 请求传输模式:
    传一个字节,就查DREQ
  4. 级联传输模式
    级联,构成主从式DMA系统,主片设置为级联传输模式
    从片的HRQ端和主片的DREQ端相连
    从片的HLDA端和主片的DACK端相连
    主片的HRQ和HLDA连接系统总线

五、8237A的模式、控制和状态寄存器

  1. 模式寄存器
  • D7-6:设置工作模式
    00:请求传输模式
    01:单字节传输模式
    10:块传输模式
    11:级联传输模式
  • D5:地址增减选择
    置1地址减1
  • D4:自动初始化
    置0为禁止
  • D3-2:设置数据传输类型
    00:检验传输
    01:写传输
    10:读传输
  • D1-0:指出通道号
    00-11:通道0-3
  1. 控制寄存器
  2. 状态寄存器
  3. 请求寄存器
  4. 屏蔽寄存器
  5. 字节指针
    控制DMA通道中地址寄存器和字节计数器的初值设置的
    因为该芯片只有8位数据线,而地址寄存器和字节计数器都是16位,所以要传两次

总结

小小励志

有些事你现在不做,一辈子都不会做了。
如果你想做一件事,全世界都会为你让路。
《搭车去柏林》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值