首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||
DMA在实时图像处理中的应用 | |||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 22:32:56 点击数:[] ![]() |
|||||
值由全局索引寄存器控制。全局索引寄存器含2个控制域,其中高16位为帧索引域(FRAME INDEX),其值为帧间的地址偏移量,也就是传输完1帧后的地址调整量;低16位为数据单元索引域(ELEMENT INDEX),其值的帧内地址偏移量,也就是每传输完1个数据单元的地址调整量。 3 几种典型的DMA操作及其应用 3.1 块移动 块移动能够将1块连续数据块从一个地址传输到另一个地址,通常用于将数据或程序从外部存储器移到内部存储器。这种块移动是最简单、最常见的DMA工作方式。例如,将1块1K连续的32位数据块从外存(0x02000000)移动至内存(0x80000000),如图1所示。 Primary control register =0x00000050 Transfer control register =0x00000400 Source control register =0x02000000 Destination control register =0x80000000 其中主控寄存器各控制域设置与意义如下: DST RELOAD =00 无目标地址重载 SRC RELOAD =00 无源地址重载 EMOD =0 FS =0 无帧同步 TCINT =1 允许中断 PRI =1 DMA优先 WSYNC =00000 无读同步 RSYNC =000 无写同步 RSYNC =00 无写同步 FRAME COUNT =0X000 ELEMENT COUNT =0X0400 INDEX =0 全局计数重载寄存器A comT RELOAD =0 全局计数重载寄存器A SPLIT =00 无分裂地址 ESIZE =00 数据单元4BYTES DSTDIR =11 索引寄存器方式 SRCDIR =01 地址递增 STATUS =00此位只读 START =00 DMA停止 在主控寄存器的START读中写入01b就可以开始DMA的传输。 3.2 数据重排 往往数据的格式并不符合运算的要求。在这种情况下,可以通过DMA进行数据重新排列,以满足运算的要求。数据重排主要是利用DMA的帧传输方式。数据重排所必需的、最关键的一步是设置全局寄存器,所以,以下讨论的重点就是全局寄存器的设置。 3.2.1 求矩阵转置 图2显示了将一个位于外存16bit的连续数据区,开始地址(0x02000000),数据重排并移至片内存储区,首地址为(0x80000000)前后的排列情况。 *FRAME INDEX应设为-((E-1)×F-1)×S *ELEMENT INDEX应设为F×S 在上例中寄存器的设置为: *FRAME INDEX =-((2-1) ×4-1) ×2=0xFFEE *ELEMENT INDEX=4×2=8 因此,寄存器设置如下: Primary control register =0x030001D0 Transfer control register =0x00040002 Source control register =0x02000000 Destination control register =0x80000000 Global index register A =0xFFFA0008 Global count reload A =0x00000002 3.2.2 取图像子图 图像处理中,往往要从图像中抠取一定大小的子图,然后对子图进行处理。对于大型图像,尺寸往往超过了DSP系统的片内存储器的大小,这种抠取的操作成了必不可少的步骤。这可以通过使用全局索引寄存器来完成。例如,从一个8×4的图像中抠取一个2×4的子图,如图3所示,其中每个数据单元为1Byte。 **FRAME INDEX =((8-4)+1×1=4 *ELEMENT INDEX=1 *FRAME COUNT =2 *ELEMENT INDEX=4 因此,寄存器设置如下: Primary control register =0x03000270 Transfer control register =0x00020004 Source control register =0x02000000 Destination control register =0x80000000 Global index register A =0x00050001 Global reload register A =0x00000001 结束语 作为实时系统,选取合理有效的核心算法是至关重要的,同时,选择有效的数据传输方法也是不容忽视的。我们在实际工作中发现,在大多数情形下,数据传输所花费时间往往超过数据处理的时间,成为实时图像处理系统中的瓶颈。因此,合理使用DMA提高数据传输效率,是很有实际价值和意义的。 |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |