DMA技术在实时图像处理中的应用
- 格式:pdf
- 大小:145.30 KB
- 文档页数:3
基于Python的直接内存访问技术研究在计算机领域中,直接内存访问(Direct Memory Access,DMA)技术可以有效地提高数据传输效率。
它允许设备或外部总线控制器直接访问系统内存,省去了CPU的介入,大大提高了数据传输的速度和效率。
而在Python语言中,如何实现直接内存访问技术呢?下面将进行相关的研究和思考。
一、Python实现DMA的原理和难点直接内存访问技术的实现原理和操作系统、硬件等因素有关。
一般而言,它可以通过内存映射方式或操作系统提供的接口等方式实现。
在Python语言中,一些高级的模块或库可以实现直接内存访问技术,比如numpy、scipy、pandas等。
这些库致力于将Python和内置函数优化,可以在内部C语言中实现这一技术。
但是,它们的代码并不能完整地实现DMA。
在Python实现直接内存访问技术时,有以下几个难点:1. 需要对内存进行访问。
Python的数据结构中并没有指针类型,这就需要使用ctypes库的c_void_p等工具来解决。
2. 要理解内存的组织结构。
内存中的数据是以字节为单位存储的,而Python中的数字类型与内存中的表示方式有所不同。
需要使用struct库将内存中的数据按照所需的格式进行重新组织。
3. 需要了解操作系统提供的接口。
如何使用API函数进行内存操作也是Python 实现DMA的关键。
可以使用ctypes和win32api等库进行操作系统原始API的调用。
以上几点都是实现Python直接内存访问技术需要考虑的问题,也是复杂的难点。
二、DMA技术在Python中的应用Python中的直接内存访问技术可以广泛应用在高性能计算和科学计算等领域。
以下是几个常见的应用场景:1. 图形处理。
Python中的一些图形库和框架,如PyQt和Pygame等,可以使用直接内存访问技术对图形进行快速渲染和处理。
2. 图像处理。
直接内存访问技术可以在Python中实现对图像的快速处理和转换,对于大规模图像数据的处理非常有用。
dma高级用法
DMA(Direct Memory Access,直接内存访问)是一种计算机
系统中的技术,允许外部设备(如硬盘、显卡等)直接访问内存,而不需要通过中央处理器(CPU)的介入。
这种技术可以提高系统的数据传输效率,减轻CPU的负担,提高系统性能。
DMA的高级用法包括以下几个方面:
1. Scatter-Gather DMA:该技术允许DMA引擎将数据从多个
源地址(Scatter)传输到多个目的地址(Gather),而不需要CPU的介入。
这对于需要进行大量数据传输的应用非常有用,例如网络数据包的接收和发送,音视频数据的处理等。
2. Ping-Pong DMA:该技术使用双缓冲区(buffer)来实现连
续的数据传输。
当DMA引擎从一个缓冲区读取数据时,CPU
可以同时往另一个缓冲区写入数据,从而实现数据的连续传输。
这在实时应用中非常有用,如音频和视频流的处理。
3. Multi-channel DMA:现代系统中通常包含多个DMA通道,可以同时处理多个设备之间的数据传输。
每个通道都可以配置独立的源地址、目的地址和传输长度,使得系统可以同时进行多个并行的数据传输操作。
这对于提高系统整体性能非常重要。
4. 内存映射IO(Memory-mapped IO):在某些情况下,外部
设备的寄存器可以映射到系统内存空间的特定地址,使得设备的操作与内存读写类似。
DMA可以通过内存映射IO的方式
访问设备寄存器,从而实现对设备的直接控制和数据传输。
以上是DMA的几种高级用法,它们可以根据具体的应用场景
和系统需求进行灵活的配置和使用,以提高系统的性能和效率。
DMA在实时图像处理中的应用实时图像处理系统要求系统必需在有限的时光内完成大量数据的运算。
以其独特的哈佛结构和并行的存储块结构,将乘法操作与加法操作统一考虑,可以在一个命令周期完成般处理器的多次运算;并且命令系统采纳多级流水线操作方式,保证了系统对实时性的要求,因此得以在实时图像处理系统广泛应用。
图像处理系统的最大特点就是运算数据量大。
大多数状况下,数据量远远大于片内存储器容量,计算过程中必需举行数据的交换。
合理用法DMA可以提高数据传输效率,取得事半功倍的效果。
本文以TMS320C6701(简称C6701)为例,介绍DMA在图像处理中的几种典型应用。
1 图像处理系统特点与用法DMA的须要性前面已经提到,图像处理系统的最大特点是就是运算数据量大,数据量往往大于片内存储器容量。
不仅如此,图像处理系统之中,运算过程产生的中间数据往往与源数据大小相当,这也限制了片内高速存储区的用法。
然而为了提高处理的速度,计算源数据、中间数据必需尽可能多地在片内高速存储区举行,因此,必需用法DMA在片内高速存储区与片外低速存储区之间举行数据交换,以提高数据处理速度。
另外,数据的罗列往往不符合程序的要求;必需对数据举行重排达到程序要求;用法DMA对数据重排,可以满足程序要求。
与数据重排如出一辙,图像处理中许多操作的基础都是对多重数组的操作,也就是矩阵运算。
诸如求逆、取子图等图像处理中常常用到的运算,也可以通过DMA完成。
这些运算固然可用编程实现,但是,假如程序实现是一个多重循环,不利于软件流水,而且随着数据量的增强,消耗的时钟周期也会成比例增强;即使用法并行汇编在时钟消耗上可以有所削减,这都是不符合系统实时性要求的。
假如通过DMA数据重排,可以轻而易举地实现,而且这个过程CPU只占有一个时钟周期,通过巧妙程序支配,平安可以使数据的传输过程在CPU的后台举行,根本感觉不到DMA的存在。
第1页共6页。
DMA原理与应用DMA(Direct Memory Access,直接内存访问)是一种用来提高计算机系统效率的技术。
它允许外设直接访问主内存,而不需要通过中央处理器(CPU)的介入。
这种技术在数据传输和存储方面非常有用,并且广泛应用于各种计算机系统中。
DMA技术的主要原理是通过在主内存和外设之间建立一个独立的通路,使外设能够直接读取或写入主内存的数据,而不需要CPU的参与。
这种通路称为DMA控制器或DMA引擎。
DMA工作的主要步骤如下:1.初始化:首先需要对DMA控制器进行初始化设置,包括传输方向、起始地址、传输长度等。
2.请求服务:外设向DMA控制器发送请求,请求访问主内存。
3.CPU响应:当CPU接收到DMA请求时,它会检查DMA控制器是否可用,如果可用,则将控制权转交给DMA控制器。
4.数据传输:DMA控制器按照设置的参数进行数据传输,它可以直接将数据从外设读取到主内存,或者将主内存中的数据写入外设。
5.完成操作:当DMA传输完成后,DMA控制器会向CPU发出中断请求,CPU回应后继续其他操作。
DMA应用:1.数据传输:DMA技术在硬盘、网卡、声卡等外设与主内存之间的大量数据传输中得到广泛应用。
通过使用DMA技术,这些外设可以直接访问主内存,而不需要CPU的干预,大大提高了数据传输速度和系统吞吐量。
2.音视频处理:在音视频处理中,DMA可以将音频和视频数据从存储器传输到音频和视频解码器中进行处理,并将处理后的数据返回到存储器中。
这样可以减轻CPU的负担,提高音视频处理的效率。
3.图形显示:DMA技术在图形显示中也得到广泛应用。
图像数据存储在主内存中,并通过DMA控制器直接传输到显示器的显存中,以便显示图像。
这样可以显著减少CPU对图像显示的负担,提高图形显示的速度和质量。
4.数据备份和恢复:通过DMA技术,可以将主内存中的数据直接备份到外部存储设备中,或者将备份的数据恢复到主内存中。
这样可以避免CPU的干预,提高数据备份和恢复的效率。
TMS320C6201 DMA在视频图像编码中的应用
李朝晖
【期刊名称】《北华航天工业学院学报》
【年(卷),期】2003(013)003
【摘要】TMS320C6201是一种片内集成了DMA控制器的高性能数字信号处理器(DSP).本文介绍了C6201DMA在笔者设计的视频图像编码器中的应用;针对DMA的应用难点,文中给出了C6201 DMA的编程方法和应用程序实例.
【总页数】4页(P12-15)
【作者】李朝晖
【作者单位】华北航天工业学院,电子工程系,河北,廊坊,065000
【正文语种】中文
【中图分类】TN911.7
【相关文献】
1.视频图像编码中的重排DCT方法 [J], 张贻雄;陈凌宇;王维东
2.真正三维小波变换技术及在视频图像编码中的应用 [J], 罗一平
3.TMS320C6201在MPEG-4视频解码器中的应用 [J], 李朝晖;李冬梅;何佩琨
4.TMS320C6201在MPEG—4视频解码器中的应用 [J], 李朝晖;李冬梅;等
5.视频信号压缩编码──第五讲运动估值在序列图像编码中的应用 [J], 张春田因版权原因,仅展示原文概要,查看原文内容请购买。
嵌入式Linux系统中图片解码和显示的图形加速方法在嵌入式Linux系统中,图片解码和显示是常见的需求。
为了提高系统性能和用户体验,图形加速方法成为了必不可少的技术手段。
本文将介绍嵌入式Linux系统中图片解码和显示的图形加速方法,包括硬件加速和软件优化两个方面。
一、硬件加速方法1. 图形处理单元(GPU)加速GPU是一种专门用于图形处理的硬件设备,具有并行计算能力和高速缓存等特点。
在嵌入式Linux系统中,可以利用GPU对图片解码和显示进行加速。
通过使用GPU来卸载CPU的工作负载,可以大幅提升图像处理的速度和效率。
2. 视频解码器硬件加速很多现代嵌入式处理器都搭载了视频解码器硬件,可以实现对视频进行硬件加速解码,并直接在屏幕上显示。
在图片解码和显示过程中,可以利用视频解码器硬件加速来提高解码和显示的效率,减轻CPU的负担。
3. DMA(直接内存访问)加速DMA是一种数据传输方式,可以实现在设备之间直接进行数据传输,而不需要CPU的干预。
在图片解码和显示中,通过使用DMA加速技术,可以实现数据从存储器到显存之间的快速传输,提高图像解码和显示的速度。
二、软件优化方法1. 采用专门的解码库在嵌入式Linux系统中,有很多开源的图片解码库可供选择,如libjpeg、libpng等。
选择合适的解码库可以提高解码效率和显示质量。
这些解码库通常都经过优化,能够充分发挥硬件性能,提高解码速度和效率。
2. 优化解码算法除了选择合适的解码库外,还可以对解码算法进行优化。
通过对解码算法进行逻辑优化、算法重构和并行化处理,可以提高解码速度和质量。
同时,还可以对解码过程中的一些参数进行调整,以最大程度地提高解码效率。
3. 显存管理优化在嵌入式Linux系统中,显存是存储图片数据的重要缓存区域。
有效地管理显存可以提高解码和显示的效率。
通过合理的显存分配和数据加载策略,可以减少数据传输时间和内存开销,提高解码和显示的速度。
DMA工作原理一、概述DMA(Direct Memory Access,直接内存访问)是一种计算机技术,它允许外部设备直接访问计算机内存,而无需通过CPU的干预。
DMA的工作原理是通过DMA控制器来完成数据传输,提高数据传输效率,减轻CPU的负担,提高系统的整体性能。
本文将详细介绍DMA的工作原理及其相关概念。
二、DMA控制器DMA控制器是实现DMA功能的关键组件,它负责控制数据传输的各个环节。
DMA控制器通常包括以下几个部分:1. 地址寄存器(Address Register):用于存储数据传输的起始地址和目的地址。
2. 计数器(Counter):用于存储需要传输的数据字节数。
3. 控制寄存器(Control Register):用于设置DMA传输的相关参数,如传输方向、传输模式等。
4. 状态寄存器(Status Register):用于记录DMA传输的状态信息,如传输完成标志、错误标志等。
三、DMA传输过程DMA传输过程主要包括以下几个步骤:1. 初始化:首先,需要将DMA控制器的相关寄存器进行初始化,包括设置起始地址、目的地址、数据字节数等。
2. 请求通道:外部设备向DMA控制器发送请求信号,请求使用DMA通道进行数据传输。
3. DMA控制器响应:DMA控制器接收到外部设备的请求信号后,根据设定的优先级和调度算法,选择一个空闲的DMA通道进行数据传输。
4. 数据传输:DMA控制器根据设定的传输方向,从起始地址读取数据,然后通过总线直接传输到目的地址。
5. 中断处理:当数据传输完成后,DMA控制器会产生一个中断信号,通知CPU数据已经传输完毕,CPU可以继续执行其他任务。
四、DMA传输模式DMA传输模式主要包括以下几种:1. 单次传输模式:每次传输完成后,DMA控制器会产生中断信号,CPU需要重新配置DMA控制器进行下一次传输。
2. 块传输模式:在块传输模式下,DMA控制器会在传输完成后自动重新配置相关寄存器,进行下一次传输,直到完成指定的数据块传输。
dma是什么意思DMA是Direct Memory Access的缩写,中文意思为直接内存访问。
它是一种计算机技术,用于优化传输数据的效率。
DMA可以使设备(如硬盘、网络接口卡等)直接访问系统内存,而不需要通过中央处理器(CPU)的参与。
这样可以减轻CPU的负担,提高系统的性能。
在传统的数据传输方式中,当外设需要将数据传输到内存或将数据从内存读取时,通常需要中央处理器介入完成数据的读写操作。
这样的方式会占用CPU的大量时间和资源,降低系统的效率。
而DMA技术的引入,使得外设能够直接与内存交互数据,减少了CPU的干预,提高了数据传输速度和整体性能。
DMA技术的基本原理是通过硬件或固件控制器来管理数据的传输。
当外设需要进行数据传输时,它向DMA控制器提供相关的信息,如数据的起始地址、传输长度等。
然后DMA控制器通过总线直接访问内存,并完成数据的读取或写入操作。
当数据传输完成后,DMA控制器通知CPU,以便后续的处理。
DMA技术可以在很多场景中发挥作用,特别是对于数据密集型的任务,如图像处理、音频和视频传输等。
在这些应用中,通过使用DMA技术可以加快数据的传输速度,提高系统的响应性能。
同时,DMA还可以减少CPU的负载,使其能够更多地投入到其他的计算任务中。
此外,DMA技术还可以用于实现虚拟内存和高速缓存。
虚拟内存是一种计算机内存管理技术,它将硬盘的一部分空间作为辅助内存,并与内存进行交互。
而高速缓存是一种用于提高数据访问效率的存储器,位于CPU和内存之间。
通过使用DMA 技术,可以在虚拟内存和高速缓存之间进行数据的快速传输,提高系统的整体性能。
总之,DMA技术是一种优化数据传输效率的技术,通过设备直接访问内存,减少CPU的介入,并提高系统的性能。
它在各种计算机和嵌入式系统中得到广泛应用,为数据密集型任务提供了高效的解决方案。
通过不断的技术创新和优化,DMA技术将在未来继续发挥重要的作用。
嵌入式Linux系统中图片解码和显示的高效实现方法嵌入式Linux系统中图片解码和显示的高效实现方法是嵌入式系统开发中一个重要的课题。
随着数字图像的广泛应用,对于嵌入式设备对图像解码和显示的要求也越来越高。
本文将介绍几种常用且高效的嵌入式Linux系统中图片解码和显示的实现方法。
一、JPEG解码与显示JPEG是一种常见的图像压缩格式,用于在嵌入式Linux系统中展示图片。
在嵌入式设备上进行JPEG解码并显示图片,通常使用libjpeg 库。
libjpeg库提供了丰富的API用于JPEG图像解码和显示,可在嵌入式平台上高效地完成这些任务。
二、PNG解码与显示PNG是另一种常见的图像格式,用于在嵌入式Linux系统中展示图片。
与JPEG相比,PNG图像压缩更为无损,图像质量更高。
在嵌入式设备上进行PNG解码并显示图片,通常使用libpng库。
libpng库提供了一组API,用于在嵌入式平台上高效地进行PNG图像解码和显示。
三、硬件加速解码与显示为了提高图像解码和显示的性能,一种高效的方法是使用硬件加速技术。
常见的硬件加速技术有DMA(Direct Memory Access)和GPU (Graphics Processing Unit)。
DMA技术可以实现数据的高速传输,通过直接将图像数据从存储器复制到显存,减少了CPU的负载。
在嵌入式设备上使用DMA技术进行图像解码和显示可以提高实时性和效率。
GPU技术是一种专门用于图像处理的硬件,具有并行计算的能力。
在嵌入式设备上使用GPU进行图像解码和显示可以充分利用GPU的并行性能,提高图像处理速度和质量。
四、压缩算法与实时解码在嵌入式Linux系统中进行图像解码和显示时,为了提高实时性和降低内存占用,可以采用压缩算法和实时解码技术。
常见的图像压缩算法有JPEG和PNG,通过选择合适的图像压缩算法可以在一定程度上降低内存占用和数据传输的带宽。
实时解码技术可以提高图像解码的速度,保证图像可以及时地显示在嵌入式设备的屏幕上。
2003年12月第26卷第12期重庆大学学报Journal of Chongqing UniversityDec.2003Vol.26 No.12 文章编号:1000-582X(2003)12-0022-03DMA技术在实时图像处理中的应用Ξ代少升,袁祥辉(重庆大学光电技术及系统教育部重点实验室,重庆400044)摘 要:直接内存存取(DMA)是数字信号处理器(DSP)中用于快速数据交换的重要技术,它具有独立于CPU的后台批量数据传输能力,能够满足实时图像处理中高速数据传输要求。
以TI公司的TMS320C6201DSP芯片为例,介绍了DMA控制器的特点。
结合实例,给出DMA在图像数据实时传输中的一种具体控制和实现方法。
实验结果表明,通过灵活地控制DMA,不仅能够提高图像数据的传输效率,而且能够充分地发挥DSP的高速性能。
关键词:DMA;实时图像处理;DSP中图分类号:TP274文献标识码:A 数字图像处理技术无论在科学研究、工业生产或管理部门中都得到越来越多的应用。
而目标跟踪、机器人导航、自动驾驶、交通监视等应用也极大的促进了实时图像处理技术的发展。
实时的应用要求决定了实时图像处理系统必须具有强大的运算功能。
TMS320C6x系列DSP是TI公司TMS320家族中最新推出的产品之一,由于应用一种高性能V IL W(Very Long Instruction Word)的Veloci TITM体系结构,使得TMS320C6X能够达到1600M IPS的运行速度[1-2],因此可以更好的应用在实时图像处理系统中。
比如TMS320C6201,它的DMA对DSP图像处理系统是非常重要的,它可以在没有CPU参与的情况下完成映射存储空间中数据搬移。
灵活的使用DMA可以大大提高数据传输效率。
以TMS320C6201为例,结合已调试成功的红外图像非均匀性实时校正系统,给出DMA的一种具体控制和实现方法。
1 DMA的特点及其使用的优越性DMA控制器的主要特点[3-4]包括:1)后台传输、高吞吐率。
DMA可以独立于CPU 工作和以CPU时钟速度进行数据吞吐。
2)单通道分割操作。
利用单个通道就可以与一个外设同时进行数据的读出和写入。
3)多帧传输。
传输的每个数据块可以有多个数据帧。
4)DMA的读、写和帧操作均可由指定事件触发。
当一帧或一块数据传输完毕,或出现错误时,每一通道都可以向CPU发出中断。
DMA的特点决定了其适合图像处理的功能。
由于图像处理的原始数据量很大,同时图像处理中也会产生同等量的中间数据,对于片内存储资源有限的高速DSP芯片来说,一般需要借用外部存储空间。
为了提高系统的实时处理能力,可以将数据在不同存储空间转移的任务交给DMA来完成,而CPU只专注于数据的计算。
同时DMA对数据重排功能可以优化图像数据在内存中的存储,这不仅可以提高内部存储空间的利用效率而且也可以提高数据的传输速率。
虽然对图像数据进行的传输也可由软件实现,但将消耗掉大量的CPU时钟周期,使DSP的高速性能难以发挥。
而由DMA来进行同样工作几乎不占用CPU的时钟周期。
2 DMA工作过程简介TMS320C6201的DMA控制器具有四个相互独立编程的传输通道,允许进行四个不同内容的DMA 传输。
另外,还有一个辅助通道用来满足主机口接口的要求。
利用DMA进行数据传输前通常进行以下几组寄存器的设置主控制寄存器———配置通道传输。
副控制寄存器———控制对CPU的中断使能和监Ξ收稿日期:2003-07-20基金项目:国家自然科学基金资助项目(60077025)作者简介:代少升(1974-),男,河南潢川人,重庆大学博士,主要从事基于DSP的图像处理技术研究。
视通道的活动。
源地址寄存器———配置要传输元素的存储器的起始地址。
目的地址寄存器———配置写入元素的存储器的起始地址。
传输计数寄存器———跟踪计数传输元素。
全局计数重载寄存器———重载传输计数寄存器。
全局索引寄存器———控制传输期间的地址更新。
全局地址寄存器———重载地址。
在TMS320C6X系列DMA中,把传输规定数量的数据单元(EL EM EN T)称为一帧(FRAM E)。
传输计数寄存器的低16位和高16位分别控制要传输单元的个数(EL EM EN T COUN T)和帧数(FRAM E COUN T)。
当完成1次DMA读操作时,EL EM EN T COUN T自动减1,最后一个数据单元传输完毕后, EL EM EN T会被全局计数重载寄存器内的低16位值重载。
当一帧内的最后一个读操作完成后,FRAM E COUN T自动减1,最后一帧传送完毕后,整个计数器会被全局计数寄存器重载。
DMA控制器负责对每个通道的读写传输进行地址计算。
在计算传输地址时,有基本调整和使用全局索引寄存器调整。
基本调整为通过设置主控制寄存器的SRC DIR和DST DIR来规定传输地址按数据字长大小递增、递减、保持不变或使用全局索引值。
使用全局索引寄存器与基本调整不同,这种模式下可以根据传输的数据元素是否为当前帧的最后一个来进行不同地址调整。
用户可以利用同步触发和多种地址产生方式来灵活控制DMA的数据传输过程。
同步触发使我们可以利用某些事件来触发DMA的传输过程。
DMA每个通道都有三种同步方式:读同步、写同步和帧同步。
同步事件的选择由DMA通道主控制寄存器来控制。
利用多种地址产生方式,DMA控制器可以支持多种结构数据的传输。
3 DMA技术在实时图像处理系统中的应用一个完整的实时图像处理系统不仅能对图像进行实时采集,还能对图像进行实时处理。
图像处理系统的最大特点就是运算的数据量大。
在实时图像处理中由于大量数据需要频繁的出入中央处理单元(CPU),数据的频繁出入成为影响实时图像处理中最大的瓶颈。
利用DMA后台传输数据的能力,在不影响或基本不影响CPU处理速度的情况下,作并行数据传输[5]。
DMA在图像处理中的典型应用有:块传输和数据重排序。
DMA块传输功能在图像处理中是最常用也是最简单的一种工作方式。
数据重排序是DMA 控制中比较灵活而又难于控制的一种工作方式。
下面结合实例对数据重排序给出DMA一种控制和实现方法。
3.1 图像处理系统的组成及DMA的任务该图像处理系统主要由图像传感器、A/D转换器、复杂可编程逻辑器件、TMS320C6201DSP芯片、图像显示设备等构成。
本系统的主要功能是要完成图像的非均匀性实时校正和显示任务。
按照人眼的视觉要求,成像系统每秒钟至少要采集和处理25帧图像数据,才能避免图像实时显示时的视觉闪烁感。
对于128×128的面阵图像,A/D为12bit,每帧采集数据为128×128×12bit=24K字节,按实时性的要求,则进行处理和显示数据的速度为128×128×12bit×25帧/s=0.614Mbtye/s,这样图像才不失连续性。
为了保证图像处理和显示的实时性,我们用外部缓存区存放A/D采集数据,当采集到一定的数据量后,由复杂可编程逻辑器件控制触发DMA读取数据,并将数据从DSP的外部缓存区搬运到内部缓存区,以供CPU进行计算。
由于DSP内部采用双缓存机制,DSP处理DMA传输的上一帧数据的同时,不影响DMA进行当前帧数据的传输,这样整个系统中A/D数据的采集、DMA数据的传输及CPU数据的计算达到高度的并行性[6]。
图1为系统组成示意图。
其中:DURAM为外部双口RAM,用于外部数据缓存区。
IDRAM为内部数据存储器,用于内部数据的双缓存区,供CPU取数。
FP G A为可编程逻辑单元,用于控制A/D采集及触发DMA传输。
图1 图像处理系统组成示意图3.2 具体实现方法3.2.1 图像数据传输要求要求将一幅128×128的图像数据从DSP的外部存储空间搬到内部存储空间。
一幅图像需要DMA搬运4帧,每帧图像数据为4K,每个数据字长为8位。
为了提高数据的传输速率和内部存储空间的利用率,将数据按32位字长进行组合。
为了方便CPU快速读取数据及计算数据,将DMA搬到内部存储区的数据按像元序号随地址递增排列。
根据要求我们通过控制DMA通道0来完成数据搬运任务。
图2为DMA重排序图。
32第26卷第12期 代少升等:DMA技术在实时图像处理中的应用图2 DMA 重排序图3.2.2 DMA 通道0有关寄存器的配置及说明寄存器控制域的含义可查看相关手册。
主控寄存器的配置为:0x0601C270。
ESIZE =10b ,传输元素的字长为8bit 。
SRC DIR =11b ,源地址按INDEX 指定的全局索引寄存器进行调整。
DST DIR =01b ,目的地址按元素大小进行调整。
RSYNC =00111b ,设置读同步事件。
FS =1,RSYNC 事件用作帧同步。
TICN T =1,传输控制器中断使能。
以下寄存器配置较简单,说明从略。
副控制寄存器配置为:0x80。
源地址寄存器:0x01400000。
目的地址寄存器:0x80000000。
传输计数寄存器:0x00041000。
全局计数重载寄存器:0x00041000。
全局索引寄存器:0xC0040004。
3.2.3 DMA 通道配置中注意事项1)重载是针对自动初始化和多帧连续传输而言的,对于手工启动的单帧传输,不存在重载。
2)重载是对块或帧传输过程中改变的值进行重载。
3)DMA 通道能够以单周期吞吐率进行数据传输,如对独立资源进行读和写传输,要求两个独立资源均需单周期读写。
4)RSYNC 和WSYNC 事件一般为上升沿触发。
5)为保证DMA 传输数据的完整性,要对DMA 的优先级进行设置。
4 结 论对CMOS 图像传感器输出的标准PAL 制电视信号进行实时采集、传输和显示实验。
实时显示的速度为25帧/s 。
图像的视觉效果比较理想。
因此,合理使用DMA 对提高数据传输效率具有实际的意义。
图3为本系统实时采集到的人手图像。
图3 手的实时图像参考文献:[1] TMS320C6201/C6701Peripherals User ’s Guide[Z].TexasInstruments Incorportated ,1999,3.[2] TMS320C62xx CPU and Instruction Set Reference Guide[Z].Texas Instruments Incorporated ,1999,3.[3] 任丽香.TMS320C6000系列DSPS 的原理与应用[M ].北京:电子工业出版社,2000.[4] 赵训威.TMS320C6200系列DSPS 芯片应用与开发[M ].北京:人民邮电出版社,2002.[5] 禹卫东,吴淑梅.ADSP2106x 中DMA 的应用[J ].电子技术应用,2000,(6):69-73.[6] 张永军.用于高速数据采集的DMA 技术[J ].石油仪器,1998,12(4):25-26.Application of DMA in R ealtime Im age ProcessingDAI Shao 2sheng ,Y UAN X iang 2hui(K ey Laboratory of Optoelectric Technique and System under the State Ministry of Education ,Chongqing University ,Chongqing 400044,China )Abstract :Direct memory access (DMA )is an important technology used for fast speed data transfer in data signal pro 2cessor (DSP ).DMA is able to move data block independent of CPU ,and this capability meets real time image pro 2cessing.TMS320C6201DSP is taken as an example ,and DMA controller characteristic is introduced.According to DMA application in realtime image processing ,the specific control ways and realization steps are given out.The re 2search result shows that the flexible control DMA can not only raise image data transfer efficiency but also improve DSP speed.K ey w ords :DMA ;real time image processing ;DSP(编辑 张小强)42重庆大学学报 2003年。