12128237的结构与引脚 减量器 增量器 I/0 EOP 缓冲 RESET 暂时字节数 暂时地址 寄存器〔16〕 寄存器〔16 READY |输出缓冲十 CLK 定 AErI 和 控制读缓冲 读写缓冲 ADSTB 命令 基地址基字计行现行宇 控制 16)数(16)地址 〔16):〔16) MEMR 工oW 写线冲读缓冲 内部数f据总」线 DREQ I/0 DREQ 命令〔8 缓冲 HRQ 优先权 HLDA 控制屏(4读写 DACKO -DACK3 方式状态(8】临时(8 请求〔4 〔4×6)
12.1.2 8237的结构与引脚
8237的方框图如上页所示,主要包含以下几个部分: 四个独立的DMA通道 每个通道都有一个16位的基地址寄存器、一个16位的基字 节数计数器、一个16位的当前地址寄存器和一个16位的当前字 节数计数器及一个8位的方式寄存器,方式寄存器接收并保存来 自于CPU的方式控制字,使本通道能够工作于不同的方式下 2.定时及控制逻辑电路 对在DMA请求服务之前,CPU编程对给定的命令字和方 式控制字进行译码,以确定DMA的工作方式,并控制产生所需 要的定时信号; 3.优先级编码逻辑 对通道进行优先级编码,确定在同时接收到不同通道的 DMA请求时,能够确定相应的先后次序。通道的优先级可以通 过编程确定为是固定的或者是循环的
8237的方框图如上页所示,主要包含以下几个部分: 1.四个独立的DMA通道 每个通道都有一个16位的基地址寄存器、一个16位的基字 节数计数器、一个16位的当前地址寄存器和一个16位的当前字 节数计数器及一个8位的方式寄存器,方式寄存器接收并保存来 自于CPU的方式控制字,使本通道能够工作于不同的方式下; 2.定时及控制逻辑电路 对在DMA请求服务之前,CPU编程对给定的命令字和方 式控制字进行译码,以确定DMA的工作方式,并控制产生所需 要的定时信号; 3.优先级编码逻辑 对通道进行优先级编码,确定在同时接收到不同通道的 DMA请求时,能够确定相应的先后次序。通道的优先级可以通 过编程确定为是固定的或者是循环的
4.共用寄存器 除了每个通道中的寄存器之外,整个芯片还有一些共用的 的寄存器:包括1个16位的地址暂存寄存器,1个16位的字节数 暂存寄存器,1个8位的状态寄存器,1个8位的命令寄存器,1 个8位的暂存寄存器,1个4位的屏蔽寄存器和1个4位的请求寄 存器等。 8237内部寄存器的类型和数量如下表所示,其中,凡数量 为4个的寄存器,则每个通道一个,凡数量只有一个的,则为各 通道所公用。 5.8237的数据引线,地址引线都有三态缓冲器,因而可以接 也可以释放总线
4.共用寄存器 除了每个通道中的寄存器之外,整个芯片还有一些共用的 的寄存器:包括1个16位的地址暂存寄存器,1个16位的字节数 暂存寄存器,1个8位的状态寄存器,1个8位的命令寄存器,1 个8位的暂存寄存器,1个4位的屏蔽寄存器和1个4位的请求寄 存器等。 8237内部寄存器的类型和数量如下表所示,其中,凡数量 为4个的寄存器,则每个通道一个,凡数量只有一个的,则为各 通道所公用。 5.8237的数据引线,地址引线都有三态缓冲器,因而可以接 也可以释放总线
寄存器名 长度(Bt)数量 基地址寄存器 16 基字节数寄存器 16 当前地址寄存器 11 4444 当前字节数寄存器 16 地址暂存寄存器 16 字节数暂存寄存器 16 状态寄存器 命令寄存器 暂存寄存器 方式寄存器 屏蔽寄存器 888644 请求寄存器
寄存器名 长度(Bit ) 数量 基地址寄存器 16 4 基字节数寄存器 16 4 当前地址寄存器 16 4 当前字节数寄存器 16 4 地址暂存寄存器 16 1 字节数暂存寄存器 16 1 状态寄存器 8 1 命令寄存器 8 1 暂存寄存器 8 1 方式寄存器 6 4 屏蔽寄存器 4 1 请求寄存器 4 1
40 IOR lOW MEMR MEMW A NC EOP READY HLDA ADSTB A AEN 8237 HRQ Vcc CS DB CLK DB RESET DB2 DACK2 DB3 DACK3 DB4 DREQ3 DACKo DREQ2 DACK1 DREQ1 DB5 DREQo一 DB6 GND 20 21 DB7
1 4 0 8237 2 0 21 IOR IOW MEMR MEMW N C READY HLDA ADSTB AEN HRQ C S CLK RESET DACK2 DACK3 DREQ3 DREQ2 DREQ1 DREQ0 GND A7 A6 A5 A4 EOP A3 A2 A1 A0 Vcc D B0 D B1 D B2 D B3 D B4 DACK0 DACK1 D B5 D B6 D B7