OMAP5910实时图像系统中的DMA数据传输
时间:09-03
来源:互联网
点击:
实时图像处理系统的显著特点是数据量大,有效地处理和传输图像数据是实现实时图像处理系统的关键,TI公司推出了高性能多媒体双核处理器OMAP5910,是将高性能、低功耗的TMS320C55x DSP与控制性能很强的ARM925微处理器集成到同一芯片器件中如何有效地发挥双核的优势,合理利用OMAP5910的各种内存配置DMA控制器实时、高效传输大规模的图像数据是本文研究的重点。
1 OMAP5910的内存管理
由于OMAP5910支持多种内存,因此在设计DMA传输方案时,必须对OMAP5910的内存管理有一个详细的了解。
OMAP5910的MPU存储器片内集成了192KB的SRAM,DSP存储器片内集成了64KB的双向DARAM,96KB的单向SARAM,32KB的程序存储器PDROM,MPU和DSP子系统的存储器映射情况如图1所示。通过EMIFF和EMIFS接口,OMAP5910可以访问片外存储器,但访问片外存储器的速度与访问片内存储器的速度差别很大。
OMAP5910的片内存储器主要由存储器管理单元TC管理。TC管理MPU、DSP、DMA以及局部总线对OMAP5910系统存储资源(SRAM、SDRAM、Flash、ROM等)的访问,它的主要功能是确保处理器能够高效访外部存储区,避免产生瓶颈现象而降低片上处理速度,TC通过3种不同的接口-EMIFS、EMIFF或IMIF,支持处理器或DMA单元对存储器的访问.其中EMIFS接口提供对Flash、SRAM或ROM的访问,EMIFF接口提供对SDRAM的访问,IMIF接口提供对OMAP5910片内192KB SRAM的访问,3种接口是完全独立的,从任何一个处理器或DMA单元都可以同时访问。
ARM核访问DSP核的数据或内存空间,需要ARM和DSP之间进行通信,主要有3种方式支持内部双核间的通信,第1种方式通过双核共享邮箱寄存器MailBox来实现,ARM和DSP均可以通过MailBox触发对方中断,并同时传递两个16位的参数,以通知对方自己的状态或传递某种请求,第2种方式是MPUI方式,ARM通过主机接口获得对DSP存储空间和I/O空间的访问权,由ARM完成数据在双核间的搬移,第3种方式是设置DSP的MMU,将DSP的外部存储空间映射到OMAP5910系统存储资源中,共享DSP的地址空间,由DSP完成双核间的数据搬移。
2 OMAP5910的DMA控制器
OMAP5910的DMA控制器对实时图像处理系统非常重要,它可以在没有CPU参与的情况下完成映射存储空间中数据搬移,灵活的使用DMA控制器可以大大提高数据传输效率。
OMAP5910的DMA控制器进行通用功能传输时的特点如下:
1)单通道分割操作,具有通用和专用信道,不同的硬件资源端口。所有的数据交换都通过请求(Request)、准备就绪(ready)、中止(abort)信号进行握手。DMA信道是时分复用的,其传输的基本流程如图2所示。
2)多帧传输。传输的每个数块可以有多个数据帧。传输的数据大小为8位、16位和32位。可按字节打包、拆包、并对传输的字节计数。可访问所有的存储器地址空间(物理地址映射和I/O空间)。
3)DMA的读、写和帧操作都有中断触发,每个DMA物理通道都可以产生一个中断,使处理器对本次传输的状态作出反应,所有的DMA中断都是电平中断。
4)后台传输、高吞吐率,DMA可独立于CPU工作和以PCU时钟速度进行数据吞吐。
实时图像处理系统的图像数据很大,同时图像处理过程中也也会产生大量的中间数据,而OMAP5910的片内资源有限,不能容纳帧的图像数据和中间数据,所以大量的图像数据必须存储在片外存储器中,为了保证系统的实时性,由DMA负责完成数据在不同存储空间的搬移,不必占用CPU的时钟周期,避免CPU大部分时间堵塞在对外存的访问上,同时DMA对数据重排功能可以优化图像数据在内存中的存储,这不仅可以提高内部存储空间的利用效率,而且可以提高数据的传输速率。
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所列。以此为依据来优化数据的传输。
1 OMAP5910的内存管理
由于OMAP5910支持多种内存,因此在设计DMA传输方案时,必须对OMAP5910的内存管理有一个详细的了解。
OMAP5910的MPU存储器片内集成了192KB的SRAM,DSP存储器片内集成了64KB的双向DARAM,96KB的单向SARAM,32KB的程序存储器PDROM,MPU和DSP子系统的存储器映射情况如图1所示。通过EMIFF和EMIFS接口,OMAP5910可以访问片外存储器,但访问片外存储器的速度与访问片内存储器的速度差别很大。
OMAP5910的片内存储器主要由存储器管理单元TC管理。TC管理MPU、DSP、DMA以及局部总线对OMAP5910系统存储资源(SRAM、SDRAM、Flash、ROM等)的访问,它的主要功能是确保处理器能够高效访外部存储区,避免产生瓶颈现象而降低片上处理速度,TC通过3种不同的接口-EMIFS、EMIFF或IMIF,支持处理器或DMA单元对存储器的访问.其中EMIFS接口提供对Flash、SRAM或ROM的访问,EMIFF接口提供对SDRAM的访问,IMIF接口提供对OMAP5910片内192KB SRAM的访问,3种接口是完全独立的,从任何一个处理器或DMA单元都可以同时访问。
ARM核访问DSP核的数据或内存空间,需要ARM和DSP之间进行通信,主要有3种方式支持内部双核间的通信,第1种方式通过双核共享邮箱寄存器MailBox来实现,ARM和DSP均可以通过MailBox触发对方中断,并同时传递两个16位的参数,以通知对方自己的状态或传递某种请求,第2种方式是MPUI方式,ARM通过主机接口获得对DSP存储空间和I/O空间的访问权,由ARM完成数据在双核间的搬移,第3种方式是设置DSP的MMU,将DSP的外部存储空间映射到OMAP5910系统存储资源中,共享DSP的地址空间,由DSP完成双核间的数据搬移。
2 OMAP5910的DMA控制器
OMAP5910的DMA控制器对实时图像处理系统非常重要,它可以在没有CPU参与的情况下完成映射存储空间中数据搬移,灵活的使用DMA控制器可以大大提高数据传输效率。
OMAP5910的DMA控制器进行通用功能传输时的特点如下:
1)单通道分割操作,具有通用和专用信道,不同的硬件资源端口。所有的数据交换都通过请求(Request)、准备就绪(ready)、中止(abort)信号进行握手。DMA信道是时分复用的,其传输的基本流程如图2所示。
2)多帧传输。传输的每个数块可以有多个数据帧。传输的数据大小为8位、16位和32位。可按字节打包、拆包、并对传输的字节计数。可访问所有的存储器地址空间(物理地址映射和I/O空间)。
3)DMA的读、写和帧操作都有中断触发,每个DMA物理通道都可以产生一个中断,使处理器对本次传输的状态作出反应,所有的DMA中断都是电平中断。
4)后台传输、高吞吐率,DMA可独立于CPU工作和以PCU时钟速度进行数据吞吐。
实时图像处理系统的图像数据很大,同时图像处理过程中也也会产生大量的中间数据,而OMAP5910的片内资源有限,不能容纳帧的图像数据和中间数据,所以大量的图像数据必须存储在片外存储器中,为了保证系统的实时性,由DMA负责完成数据在不同存储空间的搬移,不必占用CPU的时钟周期,避免CPU大部分时间堵塞在对外存的访问上,同时DMA对数据重排功能可以优化图像数据在内存中的存储,这不仅可以提高内部存储空间的利用效率,而且可以提高数据的传输速率。
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所列。以此为依据来优化数据的传输。
DSP ARM 总线 传感器 FPGA 红外 示波器 相关文章:
- 基于IXP421的VoIP网关及其性能测评(10-02)
- 新一代移动通信系统的关键技术(10-26)
- 基于DSP和FPGA的机器人声控系统设计与实现 (04-16)
- 设计基于TMS320LF2407的低功耗中文人机界面 (04-16)
- USB接口芯片的原理及应用 (04-15)
- 利用以太网硬件在环路实现高带宽DSP仿真(05-04)