OMAP5910实时图像系统中的DMA数据传输

技术分类: 微处理器与DSP  | 2006-08-13
来源:单片机与嵌入式系统应用 | 公安部第一研究所,王艳艳 郅晨 于锐

  3 OMAP5910内、外存储器数据交换分析

  一个完整的实时图像处理不仅能对图像进行实时采集,还能对图像进行实时处理,该实时图像处理系统主要由图像传感器、A/D转换器,复杂可编程逻辑器件FPGA、OMAP5910双核处理器,图像显示设备等构成。该系统的主要功能是FPGA实时接收红外焦平面阵列传感器输出的14位视频信号,降频后由OMAP5910的DSP处理器执行图像处理算法,同时,OMAP5910的ARM处理器执行复杂控制指令,再由FPGA缓存,经D/A变换合成10位视频信号输出,另外,OMAP5910的ARM处理器通过接口接收计算机的控制指令。

  按照人眼的视觉要求,成像系统每秒钟至少要采集和处理25帧图像数据,才能避免图像实时显示时的视觉闪烁感,。对于320×240的点阵图像,A/D为14位,每帧采集数据为320×240×14位=1 MB,按实时性的要求,进行处理和显示数据的速度为320×240×14

位×25帧/s=3.125MB/s,即需要在64μs内完成读1行(320像素)和写1行(346象素)的操作,只有这样图像才不失连续性。

  为了保证图像处理和显示的实时性,应充分利用OMAP5910的各数据传输通道,OMAP5910的片内、外存储器的数据传输,如图3所示,图中给出了OMAP5910处理实时图像时的所有数据传输通道,他们的传输速率与存储器的类型有关。为了充分认识OMAP5910的数据传输通道的性能,笔者做了一系列的实验,设置系统时钟为150MHz,工作模式设为全同步模式,使能Ca che的前提下,详细测试了各传输通道传输1帧数据所用的时间,如表1所列。以此为依据来优化数据的传输。

 

                     OMAP5910处理实时图像时的所有数据传输通道
                      各传输通道传输1帧数据所用的时间


  4 DMA方式数据传输优化方案

  在详细分析各数据传导的数据传输速率性能的基础,本文提出了一种DMA方式的数据传输优化方案,把整帧划分成多个块,OMAP5910待处理的图像数据完全放在OMAP5910的片内数据存储器中进行处理,既减少了与外存的大量交互,又充分利用了片内的高速存储资源,在内外存之间的数据传输使用DMA在后台进行操作,大大提高OMAP5910的工作效率。

  4.1 数据流程

  A/D采样的数据首先存放在外部缓冲中,当采集到一定的数据量后,由复杂可编程逻辑器件触发ARM DMA读取数据,依次输入两帧图像保存在SDRAM中,从外挂Flash中取得进行图像处理所需的参数A、B值保存在SDRAM中,与输出帧存以8行为块单位,触发DSP DMA将块数据从OMAP5910的外部缓存区SDRAM搬运到DSP核的双向内部缓存区DARAM,以供DSP核进行计算。有关DMA方式传输的特点,DSP核进行计算的同时,DSP DMA搬运上一块的图像数据(8行)到SDRAM,ARM核接收到输出行数据后,触发ARM DMA把数据搬移到FPGA控制外部存储区,数据流程如图4所示。

 

                  数据流程

  由于OMAP5910内部和外部都采用双缓冲机制,因此ARM核和DSP核处理的DMA传输上一帧数据的同时,不影响DMA进行当前帧数据的传输。这样整个系统中A/D数据的采集,DMA数据的传输及CPU数据的计算达到了高度的并行性。

  4.2 操作时序

  从数据传输的操作时序上,可以看出该优化方案另一个优势,将原来的几个输入过程(每个输入过程指的是输入1行像素)合并为1个输入过程(1次输入几行像素),并且将原来集中完成的输出过程分散到输入过程中间完成,进一步提高的性能。

  具体配置操作为:OMAP5910中ARM DMA读过程1次输入12行数据,用20次将1帧图像输入到SDRAM中。ARM DMA的写过程在读过程中间启动。即1帧中的第1次DMA读过程结束的中断中启动行号和帧号的添加以及 DMA的写过程,这一次只写2行,在1帧中的第2次到第20次DMA读过程结束的中断中启动写过程,每次写15行,其操作时序图5所示。

1】【2】【3
加载中

对文章的评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销