DMA控制器和计数定时器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 1 1 1 1 1 1 1
6
二、8237A的工作模式
8237A有四种工作模式,每个通道可以用四 种模式之一工作。
(1) 单字节传输模式:
此方式下,8237A一次请求总线只传送一个 字节,就释放总线控制权。8237A和CPU交替管 理。 、
7
(2)块传输模式: 在此方式下,由DREQ启动后就连续的传送数 据,直至完成预定字节数的传送或由外部I/O接 口输入有效的EOP信号,8237A才释放总线控制权 而结束传输。 (3)请求传输模式: 此模式与块传输模式类似,所不同的是在每 传输 1B后,8237A都对DREQ端进行测试,若仍有 效则继续传送,若无效则立即停止传送,待 DREQ 再次有效后继续传送。
01=单字节传输 10=块传输 11=级联传输
传输类型选择: 00=校验传输 01=写传输 10=读传输 11=无意义 自动预置功能选择: 0=禁止 1=允许
通道选择: 00=选择通道0 01=选择通道1 10=选择通道2 11=选择通道3
内存 I/O
地址增减选择: 0=地址加1 1=地址减1
10
写:I/O 读:内存
17
8. 8237A的特殊软件命令
(1)复位命令 也叫主清除命令Master Clear)或综合清除命 令;该命令与硬件的Reset信号相同,即它使控制、 状态、DMA请求、暂存器以及内部的先/后触发器都 清0,而使屏蔽寄存器置为全“1”。执行主清除命 令 后,使8237进入空闲周期,以便对其编程。
/写控制端;在CPU对8237A进行读/写时。
5
8237工作时各信号的配合: (2) 当作为主模块工作时 当8237A 作为主模块工作时,它会往总线上提 供要访问的内存地址,此时CS、AEN信号为高电平。
作为主模块工作时,8237A还必须输出IOR、IOW
MEMR、MEMW读/写信号。 另外最高4位地址在传输前,用指令送到一I/O 端口中,所以DMA传输时,每次传输字节限制在216 以下。
读当前字节计数器 写基和当前字节计数器
读当前地址寄存器 写基和当前地址寄存器 读当前字节计数器 写基和当前字节计数器 读当前地址寄存器 写基和当前地址寄存器 读当前字节计数器 写基和当前字节计数器
8237A内部寄存器的寻址 A3 A2 A1 A0 通道号 读操作(IOR)
续表
写操作(IOW)
写命令寄存器 写请求标志寄存器 写屏蔽标志寄存器 写模式寄存器 清除先/后触发器 发复位命令 清除屏蔽标志
19
四、8237A内部寄存器的寻址
一片8237A占用16个连续的I/O端口地址。
在片选信号CS有效的前提下,由地址信号
A3— A0,IOR及IOW实现对8237A内部寄存器
(I/O端口)的寻址。 A3 — A0给出了各寄存器 对应的端口地址的低 4位。 8237A内部寄存器的寻址情况如表所示:
20
8
(4)级联传输模式:
此模式下,将几个8237A进行级联,构成主从式 DMA系统,以扩展DMA通道数。最多可以由 5个8237A 构成二级DMA系统,得到16个DMA通道。
9
三、8237A的寄存器及格式
1. 8237A模式寄存器的格式
D7 D6 D5 D4 D3 D2 D1 D0
模式选择: 00=请求传输
18
8. 8237A的特殊软件命令
(2)清除先/后触发器命令 是用来控制DMA通道中地址寄存器和字节计数器 的初值而设置的。 若该触发器为“0”,则读/写低8位;若为“1”, 则读/写高8位。每当对16位寄存器进行一次读/写操 作,则触发器改变一次状态。 为了保证对16位寄存器的读/写是从低字节开始, 应事先用此软件命令使先/后触发器强制清零。
8237A内部寄存器的寻址 A3 A2 A1 A0 通道号 读操作(IOR) 写操作(IOW)
0 0 0 0 0 0 0 0
21
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
读当前地址寄存器 写基和当前地址寄存器
0
1 2 3
读当前字节计数器 写基和当前字节计数器 读当前地址寄存器 写基和当前地址寄存器
15
7. 暂存寄存器 为8位,用于内存到内存传输时,暂时保存从 源单元读出的数据,并经它再写入到目的单元。 此字节可由CPU读出。Reset信号使该寄存器复 位。
16
8. 8237A的特殊软件命令 CPU向8237A输出的软件命令可分为两种不同 的类型: 一类是普通软件命令,这类命令不仅与写入 的端口地址有关,也与写入软件命令时数据总线 上的位模式有关; 另一类软件命令即特殊的软件命令,这类命 令只与写入的端口地址有关,而写入软件命令时 数据总线上的位模式无关。
2
一、8237A的编程结构和对外引脚信号
8237芯片采 用40个引脚 双列直插式 封装。
来自百度文库
3
4
8237工作时各信号的配合: (1) 当作为从模块工作时 8237A就像I/O接口一样作为总线的从模块工
作,此时CS、HRQ和AEN一定为低电平。
8237接收16位地址,用高12位地址产生片选信
号,用低4位来选择内部寄存器;用IOR和IOW作为读
2. 8237A的控制寄存器的格式
11
3. 状态寄存器的格式
12
4. 请求寄存器的格式
硬件DMA请求是由I/O接口发的DREQ信号实现的;而软件的 DMA请求是通过使相应通道的“请求位”置位来实现的。此信号 会反映到“状态寄存器”中。 13
5. 8237A的屏蔽寄存器的格式
14
6. 8237A的综合屏蔽寄存器的格式
1
7.1 DMA控制器8237A
Intel8237A是一种功能很强的可编程DMA控制器。采 用5MHZ时钟时,其传输速率可达 1.6MB/s;一片8237A内 部有四个独立的DMA通道,每个通道一次DMA传送的最大长 度可达64KB;每个通道的DMA请求都可以分别允许和禁止; 不同通道的DMA请求有不同的优先级,优先级可以是固定 的,也可以是循环的(可编程确定);四个通道可以分时 地为四个外部设备实现 DMA传送,也可以同时使用其中的 通道0和通道1实现存储器到存储器的直接传送,还可以用 多片8237A进行级联,从而构成更多的DMA通道。
相关文档
最新文档