- 8085 微处理器
- 微处理器 - 8085 架构
- 8085 引脚配置
- 寻址模式和中断
- 8085 指令集
- 多处理器配置
- 配置概述
- 8087 数值数据处理器
- I/O 接口
- I/O 接口概述
- 8279 可编程键盘
- 8257 DMA 控制器
- 微处理器常用资源
- 微处理器 - 快速指南
- 微处理器 - 常用资源
- 微处理器 - 讨论
微处理器 - 8257 DMA 控制器
DMA 代表直接内存访问 (Direct Memory Access)。它由英特尔设计,用于以最快的速度传输数据。它允许设备直接向内存传输数据/从内存接收数据,而无需 CPU 干预。
使用 DMA 控制器,设备请求 CPU 保持其数据、地址和控制总线,以便设备可以自由地直接向内存传输数据/从内存接收数据。只有在从 CPU 接收到 HLDA 信号后,才会启动 DMA 数据传输。
DMA 操作是如何执行的?
以下是 DMA 执行的操作序列:
最初,当任何设备必须在设备和内存之间发送数据时,设备必须向 DMA 控制器发送 DMA 请求 (DRQ)。
DMA 控制器向 CPU 发送保持请求 (HRQ) 并等待 CPU 声明 HLDA。
然后,微处理器将所有数据总线、地址总线和控制总线置为三态。CPU 放弃对总线的控制,并通过 HLDA 信号确认 HOLD 请求。
现在 CPU 处于 HOLD 状态,DMA 控制器必须管理 CPU、内存和 I/O 设备之间总线上的操作。
8257 的特点
以下是 8257 一些突出的特点:
它有四个通道,可用于四个 I/O 设备。
每个通道都有 16 位地址和 14 位计数器。
每个通道最多可以传输 64kb 的数据。
每个通道可以独立编程。
每个通道可以执行读取传输、写入传输和验证传输操作。
它向外围设备生成 MARK 信号,表示已传输 128 字节。
它需要单相时钟。
其频率范围为 250Hz 至 3MHz。
它有两种工作模式:**主模式**和**从模式**。
8257 架构
下图显示了 8257 的架构:
8257 引脚描述
下图显示了 8257 DMA 控制器的引脚图:
DRQ0−DRQ3
这些是四个独立的通道 DMA 请求输入,外围设备使用它们来使用 DMA 服务。当选择固定优先级模式时,DRQ0 具有最高优先级,DRQ3 具有最低优先级。
DACK0 − DACK3
这些是低电平有效的 DMA 确认线,它们通过 CPU 更新请求外围设备的请求状态。这些线也可以充当请求设备的选通线。
D0 − D7
这些是双向数据线,用于将系统总线与 DMA 控制器的内部数据总线接口。在从模式下,它将命令字传输到 8257,并将状态字从 8257 传输出来。在主模式下,这些线用于将生成的地址的高位字节发送到锁存器。该地址进一步使用 ADSTB 信号锁存。
IOR
这是一个低电平有效的双向三态输入线,CPU 在从模式下使用它来读取 8257 的内部寄存器。在主模式下,它用于在内存写周期期间从外围设备读取数据。
IOW
这是一个低电平有效的双向三态线,用于将数据总线的內容加载到 8 位模式寄存器或 16 位 DMA 地址寄存器或终端计数寄存器的高/低字节。在主模式下,它用于在 DMA 内存读取周期期间将数据加载到外围设备。
CLK
这是一个时钟频率信号,8257 的内部操作需要它。
RESET
此信号用于通过禁用所有 DMA 通道来重置 DMA 控制器。
A0 - A3
这些是四个最低有效地址线。在从模式下,它们充当输入,选择要读取或写入的寄存器之一。在主模式下,它们是 8257 生成的四个最低有效内存地址输出线。
CS
这是一个低电平有效的片选线。在从模式下,它使能对 8257 的读/写操作。在主模式下,它禁用对 8257 的读/写操作。
A4 - A7
这些是 DMA 在主模式下生成的低字节地址的高四位。
READY
这是一个高电平有效的异步输入信号,它通过插入等待状态使 DMA 准备好。
HRQ
此信号用于接收来自输出设备的保持请求信号。在从模式下,它与 8257 的 DRQ 输入线连接。在主模式下,它与 CPU 的 HOLD 输入连接。
HLDA
这是保持确认信号,当它设置为 1 时,它表示 DMA 控制器 CPU 已将总线授予请求外围设备。
MEMR
这是低电平有效的内存读取信号,用于在 DMA 读取周期期间读取寻址内存位置的数据。
MEMW
这是一个低电平有效的三态信号,用于在 DMA 写入操作期间将数据写入寻址内存位置。
ADST
此信号用于将 DMA 控制器生成的内存地址的高位字节转换为锁存器。
AEN
此信号用于禁用地址总线/数据总线。
TC
它代表“终端计数”,它向当前外围设备指示当前 DMA 周期。
MARK
从开始起每 128 个周期或其整数倍数后,标记将被激活。它表示当前 DMA 周期是自上次向所选外围设备输出 MARK 信号以来的第 128 个周期。
Vcc
这是电路操作所需的电源信号。