- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
每传送一个字节,当前寄存器内容加1或减1(由模式寄存器设定)修正,当前字节数计数器从初始值减到0,还要再传输一个字节,从0变成0FFFFH后,才发出EOP信号结束DMA过程. 初始化编程时把真正传输的字节数减1后再写到字节数计数器中. 如设置了自动重置功能, 当EOP信号产生时, 将自动把基地址寄存器和基字节数寄存器的内容再次置入当前地址寄存器和当前字节数寄存器,重复DMA传输. 自动重置功能在写模式寄存器时由D5写入 2.功能型 命令寄存器 模式寄存器 请求寄存器 屏蔽寄存器 状态寄存器 0 禁止存储器到存储器传送 1 允许存储器到存储器传送 D0 D1 D2 D3 D4 D5 D6 D7 0 DACK低电平有效 1 DACK高电平有效 0 DREQ高电平有效 1 DREQ低电平有效 0 正常写 1 扩展写 X 若D3=1 0 固定优先权 1 循环优先权 0 禁止通道0地址保存 1 允许通道0地址保存 X 若D0=0 0 允许8237工作 1 禁止工作 0 普通时序 1 压缩时序 命令寄存器 0 1 2 3 最高 最低 4个通道优先级从高到低的次序为:通道 0, 1, 2, 3 固定优先权 最高 使刚服务过的通道i的优先级变为最低,使通道i+1的优先级变为最高.例如,设某次传输后优先级次序为通道: 2 3 0 1 最高 最低 若通道2服务,后优先级次序变为: 3 0 1 2 最高 最低 旋转优先权 D7D6规定DACK和DREQ有效极性 D5D3选择工作时序 D4规定优先权编码方式 存储器到存储器传输时,若D1=1,允许将通道1指定的目的存储器一批单元的内容全传到通道0指定的源区的某一单元内容 D2=1,禁止本片工作 一片8237仅一个命令控制字,其内容对4个通道都有效。复位后,各位都清零。 00 校验传送 01 写传送 10 读传送 11 非法 XX 若D7D6=11 D0 D1 D2 D3 D4 D5 D6 D7 0 地址增一 1 地址减一 0 不重置 1 自动重置 00 选择通道0 01 选择通道1 10 选择通道2 11 选择通道3 00 请求传送方式 01 单字节传送方式 10 块传送方式 11 级联方式 模式寄存器 D0 D1 D2 D3 D4 D5 D6 D7 00 选择通道0 01 选择通道1 10 选择通道2 11 选择通道3 0 清除请求 1 设置请求 无关 请求寄存器 每个通道都有一个请求位 可用软件命令对其进行置位/复位操作 对请求位的置位等效于外部产生一个有效的DREQ(I/O设备的DMA请求信号)信号,二者的优先级排队情况也一样。软件请求不受屏蔽寄存器控制,但只能用于块传送方式。存储器到存储器的传送只能用通道0的软件请求启动。一个通道的DMA结束时,其请求位被复位。整个芯片的复位操作清除全部请求寄存器。 关于请求寄存器 D7 D6 D5 D4 D3 D2 D1 D0 00 选择通道0 01 选择通道1 10 选择通道2 11 选择通道3 0 清除屏蔽位 1 置位屏蔽位 无关 寄存器地址 A3~A0=1010B 屏蔽控制字格式1-控制屏蔽某一通道 屏蔽寄存器是公共的 某位置‘1’时,外部对应的DREQ信号被屏蔽,不予响应 D7 D6 D5 D4 D3 D2 D1 D0 无关 0 不屏蔽通道0 1 屏蔽通道0 0不屏蔽通道1 1屏蔽通道1 0不屏蔽通道3 1屏蔽通道3 0不屏蔽通道2 1屏蔽通道2 寄存器地址A3~A0=1111B 屏蔽控制字格式2-控制屏蔽4个通道 对 8237做一次写操作(虚拟写,没有电路接收数据总线上的数据),则将清除屏蔽寄存器所有位 (4个通道全开放)。 此时数据总线上可为任意值 一般情况下,通道在一次DMA传送结束后,自动设置屏蔽位,再次传输需要用软件清除屏蔽位。自动重置在每次DMA传送结束后不设置屏蔽。 清除屏蔽寄存器 (地址A3~A0=1110B) D7 D6 D5 D4 D3 D2 D1 D0 1 通道3请求 1 通道2请求 1 通道1请求 1 通道0请求 1 通道0传输结束 1 通道1传输结束 1 通道2传输结束 1 通道3传输结束 状态寄存器 没有进入DMA前,CPU通过状态字查询。 低4位反映传输完成情况,高4位反映请求情况。 正常计数结束,或外部输入EOP,响应相应位复位。 单字节传输模式下,CPU获得总线控制权,通过这种查询了解DMA进行情况。 状态寄存器 关于软件命令: A3 A2 A1 A0 通道号 读操作(IOR) 写操作(IOW) 0 0 0
文档评论(0)