可编程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工作过程及原理
工作过程
- 初始化:地址,R/W,字节,通道
- 申请:
- 外设向DMAC发送DREQ
- DMAC向CPU发送HRQ
- 响应:
- CPU向DMAC发送HLDA
- DMAC向外设发送DACK
- 传送:
预设信号、字节计数器、计数- 结束:
DMAC向外设发送EOP
三、8237A的工作方式
- 单字节传输模式:
传一个字节,释放总线- 块传输模式:
字节计数器为0,/EOP发送负脉冲,释放总线- 请求传输模式:
传一个字节,就查DREQ- 级联传输模式
级联,构成主从式DMA系统,主片设置为级联传输模式
从片的HRQ端和主片的DREQ端相连
从片的HLDA端和主片的DACK端相连
主片的HRQ和HLDA连接系统总线
五、8237A的模式、控制和状态寄存器
- 模式寄存器
- D7-6:设置工作模式
00:请求传输模式
01:单字节传输模式
10:块传输模式
11:级联传输模式- D5:地址增减选择
置1地址减1- D4:自动初始化
置0为禁止- D3-2:设置数据传输类型
00:检验传输
01:写传输
10:读传输- D1-0:指出通道号
00-11:通道0-3
- 控制寄存器
- 状态寄存器
- 请求寄存器
- 屏蔽寄存器
- 字节指针
控制DMA通道中地址寄存器和字节计数器的初值设置的
因为该芯片只有8位数据线,而地址寄存器和字节计数器都是16位,所以要传两次
总结
小小励志
有些事你现在不做,一辈子都不会做了。
如果你想做一件事,全世界都会为你让路。
《搭车去柏林》