摘要:基于ADSP-BF561的结构特点,提出了图像平移系统的设计与实现方案。该设计分为硬件和软件两部分。硬件设计上,以ADSP—BF561为核心,控制视频信号的采集、预处理和平移。其中,视频鳊解码分别采用ADV7171,ADV7181B芯片实现。软件设计上,分别使用基于描述子的数据传输方式、DMA和MDMA数据搬移方式,着重解决了图像平移时的实时性问题。试验结果证明了该设计的有效性。
关键词:ADSP-BF561;图像平移;视频编码;视频解码;电子稳像
该设计以ADI公司的Blackfin系列中的BF561作为处理器,分别采用ADV7181B和ADV7171作为视频编解码芯片,设计了图像平移系统。通过采用基于描述子的DMA及MDMA图像传输方式等方法,解决了图像平移时的实时性难题。该图像平移系统设计结构紧凑,成本低廉,可靠性高,可以广泛应用于电子稳像技术中。
1 系统设计
ADSP—BF561处理器是ADI公司推出的Blaekfin系列中的高性能产品,它采用独立的双核结构,主频600 MHz,具有2套乘法器和算术逻辑单元,丰富的DMA通道,内嵌328 KB超高速L1 SRAM和高速的L2 SRAM。同时,ADSP-BF561具有2个PPI接口,可以方便地与视频解码器和视频编码其相连,无需外围逻辑支持。ADSP-BF561把存储器视为一个统一的4 GB的地址空间,使用32位地址。所有资源,包括内部存储器、外部存储器和I/O控制寄存器,都占用公共地址空间的相应部分,并且各自对立。该地址空间的各部分存储器按分级结构排列,提供高性价比。其中极快速、低延迟的存储器接近处理器放置、而更大的、低成本、低性能的存储器则原理处理器放置。片外存储系统通过外部总线接口单元EBIU(External Bus Interface Unit)进行访问。存储器的DMA控制器提供高带宽的数据传输能力,能在内部L1/L2存储器和外部存储器空间之间传输代码和数据块。该设计以ADI公司的ADSP—BF561为核心,Visual DSP++5.0为软件开发环境,对图像平移系统进行开发。
2 硬件设计方案及实现
2.1 硬件设计方案
图像平移就是将图像中的所有像素点都按照指定的平移量沿水平或者垂直方向移动。假设图像f(x,y)以平移量(α,β)分别在x轴方向和y轴方向上进行平移,则平移之后的图像就变成了f(x-α,y-β)。平移算法是几何变换中最简单的变换之一,但是这种简单的变换却在电子稳像中发挥着很大的作用。
平移算法的难点主要体现在算法的实时性上。假设一个视频采集系统图像的采集速率为25帧/s,要想实时地看到平移后的图像,那么平移算法必须要在40 ms内完成,而对于大小为720×576×2 B=829.4 KB的图像要完成数据的搬移工作,如果设计不好,很可能会产生迟滞现象。为此本文将平移算法的平台设计在ADI公司的高性能芯片BF561上,并使用DMA及MDMA等方式实现算法的平移,该系统框图如图1所示。
该系统设计方案中主要包含以下主要硬件:
(1)CPU:600 MHz的Blaekfin 561双核处理器。
(2)FLASH:1片SAMSUNG K4S5616320 8 MB。
(3)视频接口:BF561.提供了2个16位的ParallelPeripheral Interface(PPI0和PPI1),它们可分别与视频解码芯片ADV7181B、视频编码芯片ADV7171连接。
(4)外部总线接口(EBIU):为ADSP—BF561与外部存储器和通过总线寻址的外部设备提供了连接通道。通过EBIU连接2片SDRAM。
(5)SDRAM:2片SAMSIING K4S561632064 MB;该系统对PAL制式的视频数据进行采集,经ADV718lB解码后转换为ITU-656格式的视频信号YCrCb采用4:2:2的输入格式,视频数据所需的存储空间较大,故需要扩展外部存储器SDRAM。
(6)JTAG调试接口,通过仿真器与PC机相连,实现JTAG硬件调试功能。
CCD摄像头每40 ms采集一帧模拟视频信号,ADV7181B解码后转换为ITU-656格式的视频信号,通过PPI0利用DMA方式自动将其放入外部SD-RAM中。为在电视上实时看到平移后的图像,DSP内核必须要在40 ms内读取SDRAM中的视频数据,按照平移算法的要求实现对图像的上、下、左、右平移后,写回SDRAM,并由DSP内核读取该SDRAM中的数据,启动PPI1通过DMA送给ADV7171编码成模拟的PAL制(图像的输出格式为ITU-656格式),最后由电视屏幕显示输出。