1、微机原理与接口技术常用的可编程接口芯片第八章3主要内容p8.1 并行通信与并行接口p8.2 可编程并行通信接口芯片 8255Ap8.3 串行通信与串行接口p8.4 可编程串行通信接口芯片 8251Ap8.5 可编程定时 /计数器接口芯片 8253p8.6 DMA控制器 8237Ap8.7 小结4DMA控制器 8237A 8237A性能 含有 4个相互独立的 通道 ,每个通道有独立的 地址寄存器和 字节数寄存器 ,而 控制寄存器 、 状态寄存器 为 4个通道所共用。 每个通道的 DMA请求可以分别被允许 /禁止。 每个通道的 DMA请求有不同的优先权,可以通过程序设置为固定或旋转的方式。 通道中
2、地址寄存器的长度为 16位 ,因而一次 DMA传送的最大数据块的长度为 64KB。 8237有 4种工作方式,分别为 单字节传送、数据块传送、请求传送和级连方式 。 允许用输入信号来结束 DMA传送或重新初始化, 8237可以级连以增加通道数。5DMA控制器 8237A 8237A的内部结构 定时和控制逻辑 命令控制逻辑 优先权控制逻辑 寄存器组 地址 /数据缓冲器等部分 8237A的内部逻辑图 6DMA控制器 8237A 4个独立的 DMA通道每个通道都有一个 16位的 基地址寄存器 ,一个 16位的 基字节数计数器 , 一个 16位的 当前地址寄存器 和一个 16位的 当前字节数计数器 及
3、一个 8位的 方式寄存器 ,方式寄存器接收并保存来自于 CPU的方式控制字,使本通道能够工作于不同的方式下。 定时及控制逻辑电路对在 DMA请求服务之前, CPU编程对给定的命令字和方式控制字进行译 码,以确定 DMA的工作方式,并控制产生所需要的定时信号。 优先级编码逻辑对通道进行优先级编码,确定在同时接收到不同通道的DMA请求时,能够确定相应的先后次序。通道的优先级可以通过编程确定为是固定的或是旋转的。7DMA控制器 8237A8237的内部寄存器 8DMA控制器 8237A9DMA控制器 8237A 8237A的外部引脚 108237A内部寄存器及 读 写操作 基地址寄存器用来存放 DMA传送的 存储器首址 。在初始化时,由 CPU以先低字节后高字节 的顺序写入。传送过程中,基地址寄存器的内容不变,其作用是在自动重装时,将它的内容重新装入当前地址寄存器,只能写,不能读。 当前地址寄存器用来存放 DMA传送过程中的当前存储器地址,在每次传送后, 地址自动增 1(或减 1),它的初值与基地址寄存器的内容相同,并且两者是由 CPU同时在同一端口写入的。在自动重装时,信号使其内容重新置为地址基值,该寄存器内容可读可写。