- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微型计算机接口技术DMA控制器 DMA控制器DMA控制器有二种不同的作用:总线从模块:CPU对DMAC进行预置操作,也就是向DMAC写入内存传送区的首地址、传送字节数和控制字时,DMAC相当于一个外设接口,称为总线从模块或受控器。总线主模块:进行DMA传输时,CPU暂停对系统总线的控制,DMAC取得了对总线的控制权,这时的DMAC称为总线主模块或主控器。1.1 8237A的引脚及内部结构内部结构和外部引脚都相对比较复杂应用观点,内部主要由两类寄存器组成通道专用寄存器通道功用寄存器:控制和状态寄存器1、内部结构2、8237A的引脚(1) 请求与响应信号DREQ0~DREQ3:DMA通道请求。HRQ:总线请求。8237A输出有效的HRQ高电平,向CPU申请使用系统总线。HLDA:总线响应。8237A接受来自CPU的响应信号HLDA,取得了总线的控制权。DACK0~DACK3:DMA通道响应。(2)DMA传送控制信号A0~A7:地址线。DB0~DB7:数据线/高8位地址线。ADSTB:地址选通。DMA传送开始时,输出高有效,把在DB0~DB7上输出的高8位地址锁存在外部锁存器中。AEN:地址允许。输出高有效,将锁存的高8位地址送入系统总线,与芯片此时输出的低8位地址组成16位存储器地址。(2)DMA传送控制信号 (续)MEMR*:存储器读。MEMW*:存储器写。IOR*:I/O读。IOW*:I/O写。READY:准备好。DMA传送的S3下降沿检测到为低时,插入等待状态Sw,直到READY为高才进入第4个时钟周期S4。EOP*:过程结束。DMA传送过程结束,输出一个低有效脉冲。外部输入低脉冲信号,则终结DMA传送。 (3)处理器接口信号 DB0~DB7:数据线。A0~A3:地址线。用以选择芯片内部寄存器。CS*:片选。IOR*:I/O读。读取8237A内部寄存器。IOW*:I/O写。写入8237A内部寄存器。CLK:时钟。RESET:复位。1.2 8237A的工作时序·空闲周期8237A的任一通道都没有DMA请求时。8237A由微处理器控制作为一个接口芯片。CPU可对8237A编程,或从8237A读取状态。8237A采样CS*选片信号,该信号有效,CPU就要对8237A进行读/写操作。8237A还采样通道的请求输入信号DREQ,该信号有效,就进入有效周期。进入有效周期1.2 8237A的工作时序·有效周期8237A采样到外设有DMA请求,就脱离空闲周期进入有效周期。8237A作为系统的主控芯片,控制DMA传送操作。DMA传送借用系统总线完成,其控制信号以及工作时序类似CPU总线周期。进入DMA传送时序SiSiS0S0S1S2S3S4S2S3S4SiSiCLKDREQHRQHLDAAENADSTBDB0~DB7A0~A7DACK MEMR(IOR)IOW(MEMW)S1状态——输出16位存储器地址AEN输出高电平,表示DMA传送S2状态——输出16位RAM地址和发DACK信号寻址I/O设备DMA读:MEMR* DMA写:IOR*S3状态——送出写操作所需的控制信号DMA读:IOW* DMA写:MEMW*Sw状态——检测数据传送是否能够完成,决定是否插入等待状态SwS4状态——完成数据传送DMA传送时序1.3 8237A的编程使用8237A共有10种内部寄存器,对它们的操作有时需要配合3个软件命令。8237A的“软件命令”不需要通过数据总线写入控制字直接由地址和控制信号译码实现全部都用地址A0~A3区分1. 8237A通道专用寄存器工作方式寄存器基地址寄存器 基字节数寄存器 当前地址寄存器当前字节寄存器 工作方式寄存器存放相应通道的方式控制字选择某个DMA通道的工作方式其中用最低2位选择哪个DMA通道请看方式字的格式方式字格式D7 D6D5D4D3 D2D1 D000 请求模式01 单字节模式10 数据块模式11 级联模式00 DMA校验01 DMA写10 DMA读11 非法0 地址增量(加1)1 地址减量(减1)0 禁止自动初始化1 允许自动初始化00 通道001 通道110 通道211 通道3基地址寄存器和基字节寄存器基地址寄存器存放DMA传送的内存起始地址,基字节数寄存器存放DMA传送的字节数减1。寄存器的内容在初始化时由程序写入,先写低字节,后写高字节,其内容在整个数据块的DMA传输过程中保持不变。这二个寄存器的内容只能写入,不能读出。现行地址寄存器保持DMA传送的当前地址值;每次传送后该寄存器的值自动加1或减1;这个寄存器的值可由CPU读出。 现行字节数寄存器保持DMA传送的剩余字节数每次传送后,该寄存器的值减1这个寄存器的值可由CPU读出该寄存器的值减至0,再减1(从0减到FFFFH)
原创力文档


文档评论(0)