a8237
可编程
DMA控制器
数据表
1999年4月版。 1.01
特点
s
s
s
s
s
s
s
a8237
MegaCore功能实现可编程的直接
存储器存取(DMA)控制器
优化FLEX
架构
提供了4个独立通道
提供静态读/写或握手模式
包括直接置位/复位功能
使用大约1,201 FLEX逻辑单元(LE )
功能基于Intel 8237A和哈里斯82C37A设备,
除非在说明
24页的“变奏曲&澄清”
一般
描述
该
a8237
MegaCore功能实现了一个可编程DMA
控制器,其控制存储器到外设和存储器用于─
内存中的数据传输,并提供块存储器初始化
能力。四个独立的可编程通道可用
该
a8237,
和DMA请求可以通过硬件或软件来进行。
图1
显示该符号
a8237.
图1. a8237符号
A8237
CLK
HLDA
NCS
neopin
niorin
niowin
准备
RESET
ain[3..0]
dbin[7..0]
dreq[3..0]
ADSTB
AEN
DBEN
DMAENABLE
HRQ
neopout
niorout
niowout
nMEMR
nMEMW
aout[7..0]
dack[3..0]
dbout[7..0]
Altera公司。
A-DS-A8237-01.01
5
a8237可编程DMA控制器数据表
表1
描述的输入和输出端口
a8237
的MegaCore
功能。
表1. a8237端口( 2个第1部分)
名字
CLK
HLDA
NCS
neopin
niorin
niowin
准备
TYPE
输入
输入
输入
输入
输入
输入
输入
极性
–
高
低
低
低
低
高
描述
时钟。用于生成和同步
a8237
操作。
持有认可。来自微处理器这个信号表示
系统总线释放到
a8237.
片选。当
NCS
是活动的,则
a8237
被选择,并且读取和
写记录到内部寄存器被启用。
结束进程。允许外部终端当前DMA服务。
I / O读控制。当
niorin
低并且
a8237
被选择时,读
从内部寄存器事务被启用。
I / O写控制。当
niowin
低并且
a8237
被选择时,数据是
异步地写入到
a8237.
准备好了。扩展了缓慢的内存相关的读取和写入脉冲
或外围设备。当
准备
低时,等待状态被插入直到
准备
返回高电平。
复位。清除命令,状态请求,和临时寄存器。
还清除字节指针,模式寄存器计数器,并且所述控制器
状态机。设置屏蔽寄存器提出请求后,被忽略
初始化。
寄存器地址总线。选择内部的一个
a8237
寄存器。看
表2第9页。
数据总线输入。所述微处理器通过将数据写入到内部寄存器
该
dbin[7..0]
总线。
DMA请求总线。可编程极性。从异步信号
外设请求DMA服务。
地址选通。锁存从DMA地址的最高位
dbout[7..0]
到外部地址锁存器中。
地址启用。使含有最外部地址锁存
DMA传输的显著地址字节。
数据总线实现。活性时被读出的数据的寄存器。期间还积极
DMA传输,允许地址的最显著位(MSB)到
内存到内存中锁定临时寄存器数据的输出
写道。
DMA启用。在一个激活的DMA周期断言。可以创建
从双向信号
niorin , niorout , niowin ,
和
niowout
信号,而低4位地址总线。
保持请求。请求对系统总线的控制。
结束进程。表示正常终止DMA传输。
I / O读取输出。读选通I / O设备的DMA写入内存。
RESET
输入
高
ain[3..0]
dbin[7..0]
dreq[3..0]
ADSTB
AEN
DBEN
输入
输入
输入
产量
产量
产量
–
–
–
高
高
高
DMAENABLE
产量
高
HRQ
neopout
niorout
产量
产量
产量
高
低
低
6
Altera公司。
a8237可编程DMA控制器数据表
表1. a8237端口( 2/2 )
名字
niowout
nMEMR
nMEMW
aout[7..0]
dack[3..0]
dbout[7..0]
TYPE
产量
产量
产量
产量
产量
产量
极性
低
低
低
–
–
–
描述
I / O写入输出。写选通I / O设备的DMA从内存中读取。
内存读取。读选通到存储单元中的DMA读取或
存储器到存储器之间的传输。
内存写入。写选通到存储单元中写入DMA或
存储器到存储器之间的传输。
地址输出。在DMA服务,
aout[7..0]
包括至少
在DMA地址显著字节。
DMA应答总线。可编程极性。表示一个DMA周期
已授予的外围。
数据总线输出。该微处理器读出从内部寄存器中的数据
通过
dbout[7..0]
总线。也可用于输出最显著字节
存储器到存储器中保持的DMA地址和临时数据的
接送。
Altera公司。
7
a8237可编程DMA控制器数据表
实用
描述
图2
示出的方框图
a8237
MegaCore功能。
图2. a8237框图
HLDA
NCS
neopin
niorin
niowin
准备
RESET
ain[3..0]
dbin[7..0]
控制
逻辑
(状态机
和解码器)
国内
控制
信号的
HRQ , AEN , adstb
niorout , niowout
nmemr , nmemw
DBEN , dmaenable , neopout
DMA地址寄存器
通道0
BASE
通道1
BASE
模式
注册
通道0
通道1
通道2
通道3
命令
注册
临时
注册
通道2
BASE
通道3
BASE
通道0
当前
通道1
当前
通道2
当前
通道3
当前
aout[7..0]
临时
注册
aout[15..8]
到DBOUT [7..0]
DMA字数寄存器
通道0
BASE
通道1
BASE
通道2
BASE
通道3
BASE
通道0
当前
通道1
当前
通道2
当前
通道3
当前
临时
注册
to
控制
逻辑
状态
注册
aout[15..8]
dbout[7..0]
数据
产量
多路复用器
请求
注册
面膜
注册
请求
优先
编码器
dack[3..0]
其他
注册
dreq[3..0]
CLK
程序设计
在几个寄存器
a8237
DMA周期前,必须编程
可以被执行。然而,为了避免不可预知的行为,禁用
在编程过程中的DMA周期通过设置命令的第2位
注册。
8
Altera公司。
a8237可编程DMA控制器数据表
微处理器可以编程
a8237
当
NCS
输入和
ain[3..0]
总线断言。当
niowin
和
ain[3..0]
断言,
微处理器将数据写入通过内部寄存器
dbin[7..0]
总线。当
niorin
和
ain[3..0]
被断言,则微处理器读取
从通过内部寄存器中的数据
dbout[7..0]
总线。看
“主机处理器
写时序“
和
“主机处理器读时序”
in
网络连接gure 3 。
该字节的指针位必须操作之前切换到正确的值
在DMA地址寄存器和字计数寄存器。一组字节
指针和清晰的模式寄存器计数器指令可以改变
寄存器的内容,有效地充当写命令。
注册地址地图
表2
显示寄存器地址映射为
a8237.
表2.注册地址地图
AIN3 AIN2 AIN0 AIN1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
3
2
1
通道
0
写
(1), (2)
基地和当前DMA地址寄存器
基地和当前DMA字计数寄存器
基地和当前DMA地址寄存器
基地和当前DMA字计数寄存器
基地和当前DMA地址寄存器
基地和当前DMA字计数寄存器
基地和当前DMA地址寄存器
基地和当前DMA字计数寄存器
命令寄存器
单请求位指令
单屏蔽位指令
模式寄存器
清除字节的指针命令
主清除命令
清除屏蔽寄存器命令
屏蔽寄存器
读
(1), (2)
当前DMA地址寄存器
当前DMA字计数寄存器
当前DMA地址寄存器
当前DMA字计数寄存器
当前DMA地址寄存器
当前DMA字计数寄存器
当前DMA地址寄存器
当前DMA字计数寄存器
状态寄存器
申请注册
命令寄存器
模式寄存器
设置字节的指针命令
临时寄存器
清除模式寄存器计数器
屏蔽寄存器
X
X
X
X
X
X
X
X
注意事项:
(1)
如果该字节的指针设置为0 ,字节指针标志选择至少显著字节。
如果字节指针被设置为1时,字节指针标志选择最显著字节。
该字节的指针标志是一个单比特内部寄存器,或者选择至少显著或最显著字节
的16位寄存器中的
a8237,
允许微处理器编写,并通过8位数据总线读出。看
清除
字节的指针命令“
和
第17页的“设置字节的指针命令”
了解更多信息。
该X表示“不关心”。
(2)
Altera公司。
9
a8237
可编程
DMA控制器
数据表
1999年4月版。 1.01
特点
s
s
s
s
s
s
s
a8237
MegaCore功能实现可编程的直接
存储器存取(DMA)控制器
优化FLEX
架构
提供了4个独立通道
提供静态读/写或握手模式
包括直接置位/复位功能
使用大约1,201 FLEX逻辑单元(LE )
功能基于Intel 8237A和哈里斯82C37A设备,
除非在说明
24页的“变奏曲&澄清”
一般
描述
该
a8237
MegaCore功能实现了一个可编程DMA
控制器,其控制存储器到外设和存储器用于─
内存中的数据传输,并提供块存储器初始化
能力。四个独立的可编程通道可用
该
a8237,
和DMA请求可以通过硬件或软件来进行。
图1
显示该符号
a8237.
图1. a8237符号
A8237
CLK
HLDA
NCS
neopin
niorin
niowin
准备
RESET
ain[3..0]
dbin[7..0]
dreq[3..0]
ADSTB
AEN
DBEN
DMAENABLE
HRQ
neopout
niorout
niowout
nMEMR
nMEMW
aout[7..0]
dack[3..0]
dbout[7..0]
Altera公司。
A-DS-A8237-01.01
5
a8237可编程DMA控制器数据表
表1
描述的输入和输出端口
a8237
的MegaCore
功能。
表1. a8237端口( 2个第1部分)
名字
CLK
HLDA
NCS
neopin
niorin
niowin
准备
TYPE
输入
输入
输入
输入
输入
输入
输入
极性
–
高
低
低
低
低
高
描述
时钟。用于生成和同步
a8237
操作。
持有认可。来自微处理器这个信号表示
系统总线释放到
a8237.
片选。当
NCS
是活动的,则
a8237
被选择,并且读取和
写记录到内部寄存器被启用。
结束进程。允许外部终端当前DMA服务。
I / O读控制。当
niorin
低并且
a8237
被选择时,读
从内部寄存器事务被启用。
I / O写控制。当
niowin
低并且
a8237
被选择时,数据是
异步地写入到
a8237.
准备好了。扩展了缓慢的内存相关的读取和写入脉冲
或外围设备。当
准备
低时,等待状态被插入直到
准备
返回高电平。
复位。清除命令,状态请求,和临时寄存器。
还清除字节指针,模式寄存器计数器,并且所述控制器
状态机。设置屏蔽寄存器提出请求后,被忽略
初始化。
寄存器地址总线。选择内部的一个
a8237
寄存器。看
表2第9页。
数据总线输入。所述微处理器通过将数据写入到内部寄存器
该
dbin[7..0]
总线。
DMA请求总线。可编程极性。从异步信号
外设请求DMA服务。
地址选通。锁存从DMA地址的最高位
dbout[7..0]
到外部地址锁存器中。
地址启用。使含有最外部地址锁存
DMA传输的显著地址字节。
数据总线实现。活性时被读出的数据的寄存器。期间还积极
DMA传输,允许地址的最显著位(MSB)到
内存到内存中锁定临时寄存器数据的输出
写道。
DMA启用。在一个激活的DMA周期断言。可以创建
从双向信号
niorin , niorout , niowin ,
和
niowout
信号,而低4位地址总线。
保持请求。请求对系统总线的控制。
结束进程。表示正常终止DMA传输。
I / O读取输出。读选通I / O设备的DMA写入内存。
RESET
输入
高
ain[3..0]
dbin[7..0]
dreq[3..0]
ADSTB
AEN
DBEN
输入
输入
输入
产量
产量
产量
–
–
–
高
高
高
DMAENABLE
产量
高
HRQ
neopout
niorout
产量
产量
产量
高
低
低
6
Altera公司。
a8237可编程DMA控制器数据表
表1. a8237端口( 2/2 )
名字
niowout
nMEMR
nMEMW
aout[7..0]
dack[3..0]
dbout[7..0]
TYPE
产量
产量
产量
产量
产量
产量
极性
低
低
低
–
–
–
描述
I / O写入输出。写选通I / O设备的DMA从内存中读取。
内存读取。读选通到存储单元中的DMA读取或
存储器到存储器之间的传输。
内存写入。写选通到存储单元中写入DMA或
存储器到存储器之间的传输。
地址输出。在DMA服务,
aout[7..0]
包括至少
在DMA地址显著字节。
DMA应答总线。可编程极性。表示一个DMA周期
已授予的外围。
数据总线输出。该微处理器读出从内部寄存器中的数据
通过
dbout[7..0]
总线。也可用于输出最显著字节
存储器到存储器中保持的DMA地址和临时数据的
接送。
Altera公司。
7
a8237可编程DMA控制器数据表
实用
描述
图2
示出的方框图
a8237
MegaCore功能。
图2. a8237框图
HLDA
NCS
neopin
niorin
niowin
准备
RESET
ain[3..0]
dbin[7..0]
控制
逻辑
(状态机
和解码器)
国内
控制
信号的
HRQ , AEN , adstb
niorout , niowout
nmemr , nmemw
DBEN , dmaenable , neopout
DMA地址寄存器
通道0
BASE
通道1
BASE
模式
注册
通道0
通道1
通道2
通道3
命令
注册
临时
注册
通道2
BASE
通道3
BASE
通道0
当前
通道1
当前
通道2
当前
通道3
当前
aout[7..0]
临时
注册
aout[15..8]
到DBOUT [7..0]
DMA字数寄存器
通道0
BASE
通道1
BASE
通道2
BASE
通道3
BASE
通道0
当前
通道1
当前
通道2
当前
通道3
当前
临时
注册
to
控制
逻辑
状态
注册
aout[15..8]
dbout[7..0]
数据
产量
多路复用器
请求
注册
面膜
注册
请求
优先
编码器
dack[3..0]
其他
注册
dreq[3..0]
CLK
程序设计
在几个寄存器
a8237
DMA周期前,必须编程
可以被执行。然而,为了避免不可预知的行为,禁用
在编程过程中的DMA周期通过设置命令的第2位
注册。
8
Altera公司。
a8237可编程DMA控制器数据表
微处理器可以编程
a8237
当
NCS
输入和
ain[3..0]
总线断言。当
niowin
和
ain[3..0]
断言,
微处理器将数据写入通过内部寄存器
dbin[7..0]
总线。当
niorin
和
ain[3..0]
被断言,则微处理器读取
从通过内部寄存器中的数据
dbout[7..0]
总线。看
“主机处理器
写时序“
和
“主机处理器读时序”
in
网络连接gure 3 。
该字节的指针位必须操作之前切换到正确的值
在DMA地址寄存器和字计数寄存器。一组字节
指针和清晰的模式寄存器计数器指令可以改变
寄存器的内容,有效地充当写命令。
注册地址地图
表2
显示寄存器地址映射为
a8237.
表2.注册地址地图
AIN3 AIN2 AIN0 AIN1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
3
2
1
通道
0
写
(1), (2)
基地和当前DMA地址寄存器
基地和当前DMA字计数寄存器
基地和当前DMA地址寄存器
基地和当前DMA字计数寄存器
基地和当前DMA地址寄存器
基地和当前DMA字计数寄存器
基地和当前DMA地址寄存器
基地和当前DMA字计数寄存器
命令寄存器
单请求位指令
单屏蔽位指令
模式寄存器
清除字节的指针命令
主清除命令
清除屏蔽寄存器命令
屏蔽寄存器
读
(1), (2)
当前DMA地址寄存器
当前DMA字计数寄存器
当前DMA地址寄存器
当前DMA字计数寄存器
当前DMA地址寄存器
当前DMA字计数寄存器
当前DMA地址寄存器
当前DMA字计数寄存器
状态寄存器
申请注册
命令寄存器
模式寄存器
设置字节的指针命令
临时寄存器
清除模式寄存器计数器
屏蔽寄存器
X
X
X
X
X
X
X
X
注意事项:
(1)
如果该字节的指针设置为0 ,字节指针标志选择至少显著字节。
如果字节指针被设置为1时,字节指针标志选择最显著字节。
该字节的指针标志是一个单比特内部寄存器,或者选择至少显著或最显著字节
的16位寄存器中的
a8237,
允许微处理器编写,并通过8位数据总线读出。看
清除
字节的指针命令“
和
第17页的“设置字节的指针命令”
了解更多信息。
该X表示“不关心”。
(2)
Altera公司。
9