第9章DMA控制器82C37A和 时间间隔定时器82C54
第9章 DMA控制器82C37A和 时间间隔定时器82C54
数学目的和要求 ■掌握82c37A、82C54的内部结构 掌握DMA方式传送的一般过程 掌握82c54引脚定义及使用方法 熟练应用82c54编程 熟悉82C37A内部寄存器的功能及使用, 了解82c37A引脚定义
◼掌握82C37A、 82C54的内部结构 ◼掌握DMA方式传送的一般过程 ◼掌握82C54引脚定义及使用方法 ◼熟练应用82C54编程 ◼熟悉82C37A内部寄存器的功能及使用, 了解82C37A引脚定义 教学目的和要求
重点 82C37A实现DMA方式传送的一般原理与过程 82c54引脚定义及使用,82c54的编程应用 难点 82c37A内部寄存器的功能及编程 DMA方式传送的一般过程 82c54的六种工作方式及对应时序
重点 ◼ 82C37A实现DMA方式传送的一般原理与过程 ◼ 82C54引脚定义及使用,82C54的编程应用 难点 ◼ 82C37A内部寄存器的功能及编程 ◼ DMA方式传送的一般过程 ◼ 82C54的六种工作方式及对应时序
9.1DMA控制器82C37A 82c37A芯片拥有以下几个特点: 管脚引线与NMos8237A兼容 4个各自独立的DMA通道 可以级联扩展成至任意数量的DMA通道。 高速数据传输:在8MHz时钟时可达每秒4MB; 在125MHz时钟时可达每秒625MB; ■存储器到存储器之间传送方式 静态CMOS设计,允许低功耗操作 TTL/CMOS电平全兼容 内部寄存器可用软件读取
9.1 DMA控制器82C37A 82C37A芯片拥有以下几个特点: ◼ 管脚引线与NMOS8237A兼容 ◼ 4个各自独立的DMA通道 ◼ 可以级联扩展成至任意数量的DMA通道。 ◼ 高速数据传输:在8MHz时钟时可达每秒4MB; 在12.5MHz时钟时可达每秒6.25MB; ◼ 存储器到存储器之间传送方式 ◼ 静态CMOS设计,允许低功耗操作 ◼ TTL/CMOS电平全兼容 ◼ 内部寄存器可用软件读取
9.1.182C37A的内部结构 82C37A芯片是一个多模式的直接存储器存 取控制器,是一种 CHMOS外围接口。由于它 允许外部设备直接从系统存储器传送信息,所 以极大地改进了系统的性能 图9-1给出了82C37ADMA控制器(或者称 DMAC)的内部结构框图。从图中可以看出, 82C37A芯片是由定时及控制、优先级编码器 及循环优先级逻辑、命令控制及12个不同类 型的寄存器等功能模块组成。下面简要地介绍 每部分电路以及寄存器的主要功能
9.1.1 82C37A的内部结构 82C37A芯片是一个多模式的直接存储器存 取控制器,是一种CHMOS外围接口。由于它 允许外部设备直接从系统存储器传送信息,所 以极大地改进了系统的性能 图9-1给出了82C37A DMA控制器(或者称 DMAC)的内部结构框图。从图中可以看出, 82C37A芯片是由定时及控制、优先级编码器 及循环优先级逻辑、命令控制及12个不同类 型的寄存器等功能模块组成。下面简要地介绍 每部分电路以及寄存器的主要功能
EOP RESET 匚减1计数器[加减1计数器 A-A CS 暂时字计数寄存器暂时地址寄存器 +10缓冲器 READY (16位) (16位 CLOCK 1定时 16位总线 AEN ADSTB 及 读缓冲器 读/写缓冲器 输出缓冲器 MEMR控制 基地址!基字 (16位)计数器 (16位)计数器/A-A1 当前地址 当前字 ME EMW (16位 (16位) TOR 命令控制 IO W DRE Q 写缓冲存储读缓冲存储 DREQ特权级 内部数据总线 编码器命令8位 DB。~DB HLDA 及循环 I/O缓冲器 HRQ←特权级 DACK逻辑 DMA通道 屏蔽(4位) DACK 读写 请求(4位 方式(4×6 状态(8位)」暂存器8位 图9-182c37A的内部结构
82c37A的内部结构 82C37A的定时及控制部件产生外部总线接口所 需要的控制信号。例如,它接受 READY及CS等输入 信号,产生 ADSTB及AEN等输出信号。这些信号与 输入到82c37A的时钟信号一起进行的是同步操作。 目前高速的82c37A可在125MHz的最大时钟速率 下进行操作 如果82C37A收到多个DMA服务请求,那么它将 按优先级的高低来处理这些DMA服务请求。在软件 控制之下,可选择两种优先级方式中的一种。这两 种优先级方式分别被称之为固定优先级和循环优先 级
82C37A的内部结构 82C37A的定时及控制部件产生外部总线接口所 需要的控制信号。例如,它接受READY及 等输入 信号,产生ADSTB及AEN等输出信号。这些信号与 输入到82C37A的时钟信号一起进行的是同步操作。 目前高速的82C37A可在12.5MHz的最大时钟速率 下进行操作 如果82C37A收到多个DMA服务请求,那么它将 按优先级的高低来处理这些DMA服务请求。在软件 控制之下,可选择两种优先级方式中的一种。这两 种优先级方式分别被称之为固定优先级和循环优先 级 CS
82C37A的内部结构 固定优先级方式是在数值上按由小到大顺序给各个 通道指定优先级,即通道0的优先级最高,而通道3 的优先级最低 ■循环优先级的初始化优先级级别与固定优先级相同 但是,当某个特定级别的DMA请求得到服务之后, 进行优先级循环,先前得到服务的通道被指定为最 低优先级 例如,假设初始化优先级为1的刚刚被服务过,此 时通道2就会处于最高优先级,而通道1则被循环到 最低优先级
◼ 固定优先级方式是在数值上按由小到大顺序给各个 通道指定优先级,即通道0的优先级最高,而通道3 的优先级最低 ◼ 循环优先级的初始化优先级级别与固定优先级相同。 但是,当某个特定级别的DMA请求得到服务之后, 进行优先级循环,先前得到服务的通道被指定为最 低优先级 ➢ 例如,假设初始化优先级为1的刚刚被服务过,此 时通道2就会处于最高优先级,而通道1则被循环到 最低优先级 82C37A的内部结构
82C37A的内部结构 82C37A芯片的命令控制电路对通过微处 理器接口送给它的寄存器命令进行译码,由 此来确定这次访问的是哪一个寄存器,以及 将要形成的是哪种类型操作;另外,在DMA 操作期间,它通常还要对该电路由程序所决 定的操作方式进行译码
82C37A的内部结构 82C37A芯片的命令控制电路对通过微处 理器接口送给它的寄存器命令进行译码,由 此来确定这次访问的是哪一个寄存器,以及 将要形成的是哪种类型操作;另外,在DMA 操作期间,它通常还要对该电路由程序所决 定的操作方式进行译码
82C37A的内部结构 由图9-1的逻辑框图可以看出,82c37A 有12个不同类型的内部寄存器。例如当前地 址寄存器、当前计数寄存器、命令寄存器 屏蔽寄存器以及状态寄存器等。所有这些寄 存器的名称已列于表91之中,同时在表中还 列出了它们的大小及个数。注意,图中有4个 当前地址寄存器,且其大小均为16位,即4 个DMA通道的每一个通道都有一个当前地址 寄存器
82C37A的内部结构 由图9-1的逻辑框图可以看出,82C37A 有12个不同类型的内部寄存器。例如当前地 址寄存器、当前计数寄存器、命令寄存器、 屏蔽寄存器以及状态寄存器等。所有这些寄 存器的名称已列于表9-1之中,同时在表中还 列出了它们的大小及个数。注意,图中有4个 当前地址寄存器,且其大小均为16位,即4 个DMA通道的每一个通道都有一个当前地址 寄存器