预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共35页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《嵌入式系统原理与开发》第7章中断、DMA和时间管理7.2嵌入式系统DMA控制DMA方式特点DMAC控制DMA传输32位嵌入式处理器都具有DMA功能几款主流嵌入式处理器的DMA控制器简表嵌入式DMA控制器内建在芯片内部现在学习S3C44B0X处理器的DMA控制器。 S3C44B0X的DMA控制器(简称DMAC)拥有4个通道,其中有两个通道称为ZDMA,另外两个通道称为BDMA。ZDMA通道称为通用DMA 三星公司的数据手册上用这个称呼 实际上是通用DMA,GeneralDMA,它被连到SSB(三星系统总线,SamsungSystemBus)总线上。 BDMA通道称为桥DMA BridgeDMA,是SSB和SPB(三星外部总线,SamsungPeripheralBus)之间的接口层,相当于一个桥。 ZDMA和BDMA都可以由指令启动,也可以有内部外设和外部请求引脚来请求启动。ZDMA通道用于在存储器到存储器、存储器到I/O存储器(固定目的存储位置)、I/O装置到存储器之间传输数据。BDMA通道只能在连到SPB上的I/O外设(如UART,IIS和SIO)与存储器之间传输数据。S3C44B0X的ZDMA控制器框图S3C44B0X的ZDMA通道有一个4字的FIFO缓冲来支持4字突发DMA传输,而BDMA不支持突发DMA传输。BDMA不支持4字突发DMA传输的原因是它没有临时缓存,而且连接在SPB上的外设速度较慢。因此存储器之间的传输数据最好使用ZDMA通道。S3C44B0X的BDMA控制器框图有四类外部DMA请求/应答模式。它们是握手模式、单步模式、连续模式和手动模式。这些模式都定义了DMA请求和应答信号是怎样和这些模式相互关联的。虽然ZDMA和BDMA都可以支持外部的触发操作,但是这些模式只适用于ZDMA,不适用于BDMA。我们介绍其中的握手模式和单步模式。在握手模式下,DMA控制器对一个单独的DMA请求产生一个单独的DMA应答信息。图7-5示出了DMA操作的握手模式。在这样的DMA操作期间,读写周期不可分割。因此,总线控制器不向其他的总线拥有者分配总线的使用权。 由nXDREQ(外部DMA请求引脚)产生的DMA请求表示需要传输一个字节、半个字或一个字。而握手模式需要DMA为每一个数据传输发送请求。在激活nXDACK后,nXDREQ信号就可以被释放了,在此之后nXDACK失活后还可以再次发送请求。S3C44B0X处理器DMA请求应答时序图单步模式是指有两个DMA应答周期分别指示DMA的读周期和写周期。因为总线的使用权可以在读写期间转交给其它的总线拥有者,单步模式通常用在测试和调试的应用中。当DMA请求信号变为低电平后,如果不存在其它更高优先级的总线请求,总线控制器以降低总线应答信号电平的方式,指示为DMA操作分配总线。在第一个DMA应答信号的低电压期间应该是一个DMA读操作周期。在读操作周期之后,DMA应答信号电平将重新升高,指示读操作周期的结束。同时,如果此时请求信号仍然是低电压状态的话,就会在DMA应答信号上升沿触发下一个DMA写周期。如果当应答信号升高后,请求信号也在高电平状态,则下一个写周期就会被延迟,直到一个新的DMA请求信号被激活。S3C44B0X的DMA传输模式有三种:单元传输模式、块传输模式和飞速(On-The-Fly)模式。现在分别说明。 单元传输模式 对每一个DMA请求响应一对DMA读/写周期。块传输模式的工作原理如下: 在连续地执行4字节的DMA读周期之后再连续地进行4字节的DMA写周期。如果使用块传输模式,则传输的数据大小应该是16字节的倍数。换句话说,最小的传输尺寸是16个字节,也就是4个字。因为DMA计数器定义了以字节作为基本单元计数,按照计数定义16个字节DMA传输就是4个字节传输。如果传输的数据大小或DMA计数不是16的倍数(比如16、32、48、64等等),DMA就不能够传输完整的数据。假设要传输100字节(DMA计数是100),6×16=96字节可以被传输,剩下的4字节不能被传输。因为DMA操作将在96个字节传输完成之后停止。当程序员选用块传输DMA模式时应当意识到这个特点。飞速模式的工作原理如下: ZDMA具有飞速(On-the-fly)读写模式。该模式的最大特性是读写周期并行(不可分割),其具体含义是当DMA读/写数据时,一个固定地址外部设备会根据DMA的应答信号(nXDACK0/1)写/读数据。然而在非飞速模式下,DMA通道在写数据之前要读数据。 如果外部设备能够支持飞速模式,则数据传输速率将会提高一倍。外部设备能够支持飞速模式的标志是能够根据DMA应答信号读写数据。飞速模式的特点S3C44B0X一共有4个DMA通道,所以有4个通道属性寄存器。其中ZDCON0和ZDCON1是ZDMA通道的两