欢迎来到天天文库
浏览记录
ID:45008754
大小:454.00 KB
页数:47页
时间:2019-11-07
《第11章+DMA技术与DMA控制器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第11章DMA技术与DMA控制器§11.1DMA技术概述§11.2可编程DMA控制器8237A§11.3DMA技术在微机系统中的应用§11.1DMA技术概述1、DMA传送方式的实现方法:由专用接口芯片DMA控制器(称DMAC)控制传送过程;当外设需传送数据时,通过 DMAC向CPU发出总线请求;CPU发出总线响应信号,释放总线;DMAC接管总线,控制外设、内存之间直接数据传送。DMA技术概述2、DMA传送方式的特点外设和内存之间,直接进行数据传送,不通过CPU,传送效率高。适用于在内存与高速外设、或两个高速外设之间进行大批量数据传
2、送。电路结构复杂,硬件开销较大DMA传送过程示意图CPUDMAC内存外设总线响应总线请求DREQDACK§11.1.1DMAC的基本功能接收接口往DMA控制器发出DMA请求信号后,DMA控制器能向CPU发出总线请求信号HOLD(高电平)。当CPU向DMA发出响应信号HLDA(高电平)以后,DMA能接管对总线的控制,进入DMA方式。能向地址总线发出内存地址信息,对其进行寻址及修改地址指针。DMAC的基本功能能向存储器或I/O接口发相应的读写控制信号。能决定传送字节数,并判断DMA传送是否结束。DMA过程结束,能向CPU发出DMA结束
3、信号,HOLD变低,将总线控制权还给CPU,CPU恢复正常工作。§11.1.2DMAC的一般结构图9.1单通道DMAC的一般结构及其与I/O接口的连接地址总线地址译码器DMA控制器计数结束信号(可作为中断请求信号)字节计数寄存器地址寄存器状态寄存器控制寄存器总线回答总线请求控制总线数据总线外设DMA请求DMA响应中断请求数据输出寄存器数据输入寄存器状态寄存器控制寄存器I/O接口控制总线数据总线地址总线§11.1.3DMAC的工作方式1、单字节传输方式:在单字节传输方式下,DMA控制器每次请求总线只传送一个字节数据,传送完后即释放总
4、线控制权。2、块传输方式(也称组传输方式):块传输方式是指DMA控制器每次请求总线连续传送一个数据块,待整个数据块全部传送完成后再释放总线控制权。DMAC的工作方式3、请求传输方式:此方式与块传输方式基本类似,不同的是每传输完一个字节,DMA控制器都要检测由I/O接口发来的DMA请求信号是否仍然有效,如果该信号仍有效,则继续进行DMA传输;否则,就暂停传输,交还总线控制权给CPU,直至DMA请求信号再次变为有效,数据块传输则从刚才暂停的那一点继续进行下去。§11.1.4DMA操作过程若从外设往内存输入一个数据块(输入过程),在单字
5、节传输方式下,主要工作过程为:①从I/O接口向DMA控制器发送DMA请求信号;②DMA控制器向CPU发总线请求信号,当得到CPU送来的总线允许信号后,DMA控制器获得总线控制权;③DMA控制器将其地址寄存器的内容送到地址总线上;④DMA控制器往I/O接口发送DMA响应信号,并接着发出I/O接口的读信号,使I/O接口把数据送到数据总线上;DMA操作过程⑤DMA控制器发出存储器写信号,使数据传送到由地址总线的地址所指向的内存单元;⑥地址寄存器加1;⑦字节计数器减1;⑧如果字节计数寄存器的值不为零,则返回第①步,否则进入第⑨步;⑨DMA
6、控制器释放总线;图11.2以DMA方式输出一个字节数据的工作过程DMA控制器数据端口状态/控制端口地址寄存器计数器控制/状态寄存器CPU存储器HOLDHLDA数据缓冲寄存器DMA请求触发器输入设备DMA请求DMA响应ReadyDMA控制器工作原理图1§11.2可编程DMA控制器8237A§11.2.18237A的主要特性1.具有四个独立的DMA通道,每个通道都具有64K的存贮器寻址能力,即一次传送的最大长度为64K字节。2.可实现内存与外设之间的高速大批量数据传送,也可实现内存两个不同区域之间的高速数据传送。3.每个通道的DMA请
7、求均可分别允许或禁止,且四个通道的DMA请求的优先权可由软件设置为固定的或旋转的。8237A的主要特性4.具有单字节传送、数据块传送、请求传送和级联传送四种工作方式。5.可用级联方式扩展DMA通道数目。6.DMA传送结束信号可由内部计数产生,也可由外部输入提供。7.单一的+5V电源,40个引脚双列直插式封装。8.采用5MHz时钟,传送速率可达1.6M字节/秒。9.8237可以级连,任意扩展通道数。§11.2.28237A的工作原理1.8237A的编程结构编程结构见下页图内部有大量寄存器,内部寄存器的功能、端口地址等信息参见表11.
8、1.图11.38237A的编程结构82C37A内部逻辑框图表11.18237A内部寄存器的功能、端口地址等信息几点说明:请求触发器每通道一位,四个通道的请求触发器占用同一个端口地址,实际上构成一个4位的寄存器,屏蔽触发器也是一样。控制寄存器和状态寄
此文档下载收益归作者所有