




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
9.2可编程DMA控制器8237A,DMA(DirectMemoryAccess)的概念DMA系统组成及工作过程Intel8237A可编程DMA控制器框图8237A编程DMA控制器的工作时序,1,DMA(DirectMemoryAccess)的概念DMA方式不用处理器干预完成M与I/O间数据传送。DMA期间系统总线由其它主模块控制(驱动)控制总线的主模块要提供系统的地址及控制信号。DMA控制器与处理器配合可实现系统的DMA功能。,2,2.DMA系统组成及工作过程DMA系统组成,3,DMA工作过程I/O向DMACDMAC向CPU响应DMAC向发请求CPU发请求DMAC请求I/O发响应,DMA传送结束,DMA传送进行,DMAC发出控制信号,DMAC发出内存地址,4,允许DMA,DMA请求?,DMAC发BUS请求,CPU响应DMA放弃BUS,DMAC控制传一个字节,块结束否?,放弃总线中断请求,N,DMA放总线,N,Y,字节传送,Y,DMA传送方式,5,允许DMA,DMA请求?,DMAC发BUS请求,CPU响应DMA放弃BUS,DMAC控制传一个字节,块结束否?,放总线中断请求,DMA请求?,N,Y,Y,N,块传送,DMA传送方式,6,允许DMA,DMA请求?,DMAC发出BUS请求,CPU响应DMA放弃总线,DMAC控制传一个字节,块结束否?,放总线中断请求,Y,DMA请求?,Y,放总线,N,N,Y,随机请求DEMANDREQUEST,DMA传送方式,7,3.Intel8237A可编程DMA控制器框图,8,8237外部引脚,9,8237A主从两面性:作为DMAC,8237A是可控制总线的主模块。作为I/O芯片,8237A可被处理器读写。运行时注意8237A主-从地址的变化。,10,8237A组成说明:8237A有四个独立通道:每个通道有16位地址REG,16位字节数计数器,6位模式REG。四个通道公用控制寄存器,状态寄存器,屏蔽寄存器,请求标志寄存器及暂存器,各寄存器均为8位。基地址寄存器:放DMA传送RAM地址初值。当前地址寄存器:DMA传送时内容变化,可读。基字节数寄存器:DMA传送的总字节数。当前字节数寄存器:DMA传送时内容变化,可读。,11,8237A引线说明:DB7-DB0:双向数据总线。8237A为从模块时被处理器编程或读状态,DB7-DB0作为数据线,传输数据或命令字。8237A为主模块时DB7-DB0输出地址A15-A8,在MM传送操作时经DB7-DB0,将M数据送8237A暂存器。A3-A4:地址线,从模块时为输入,处理器寻址8237A;主模块时输出低压位地址。,12,A7-A4:地址线,主模块时输出A7-A4。CS:片选,从模块时处理器用来寻址8237A。IOR,IOW:I/O读写控制,双向。8237A在从模块时为输入,在主模块时为输出。AEN,ADSTB输出:8位地址锁存允许及选通。在主模块时允许外部锁存器锁存8237A的高8位地址。MEMR,MEMW:输出,存储器读写控制,主模块时送存储器。READY:输入,准备就绪,主模块时控制总线周期的长度,与慢速设备同步。,13,RESET:输入,复位信号,复位时屏幕寄存器置1,其它寄存器置0。EOP:双向。输出时,表明内部通道传送结束;输入时,表明外部强迫DMA传送停止。DREQ0-DREQ3:I/O设备DMA请求输入信号。DACK0-DACK3:输出DMA请求的响应。HRQ:8237A向处理器发出的总线请求信号。HLDA:处理器发给8237A的总线请求响应信号。,14,通道,寄存器,操作,CSIORIOW,A3A2A1A0,内F/F,DB0DB7,0,0,0,1,1,1,1,基本/当前地址,基本/当前字计数,当前地址,当前字计数,基本/当前地址,当前地址,基本/当前字计数,当前字计数,写,写,写,写,读,读,读,读,010010,001001,010010,001001,010010,001001,001001,010010,00000000,00000000,00010001,00010001,00100010,00100010,00110011,00110011,01,01,01,01,01,01,01,01,A0A7A8A15,A0A7A8A15,W0W7W8W15,W0W7W8W15,W0W7W8W15,W0W7W8W15,A0A7A8A15,A0A7A8A15,8237A字计数器与地址寄存器端口号与对应操作(1),8237A编程地址、字计数器端口分配,0,内F/F为字节计数标志,15,通道,寄存器,操作,A3A2A1A0,内F/F,DB0DB7,2,2,3,3,3,3,基本/当前地址,基本/当前字计数,当前地址,当前字计数,基本/当前地址,当前地址,基本/当前字计数,当前字计数,写,写,写,写,读,读,读,读,010010,001001,010010,001001,010010,001001,001001,010010,01000100,01000100,01010101,01010101,01100110,01100110,01110111,01110111,01,01,01,01,01,01,01,01,A0A7A8A15,A0A7A8A15,W0W7W8W15,W0W7W8W15,W0W7W8W15,W0W7W8W15,A0A7A8A15,A0A7A8A15,8237A字计数器与地址寄存器端口号与对应操作(2),2,2,CSIORIOW,16,操作命令与端口号对应关系表,A3A2A1A0IORIOW操作十六进制,100001读状态寄存器8100010写命令/控制寄存器,100101非法9100110写DMA请求标志寄存器,101001非法A101010写屏蔽标志寄存器,101101非法B101110写模式寄存器,110001非法C110010清除字节指针F/F,110101读暂存器D110110复位(总清),111001非法E111010清除/屏蔽标志寄存器,111101非法F111110写所有屏蔽REG,单一位,三个软件命令不依赖DB上数据,所有位,17,8237A模式寄存器格式(写B号):工作方式设定,D7,D6,D5D4,D3,D2,D1,D0,模式选择,随机请求传输模式00,单字节传输模式,0,0,1,1,1,1,非传输模式,级联传输模式,地址增量选择,地址加10,地址减11,自动预置功能选择,禁止0,允许1,通道选择,0选0#Channel,0,0,1,1,1,0,1,选1#Channel,选2#Channel,选3#Channel,传输类型选择,00校验传输,0,0,1,1,1,1,XX,写传输,读传输,非法,D7D6=11,18,8237A控制/命令寄存器格式(写8号):硬件设置与运行控制8237A硬件设置:,D7,D6,D5D4,D3,D2,D1,D0,DACK有效电平,低电平有效0,高电平有效,1,0,1,DREQ有效电平,高电平有效,扩展写,MEM.,0,1,1,0,0,1,Enable8237A,低电平有效,不扩展写,0,扩展写,1,D3=1,X,优先级类型,0,1,固定优先级,循环优先级,MEM.传输,禁止,允许,Channel0地址保持不变,X,Disable,Enable,D0=0,8237A工作,Disable8237A,时序类型,0,1,X,普通时序,压缩时序,D0=1,19,8237ADMA请求寄存器格式(写9号),D7,D6,D3,D2,D1,D0,D5,D4,运行控制,不用,0,清除DMA请求位,建立DMA请求位,1,0,0,Channel0,0,0,1,1,1,1,Channel1,Channel2,Channel3,8237A控制/命令寄存器格式(写9号):硬件设置与运行控制8237A运行控制命令字:软件DMA请求,20,8237A屏蔽寄存器格式(单一位)(写A号),D7,D6,D3,D2,D1,D0,D5,D4,运行控制,不用,0,清除MASK位,建立MASK位,1,0,0,Channel0,0,0,1,1,1,1,Channel1,Channel2,Channel3,通道选择,8237A控制/命令寄存器格式(写A号):硬件设置与运行控制8237A运行控制命令字:设屏蔽字(单通道),21,8237A全4位MASK寄存器格式(写F号),D7,D6,D3,D2,D1,D0,D5,D4,运行控制,不用,0,清Channel3M位,设Channel3M位,1,0,0,1,1,0,清Channel2M位,1,设Channel2M位,清Channel0Mask位,设Channel0Mask位,清Channel1Mask位,设Channel1Mask位,8237A控制/命令寄存器格式(写F号):硬件设置与运行控制8237A运行控制命令字:设屏蔽字(四通道),22,关于3个软件命令:与端口号有关,与DB线上的内容无关。写C号地址:清除字节指针F/F,使将装入顺序为先LSB后MSB。写D号地址:总清除命令,屏蔽寄存器为1,其它寄存器为0,软件复位。写E号地址,清除屏蔽标志。,23,编程过程,HLDA无效时8237A接受P编程,不管HRQ是否有效。编程前禁止8237A:发关闭8237A命令,向8号端口(硬件设置)写04H,或对通道进行屏蔽。用软命令发出总清(MasterClear)操作:向0DH端口执行一次写操作。向有关通道送地址值,计数值,模式字。送硬件设置命令字,打开8237A。去除屏蔽准备接收DMA请求。,24,8237A状态寄存器格式(读8号),D7,D6,D3,D2,D1,D0,D5,D4,通道3有DMA请求1,1:通道0计数结束,通道2有DMA请求1,通道1有DMA请求1,通道0有DMA请求1,1:通道1计数结束,1:通道2计数结束,1:通道3计数结束,状态字,8237A状态监测:可监测运行状态。,25,S2,A8A15,有效地址,有效地址,扩展写信号,8237A-5的DMA时序,5、DMA控制器的工作时序DMAR的7种状态周期SI,S0,S1,S2,S3,S4及SW,26,(1).空闲周期SI上电后,未编程前,还没有DMA请求,进入空闲周SI,DMA处于被动工作方式,CPU可对DMA进行编程。,空闲状态,请求应答态,内部状态流程图,数据传输状态,I/O,主动状态,单字节,块字节,块字节,DREQ,HLDA,被动,27,(2).过渡状态S0若检测到DREQ请求,DMAC即向CPU发出总线请求信号HRQ。并且,DMAC从SI状态跳入S0状态,并重复执行,直到收到HLKA信号(CPU)进入S1状态,DMAC从被动主动态,(3).DMA有效周期(S1S4)在CPU的回答信号HLDA到达没,DMAC进入有效周期开始传送数据。一个完整的传送周期包括S1,S2,S3和S4四个周期如果I/O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理区设计理念及要求
- 研究生院年终总结
- 预应力砼现浇箱梁施工质量通病及预防措施
- 树立正确的价值观汇报
- 事物的普遍联系
- 事故安全警示教育培训课件
- 血液透析患者导管护理
- 荨麻疹患儿的护理
- 物业园林部年度工作总结
- 门诊接种工作汇报
- 道亨铁塔长短腿基础配置系统-操作说明
- 秋冬季呼吸道传染病预防知识讲座课件
- 小学科学苏教四年级上册1单元动物大家族2《鱼类》教案
- 团队协作的五大障碍课件
- 一氧化碳中毒急救PPT课件(PPT 43页)
- JIS G4305-2021 冷轧不锈钢板材、薄板材和带材
- 计算机专业英语(第二版)整本书课件完整版电子教案(最新)
- 多晶硅还原装置操作规程
- 复旦大学大学物理热学课件Heat-Ch1-partI
- (完整版)高中物理光学知识点总结
- 履带-轮式爬楼梯电动轮椅设计【带图纸】
评论
0/150
提交评论