Blackfin533的DMA技术及其在图像处理中的应用
直接存储器存取(Direct Memory Access,简称DMA?对计算机系统是非常重要的。它可以使CPU在运行指令的同时从外部存储器或设备中存取数据,也可以在CPU不参与的情况下,由专用的DMA控制器存取数据。
1 Blackfin533中的DMA
Blackfin系列DSP产品包括ADSP-BF535和ADSP-BF533/2/1两类,都是AD公司最新的基于微信号体系结构的DSP,这些器件含有两个MAC,并集成了大量的外围设备和存储器接口,每秒运算速度最高可达1200MMAC,因而比较适用于各种视频、音频、通信领域。
BF533处理器有多个独立的DMA控制器,它能以最小的处理器内核消耗支持数据的自动传输。DMA传输可以发生在BF533处理器的内存与支持DMA的任一外设之间。此外,DMA还可以完成有DMA功能的外设与连接在外部存储器接口上的外部设备(包括SDRAM控制器和异步存储控制器)之间数据传输。BF533处理器可利用DMA在存储器空间内部,以及在一个存储器空间和外围设备之间传输数据,并可以指定传输操作,以便完全集成化的DMA控制器独立于处理器完成数据传输时返回到正常的处理。
BF533处理器的DMA控制器同时支持1D和2D DMA传输,其DMA传输初始化可以通过寄存器状态描述符块中的一组参数来实现。2D DMA行和列最大可支持64k×64k个元素任意数。而且列的步长可小于行的步长,并可执行交叉存取的数据流。这一个特点在某些视频应用场合特别有用。
Blackfin533有12个通道DMA控制器。有DMA功能的外设包括SPORTs、SPI、UART和PPI。每个支持DMA的外设至少有一个专用的DMA通道。DMA控制器可以完成的几种数据传输类型如下:
(1)存储器和存储器之间(MDMA);
(2)存储器和串行外设接口(SPI)之间;
(3)存储器和串行接口 (SPORT)之间;
(4)存储器和通用异步收发器UART接口之间;
(5)存储器和并行外设接口(PPI)之间;
BF533处理器上的DMA传输可以基于描述符,也可以基于寄存器。基于描述符的DMA传输需要用存放在存储器内的一组参数来初始化一个DMA序列。这种传输允许多个DMA序列链接在一起。在基于描述符的DMA操作中,一个DMA通道可以通过编程自动建立起来,并可在当前序列完成后开始另一个DMA传输。基于寄存器的DMA允许处理器直接对控制寄存器编程来启动一个DMA传输。传输完成后,为了连续传输数据,也可以用它们原来设置的值自动更新控制寄存器。
2 DMA在数字图像处理中的应用
DMA是数字信号处理器(DSP)中用于快速数据交换的重要技术,它具有独立于CPU的后台批量数据传输能力,能够满足实时图像处理中的高速数据传输要求。由于图像处理的原始数据量很大,同时图像处理中也会产生等量的中间数据,对于片内存储资源有限的高速DSP芯片来说,一般需要借用外部存储空间。为了提高系统的实时处理能力,可以将数据在不同存储空间的转移任务交给DMA来完成,从而使CPU只专注于数据的计算。同时DMA对数据的重排功能可以优化图像数据在内存中的存储,这不仅可以提高内部存储空间的利用效率,也可以提高数据的传输效率。虽然图像数据的传输也可由软件实现,但会消耗大量的CPU时钟周期,从而使DSP的高速性能难以发挥。而由DMA来进行同样的工作却不占用CPU的时钟周期。
相关文章
- 2023-11-237050铝合金零件淬火过程中温度场及热应力场的模拟研究
- 2024-03-04基于CPLD的自定义PLC模拟I/O模块的研究
- 2023-09-27配料秤原理及准确度的探讨
- 2024-01-20关于关键比对参考值(KCRV)的解释
- 2023-06-18ZEPHYR数字微压计在流量测量中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。