您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

DMA在实时图像处理中的应用

时间:2007-1-20栏目:电子通信论文

  摘要:以TMS320C6701为例,说明在实时图像处理系统中使用DMA的必要性,同时给出DMA在实时图像处理中几种典型的应用例子。
  关键词:DMA实时图像处理DSP
  
  引言
  
  实时图像处理系统要求系统必须在有限的时间内完成大量数据的运算。DSP以其独特的哈佛总线结构和并行的存储块结构,将乘法操作与加法操作统一考虑,可以在一个指令周期完成般处理器的多次运算;并且指令系统采用多级流水线操作方式,保证了系统对实时性的要求,因此得以在实时图像处理系统广泛应用。图像处理系统的最大特点就是运算数据量大。大多数情况下,数据量远远大于片内存储器容量,计算过程中必须进行数据的交换。合理使用DMA可以提高数据传输效率,取得事半功倍的效果。本文以TMS320C6701(简称C6701)为例,介绍DMA在图像处理中的几种典型应用。
  
  1图像处理系统特点与使用DMA的必要性
  
  前面已经提到,图像处理系统的最大特点是就是运算数据量大,数据量往往大于片内存储器容量。不仅如此,图像处理系统之中,运算过程产生的中间数据往往与源数据大小相当,这也限制了片内高速存储区的使用。然而为了提高处理的速度,计算源数据、中间数据必须尽可能多地在片内高速存储区进行,因此,必须使用DMA在片内高速存储区与片外低速存储区之间进行数据交换,以提高数据处理速度。
  
  另外,数据的排列往往不符合程序的要求;必须对数据进行重排达到程序要求;使用DMA对数据重排,可以满足程序要求。与数据重排如出一辙,图像处理中许多操作的基础都是对多重数组的操作,也就是矩阵运算。诸如求逆、取子图等图像处理中经常用到的运算,也可以通过DMA完成。这些运算当然可用C语言编程实现,但是,如果程序实现是一个多重循环,不利于软件流水,而且随着数据量的增加,消耗的时钟周期也会成比例增加;即使使用并行汇编在时钟消耗上可以有所减少,这都是不符合系统实时性要求的。如果通过DMA数据重排,可以轻而易举地实现,而且这个过程CPU只占有一个时钟周期,通过巧妙程序安排,安全可以使数据的传输过程在CPU的后台进行,根本感觉不到DMA的存在。
  
  2C6x系列DMA简介
  
  TMS320C6701S是TMS320C6000系列的高速浮点数字信号处理信号,是TI公司20世纪90年代后期的最新一代DSP产品。C6701有4个通道自加载的DMA通道,用于数据的DMA传输;另外,1个辅助DMA通道,负责与主机通信。DMA通道可以在没有CPU参与下完成映射空间的数据传输。数据的传输可以是片内存存储器、片内外围部件或外部器件之间的传输。
  
  2.1DMA控制寄存器
  
  对于C6x系列的DMA,在使用任何一个DMA通道进行数据传输前,都必须设置以下几组寄存器。各寄存器及其功能如下:
  
  *主控寄存器(primarycontrolregister)——用于控制DMA状态及传输类型;
  
  *副控寄存器(secondarycontrolregister)——用于使能CPU中断,监视DMA通道状态;
  
  *传输计数寄存器(transfercontrolregister)——用于记录传输的单位数目;
  
  *源地址寄存器(

[1] [2] [3] [4] [5] 下一页

下页更精彩:1 2 3 4 下一页