DMA在实时图像处理中的应用
0000
Destinationcontrolregister=0x80000000
GlobalindexregisterA=0xFFFA0008
GlobalcountreloadA=0x00000002
3.2.2取图像子图
图像处理中,往往要从图像中抠取一定大小的子图,然后对子图进行处理。对于大型图像,尺寸往往超过了DSP系统的片内存储器的大小,这种抠取的操作成了必不可少的步骤。这可以通过使用全局索引寄存器来完成。例如,从一个8×4的图像中抠取一个2×4的子图,如图3所示,其中每个数据单元为1Byte。
可以这样描述:有F1帧数据,每帧数据有E1个数据单元,每个数据单元为S(Byte);从中抠取部分为F2帧数据,每帧数据E2个数据单元,数据单元为S(Byte)。这种情况下,因为完成数据传输后,目标存储区为连续数据,因此目标地址递增;源地址根据全局索引寄存器的值进行调整。帧内相邻的数据单元传输时,源地址偏移应为S;当读完帧的最后一个数据单元,源地址指针跳过(E1-E2)个数据单元,即帧间的地址调整量为((E1-E1)+1)×S。这样全局寄存器的设置:
**FRAMEINDEX=((8-4)+1×1=4
*ELEMENTINDEX=1
*FRAMECOUNT=2
*ELEMENTINDEX=4
因此,寄存器设置如下:
Primarycontrolregister=0x03000270
Transfercontrolregister=0x00020004
Sourcecontrolregister=0x02000000
Destinationcontrolregister=0x80000000
GlobalindexregisterA=0x00050001
GlobalreloadregisterA=0x00000001
结束语
作为实时系统,选取合理有效的核心算法是至关重要的,同时,选择有效的数据传输方法也是不容忽视的。我们在实际工作中发现,在大多数情形下,数据传输所花费时间往往超过数据处理的时间,成为实时图像处理系统中的瓶颈。因此,合理使用DMA提高数据传输效率,是很有实际价值和意义的。
《DMA在实时图像处理中的应用(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/168593.html
Destinationcontrolregister=0x80000000
GlobalindexregisterA=0xFFFA0008
GlobalcountreloadA=0x00000002
3.2.2取图像子图
图像处理中,往往要从图像中抠取一定大小的子图,然后对子图进行处理。对于大型图像,尺寸往往超过了DSP系统的片内存储器的大小,这种抠取的操作成了必不可少的步骤。这可以通过使用全局索引寄存器来完成。例如,从一个8×4的图像中抠取一个2×4的子图,如图3所示,其中每个数据单元为1Byte。
可以这样描述:有F1帧数据,每帧数据有E1个数据单元,每个数据单元为S(Byte);从中抠取部分为F2帧数据,每帧数据E2个数据单元,数据单元为S(Byte)。这种情况下,因为完成数据传输后,目标存储区为连续数据,因此目标地址递增;源地址根据全局索引寄存器的值进行调整。帧内相邻的数据单元传输时,源地址偏移应为S;当读完帧的最后一个数据单元,源地址指针跳过(E1-E2)个数据单元,即帧间的地址调整量为((E1-E1)+1)×S。这样全局寄存器的设置:
**FRAMEINDEX=((8-4)+1×1=4
*ELEMENTINDEX=1
*FRAMECOUNT=2
*ELEMENTINDEX=4
因此,寄存器设置如下:
Primarycontrolregister=0x03000270
Transfercontrolregister=0x00020004
Sourcecontrolregister=0x02000000
Destinationcontrolregister=0x80000000
GlobalindexregisterA=0x00050001
GlobalreloadregisterA=0x00000001
结束语
作为实时系统,选取合理有效的核心算法是至关重要的,同时,选择有效的数据传输方法也是不容忽视的。我们在实际工作中发现,在大多数情形下,数据传输所花费时间往往超过数据处理的时间,成为实时图像处理系统中的瓶颈。因此,合理使用DMA提高数据传输效率,是很有实际价值和意义的。
《DMA在实时图像处理中的应用(第4页)》