基于FPGA的并行DSP芯片实时图像编码平台
扫描二维码
随时随地手机看文章
图像压缩技术在现代生活中的地位越来越重要,随着现在的DSP处理数据速度的提高,对传统的图像压缩而言,单片DSP即可达到很好的效果。但由于信息量的增长,尤其是高清晰度等概念的提出,系统的处理数据能力也需要提高,尤其是要求实时图像压缩编码时,单片DSP无法胜任这样的工作,即使是专用芯片也无法达到相应的要求。近十年来DSP技术飞速发展,在DSP主频得到重大突破的同时,其并行技术和外部通信技术也得到了很大的提高。现在各大DSP 厂商所生产的DSP都在数据级和指令级上实现了不同的并行技术,如TI公司的TMS320 C64XX系列和ADI公司的Tiger SHARC系列芯片。本文主要介绍的是采用ADI公司的ADSP-TS201S芯片实现的多DSP系统。
ADSP-TS201S的并行技术
ADSP-TS201S芯片是ADI公司在2004年推出的一款芯片,具有600MHz的时钟频率,1.67ns的指令周期。ADSP- TS201S芯片通过外部口(External Port)和链路口(Link Ports)两种接口技术对多处理器提供了有力的支持,这种多处理能力有以下特性:
·同一条通用总线支持多达8片DSP同时工作;
·提供多处理器的分布式总线仲裁逻辑,实现多处理器的无缝连接;
·用Link port 实现多处理器间的高速点对点通信。
External Port提供了一个统一的地址空间,这个地址空间可以让每个处理器直接访问ADSP-TS201S芯片内部的内存和寄存器。该DSP的分布式总线仲裁逻辑可实现多处理器的无缝连接,并且支持多达八片ADSP-TS201S芯片和一片主处理器同时工作。仲裁逻辑还可以防止一个处理器占用外部总线时间过长。
ADSP-TS201S芯片的四个Link Ports端口是多处理器方案的另一条实现路径,Link Ports支持处理器间高达4GB每秒的数据传输速率,每条总线也提供1GB每秒的速率,也就是说四条总线总共提供4.87GB每秒的处理器间通信带宽。
共享存储并行DSP系统
根据结构的不同,多处理器并行系统可以分为分布式并行DSP系统和共享存储器式并行DSP系统,ADSP-TS201S 均支持这两种并行处理器结构。常见的共享存储并行DSP系统结构如图1所示。
共享存储并行DSP系统的优势:由于它采用共享存储结构,所以比较节省存储资源。其次,共享总线节省了总线资源,可以提高系统的资源使用率。最后,也是最主要的,它采用主从式协同工作,使得各处理器分工明确,便于实现和调试。
然而考虑到图像编解码时,完全共享存储和总线往往会引起系统资源紧缺,而且在要求大量数据实时处理(如对高清图像、视频编解码)时,完全共享存储不能胜任。同时,采用DSP作为主控制器,不便于以后的系统升级和维护。最后,单一的共享存储式结构在DSP之间的通信方面明显不如分布式。下文介绍的基于FPGA的改进共享存储并行DSP系统,更好的发挥了共享存储并行DSP系统的优势,同时改进了上述缺点。
实时图像编码系统实现
本系统采用改进的共享存储结构设计,对一般的共享存储并行DSP系统而言具有以下特点:
·SP之间采用分布耦合式,更加便于DSP之间的数据交换;
·引入DSP簇的概念,采用DSP簇共享存储,解决存储资源瓶颈;
·FPGA做主控制器,利于硬件实现并易于维护;
·扩展性较强,可以级联以适应更高要求;
·采用独立电源供电,减少电源线路对系统线路影响
本系统由两部分组成,第一部分为处理部分(Processboard),第二部分为控制预处理部分(Mainboard)。
处理部分结构
Processboard由四片ADSP-TS201S组成,DSP之间采用松紧耦合的方式,构成一个灵活高效的多处理单元并行结构。所谓的松耦合是指四片DSP采用Link ports实现双向互联的方式。紧耦合是指两片DSP构成一个簇,DSP的外部总线连在簇总线上,外部存储器也接在簇总线上。外部存储器和各DSP的片内存储器作为共享资源都可以被总线上的DSP访问。这种方式充分利用AD I公司DSP片上无缝连接的优势。Processboard结构图如图2所示。
本系统四片DSP拿出三组Link ports资源构成双向十字环连接,另外每片DSP还有一组Link ports与Mainboard连接,用于系统连部分之间的数据通信。这种主芯片近似完全对称的结构有利于PCB的合理布线。所有DSP的数据、地址以及控制信号等均通过一个150针的接口与Mainboard相连,构成一个完整的系统平台。
在这样的系统结构中,待处理的信号可以经过Link ports送至Mainboard上的FPGA,或者通过速度更快的LVDS接口经串并转换芯片输入。由于两个簇总线均接至FPGA,故输入数据可以通过 FPGA内部做成数据总线开关,使得两个DSP簇可以“乒乓”读取和处理连续不断输入的待处理信号。处理完成的数据经Link ports送回至Mainboard。对于一个DSP簇,利用紧耦合的方式,用一片8M×32位的SDRAM存放数据块,通过DMA技术可在DSP内核进行信号处理时高速传输数据,提高了实时性并最大限度缓解了总线瓶颈。簇内的DSP及外围设备接口通过32位地址总线互联,映射到统一存储空间。因此对外部存储空间的访问就等同于访问外部接口设备。外部总线工作在100 MHz,单片DSP的总线吞吐率达到1 GB 每秒。
控制预处理部分结构
Mainboard由两个FPGA和一片ADSP-TS201S组成。系统采用模块化设计,可分为三个模块。控制模块由两个FPGA完成系统的控制功能。后处理模块包括DSP及其外围电路。扩展模块由八个150针的接口组成,完成与Processboard的通信。为扩展存储空间,该系统上包含了四片SRAM和四片16位SDRAM(均分为两组,扩展为32位),两个FPGA还可以用来做一部分预处理(如JPEG2000图像压缩编码中的小波预处理)。Mainboard结构如图3所示。
系统供电方案
由于本系统的元器件较多且大部分工作功率较大,在每块板上各自设计供电系统是不合适的。同时由于系统内数据交换速度达到数百兆每秒,将电源集成至系统内部电路板会影响系统正常工作甚至导致各种布线问题。
本系统采用了独立电源供电,即整个系统供电都来自一个独立设计的电源系统。这种供电方式类似于个人PC上的供电系统。电源系统结构如图4所示。
电源系统芯片采用TI公司的电源模块PTH系列,该系列芯片具有稳定易使用且供电功率高的特点。5V输入电压系统后经过五片PTH芯片转换成所需的电压(1.0V,1.5V,1.8V,2.5V,3.3V),经电源接口送入Mainboard和Processboard。
系统工作流程
当高速图像数据传入Mainboard上的大FPGA时,该FPGA实现对数据的分组和预处理,如果数据量超过FPGA内部存储器的范围,则将数据放入外部存储器中进行缓存;数据分组完毕后由大FPGA负责将数据传输至Processboard,Processboard并行处理完后再分别传送回Mainboard的小FPGA(如果数据分组适当,数据将同步传送至小FPGA),最后由小FPGA实现数据重组和合并功能后,送至 Mainboard的DSP进行后期处理,处理完再由输出端口输出。这样系统完成了一次处理过程。
系统工作时最大的问题是并行任务分配与调度问题。任务分配和算法的好坏直接影响到并行系统的性能,影响系统执行任务的效率,进而影响系统的实时性。在多DSP 系统中,任务分配使得各个处理器能够均匀分配到子任务,使各处理单元的空闲时间减少,从而得到较高的执行效率。例如在图像编码中把一幅图像平均分割,使各处理器得到相同大小的子图像,有效提高了系统编码效率,满足其实时性要求。由于本系统的复杂度,采用FPGA来做任务分配与调度是可行的。
实时图像编码系统的扩展
由于在设计上采用控制与处理的分离设计,这个系统有非常好的扩展性。如图5所示,系统对Processboard和Mainboard的扩展都支持,具体表现在以下几方面:
(1)Processboard的扩展—Mainboard给出了四组有效的Processboard扩展接口,也就是说最多可以扩展至四块Processboard。图中画出了八个接口,其中两两一组,目的是方便调试两板之间的通信,还利于整个系统的散热。
(2)Mainboard的板级扩展—通过板上预留的接口,Mainboard可实现32位的级联扩展。当接上其余Mainboard时,系统工作方式如下:级联后,每一级专门负责自己的任务,第一块板的所有FPGA都用来实现预处理和基本控制,其余级联板可以用来完成类似于 Processboard的任务,也可以完成多级处理的任务,这种工作方式适用于多级处理。
Processboard扩展时会遇到时钟资源匮乏的问题,由于每片FPGA所提供的全局始终资源仅为16个,而每扩展一块 Processboard时所需的资源是5个,所以采用单片FPGA时最多只能实现三块Processboard的扩展。为解决这个问题,我们采用了双 FPGA的设计方法,两块FPGA分别掌管Processboard的进出时钟,这样设计最大的不仅将时钟资源翻倍,同时还可以方便FPGA的编程,便于系统调试。
系统性能
选取分辨率分别为1600×1280、1280×1024、1024×960的6副图像,利用实时图像编码系统进行图像编码,采用 JPEG2000图像压缩编码标准,表1为该系统的压缩结果和采用KDU算法的软件压缩结果,通过对比能发现,该系统压缩效果的PSNR值与KDU的相差甚小,而且可以达到在分辨率1440×1280的情况下实现每秒45帧的素压缩速度,完全可以胜任图像序列和高清视频的实时压缩要求。
结语
通过对共享存储并行DSP系统的研究与改进,本文以高性能的 ADSP-TS201S芯片为基础,设计出一个改进的基于FPGA的多处理器并行系统。通过实践证明,该系统能够实现对高清图像和视频的实时压缩编码。
参考文献:
1. Analog Devices INC. ADSP-TS201 TigerSHARC Embedded Processor Data Sheet (Rev. A). 2004
2. Analog Devices INC. ADSP-TS201 TigerSHARC Processor Hardware Reference, Revision 1.0, November 2004
3. 刘书明,苏 涛等. TigerSHARC DSP应用系统设计. 北京:电子工业出版社, 2004.
4. 王二力,李世杰.基于ADSP-TS101的多DSP并行处理系统.单片基于嵌入式应用,2005(12)