- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch9dma控制器的编本程结构及编程
D7、D6:决定DREQ和DACK的有效电平。 D5:扩展写和不扩展写 D5=1:扩展写信号,表示写脉冲加宽。 D5=0:不扩展写信号,表示正常时序。 D4:控制通道的优先权 D4=0:采用固定优先级,DREQ0最高,DREQ3最低。 D4=1:采用循环优先级。已服务过的通道优先权变为最低,其下一个通道优先权变为最高。 * 9.3 8237A的工作方式和方式寄存器 2. 8237A的控制寄存器和有关问题 (1) 8237A命令寄存器(只写) * 9.3 8237A的工作方式和方式寄存器 2. 8237A的控制寄存器和有关问题 (1) 8237A命令寄存器(只写) D3:时序类型 D3=0:普通时序,每传输一个字节需要3个时钟周期。 D3=1:压缩时序,每传输一个字节需要2个时钟周期。 D2:启动和停止8237A的工作。 D2=0:启动;D2=1:停止。 该位影响所有的通道 D1:通道0地址保持。用于内存到内存的传输。 D1=0:不保持。D1=1:保持。 配合D0位使用。 D0:允许和禁止内存到内存传输。 D0=1:允许。D0=0:禁止。 在实现内存到内存的传输时,需把源数据先送到8237的暂存器中,然后再送到目的区。这时,用通道0的地址寄存器存放源地址,用通道1的地址寄存器和字节计数器存放目的地址和计数值。传输时,目的地址寄存器的值正常加1或减1,但源地址寄存器的值可通过设置D1=1而保持不变,这样可使同一数据传输到整个选定的内存区域。 * 9.3 8237A的工作方式和方式寄存器 2. 8237A的控制寄存器和有关问题 (1) 8237A命令寄存器(只写) 【例】PC微机中的8237A-5,按如下要求工作:禁止存储器到存储器传送,正常时序,滞后写入,固定优先级,允许8237A-5工作,DREQ信号高电平有效,DACK信号低电平有效。已知写命令寄存器对应的地址为08H,请给出写命令的程序段。 命令字为 写命令字代码段: MOV AL, 00H OUT 08H, AL * 9.3 8237A的工作方式和方式寄存器 2. 8237A的控制寄存器和有关问题 低4位表示哪些DMA通道传送结束。 高4位表示哪些通道有DMA请求还未处理。 状态位在复位或被读出后,均被清零。 * 9.3 8237A的工作方式和方式寄存器 3. 8237A的状态寄存器的格式 (1)请求标志和请求寄存器(只写) 一般DMA请求由硬件发出,通过DREQ引脚引入DMA请求。但也可通过软件来发出DMA请求。 若是内存到内存传输,则必须由软件请求启动通道0。 仅适用于块传输方式,传送结束信号EOP自动清除请求位。 * 9.3 8237A的工作方式和方式寄存器 4. 8237A的请求标志、屏蔽标志和复位命令 (2)屏蔽寄存器(只写) 用来禁止或允许通道的DMA请求。各通道相互独立。复位使4个通道全被屏蔽。有以下两种形式: 单通道屏蔽寄存器:每次只能屏蔽一个通道。 * 9.3 8237A的工作方式和方式寄存器 4. 8237A的请求标志、屏蔽标志和复位命令 四通道屏蔽寄存器:可同时屏蔽4个通道。 低4位全部置1,则屏蔽所有的DMA请求。 低4位全部置0,则允许所有的DMA请求。 * 9.3 8237A的工作方式和方式寄存器 4. 8237A的请求标志、屏蔽标志和复位命令 (2)屏蔽标志和屏蔽寄存器 【例】为了在每次软盘读/写操作时,进行DMA初始化都必须开放通道2,以便响应软盘的DMA请求,可采用下述两种方法之一来实现。(已知屏蔽单通道屏蔽寄存器和4通道屏蔽寄存器对应的地址分别为0AH和0FH) 使用单通道屏蔽寄存器 MOV AL, ;最低3位=010,开放通道2 OUT 0AH, AL ;写单个通道屏蔽寄存器 使用4通道屏蔽寄存器 MOV AL, ;最低4位为1011,开放通道2 OUT 0FH, AL ;写四通道屏蔽寄存器 * 9.3 8237A的工作方式和方式寄存器 4. 8237A的请求标志、屏蔽标志和复位命令 * 9.3 8237A的工作方式和方式寄存器 4. 8237A的请求标志、屏蔽标志和复位命令 (3)总清命令 与硬件的Reset信号功能相同。 使得DMA控制器内部的命令寄存器、状态寄存器、请求寄存器、暂存寄存器、字节指针都清0。 使得屏蔽寄存器全置1,禁止所有的DMA请求。 MOV AL, 00H ;AL为任意值 OUT 0DH, AL ;写入对应的端口 * 9.4 8237A各寄存器对应的端口地址 8237A DMA控制器进行读、写操作共有16个端口,使用地址线A3 ~ A0 进行
文档评论(0)