dma控制器芯片8257资料介绍
出处:维库电子市场网 发布于:2017-12-07 14:46:50
DMA既可以指内存和外设直接存取数据这种内存访问的计算机技术,又可以指实现该技术的硬件模块(对于通用计算机PC而言,DMA控制逻辑由CPU和DMA控制接口逻辑芯片共同组成,嵌入式系统的DMA控制器内建在处理器芯片内部,一般称为DMA控制器,DMAC)。
值得注意的是,通常只有数据流量较大(kBps或者更高)的外设才需要支持DMA能力,这些应用方面典型的例子包括视频、音频和网络接口
现代计算机系统中,广泛采用了DMA控制器与DMA接口相分离的结构模式以IBM-PC系列微型计算机的软盘机DMA接口为例。
8237 DMA控制器的编程结构
Intel 8237DMA控制器芯片的内部结构
如下图
Intel 8257是一种控制DMA(Direct Memory Access)操作的芯片,它可以将数据直接在IO设备和内存之间进行交换,而不需要经过CPU,所以它的数据传输速率可以很快。
8257有以下特点:
8257有四个通道(channel),所以它支持4个设备同时进行DMA操作。
每一个通道都可以被独立地编程,每次多可以传输64kb数据。
每个通道可以独立的进行读传输、写传输和校验传输。
芯片共有40个针脚,如下图所示:
8257功能模块图示如下:
- 8257功能模块有数据总线缓冲区,读/写逻辑,控制逻辑,优先级解析器和4个DMA通道。
- 每个DMA通道都有两个16位可编程寄存器,分别为地址寄存器和计数寄存器。
MEMR为存储器读操作信号,MEMW为存储器写操作信号,IOR为外设读操作信号,IOW为外设写操作信号。
- 地址寄存器用来存放用于DMA数据传输的内存起始地址。
- 每进行读/写/校验传输后,地址寄存器中的地址都会自动增加。
- 计数寄存器用来对通过DMA进行传输的数据的字节数或字数进行计数。它保持着要传送的字节数,在每次传送后此寄存器减量。当这个寄存器的值减为零时,Terminal Count信号将产生。
- 计数寄存器的格式如下:
B0-B13这14位用于计数,前面的两位用于标识DMA传输的类型(读/写/校验传输)。
进行读传输时,数据从内存传输到I/O设备。
进行写传输时,数据从I/O设备传输到内存。
校验操作会产生DMA地址但不产生DMA内存和I/O控制信号。
8257还有两个8位的寄存器,分别叫做模式设置寄存器和状态寄存器。
模式设置寄存器的格式如下:
模式设置寄存器有如下功能:
打开/关闭一个通道。
将优先级指定为固定型(Fixed)/循环型(rotaTIng)。
计数终止(terminal count)时停止DMA。
延长/一般 写时间
自动重载通道2
B0-B3这4位用于打开或者关闭通道0-3,1代表打开,0代表关闭。
如果B4被设为1,通道有循环型优先级。如果设为0,通道有固定型优先级。在循环型优先级中,服务完一个通道后就会把这个通道优先级设为。在固定型优先级中,通道0优先级,通道3优先级。
如果B5被设为1,低电平有效的写信号(MEMW和IOW)的时间会被延长。
如果B6被设为1,计数终止后会停止DMA。
B7用来指定通道2的自动重载特性。
如果B7被设为1,通道3的计数寄存器和地址寄存器会在通道2计数终止后自动载入至通道2的计数寄存器和地址寄存器。当这种模式打开后,可用的通道数由4减少至3。
状态寄存器的格式如下:
B0-B3这4位用于指明通道0-3是否计数终止。
这些状态位在处理器进行读操作后清除。
B4称为更新标识位(update flag),如果为1,说明通道2的寄存器已经在自动载入模式的操作中重载了通道3的寄存器。
8257寄存器的内部地址如下表所示:
上一篇:低功率CMOS无线射频芯片设计
下一篇:芯片研发过程详细
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 双路差动比较器lm393工作原理2024/3/25 17:10:54
- 瑞芯微RK3588处理器简介2024/3/22 17:13:36
- 芯片上的单按钮负载开关 2222024/3/19 16:36:44
- 了解6029芯片,6029芯片的特性2024/2/21 16:40:23
- MCU的工作原理和分类2024/1/23 15:53:31