基于四核DSP的视频交通检测系统设计
交通信息视频检测系统是通过图像分析的方式获取交通信息数据的设备,是智能交通系统ITS(Intelligent TransportaTIon Systems) 的重要组成部分[1-2]。此系统以道路上方架设的摄像机作为传感器,将路面交通图像传到交通信息视频检测系统,对图像进行实时分析,提取出车辆运行交通信息数据(包括车流量、车速度、车辆密度等),通过一定的通信链路发给交通信息控制中心。此类系统具有准确度高、寿命长、易维护等优点。另外,大量的交通图像数据和不断发展的处理算法以及各种现实需求对硬件系统性能的要求越来越高,单一处理器必将不能满足需要,并行、通用且处理能力强大的多处理器系统逐渐受到重视和应用。本文提出一种新型的基于四核DSP并行体系结构的交通信息视频检测系统的设计方案,采用4个DSP处理器并行处理图像数据,极大提高了系统数据处理能力和传输性能。
1视频检测系统整体方案
目前交通信息视频检测系统较为复杂,而且稳定性不高、价格昂贵、实时性不强,需要专人管理,操作较为繁琐。本设计系统框图如图1所示采用4核DSP结构,通过4个系统单元间通信接口的连接,将4个数字信号处理器DSP相结合,体现了4微处理器系统的优势。系统单元实现检测算法并与外部设备交换数据。系统工作时,CCD摄像头采集车流图像信号经模数转换得到数字视频数据,数字视频数据存入视频缓冲器FIFO中,存满一行后向4×DSP系统发出中断请求信号;DSP中断CPU,将数字视频数据传输到内部存储器SDRAM中,完成数字视频图像的采集和YUV变量分离,合成一帧完整的数字图像数据;然后产生中断通知算法处理程序对图像进行处理,结果存储在DSP地址空间约定好的缓冲区里,等待外部设备取走检测结果,以作后续处理。
2 DSP简介
DSP(数字信号处理器)自从1982年诞生以来,获得了飞速的发展。本文采用4颗TI(Texas Instrument)公司高端DSP-TMS320C6416所设计,具有主频高、双套外部地址和数据总线等特点,非常适用于图像处理等领域。有关该芯片的特点如下,详细资料可见参考文献[3]。
(1) DSP内核采用超长指令字(VLIW)体系结构,有8个功能单元、64个32 bit通用寄存器。一个时钟周期同时执行8条指令,运算能力可达到 4800MIPS(每秒百万条指令),支持8/16/32/64 bit的数据类型。两个乘法累加单元一个时钟周期可同时执行4组16×16 bit乘法或8 组8×8bit乘法,每个功能单元在硬件上都增加了附加功能,增强了指令集的正交性。除此之外还增加了一些指令用以削减代码长度和增加寄存器的灵活性;
(2)为使数据能保持对超快速DSP内核的供给,TMS320C6416采用了两级超高速缓存器,即16 KB的一级数据Cache、16 KB的一级程序Cache和1 024 KB的数据和程序统一内存。为了达到更大的扩展,1 024 KB内存中的256 KB存储空间可设置用作二级Cache;
(3)TMS320C6416的存储器接口提供了到SDRAM、SBSRAM、异步器件如SRAM/ROM等存储器的无终端接口,也可连接到外部I/O器件;
(4)在TMS320C6416 中,增加了一个PCI接口,支持32bit宽的地址和数据复用总线,工作频率最高为33MHz;
(5)DSP器件比通用CPU家族的动辄几十瓦而言,其功耗一般在数瓦甚至毫瓦量级,这在各种功耗敏感场合显示出独特的优势,同时省去了繁杂的散热系统。本文采用C6416,I/O电压为3.3 V,内核电压为1.2 V。当时钟频率为600 MHz时,DSP的最大功耗小于1.6 W。
2.1 4×DSP的并行图像处理系统
使用4个TI公司高端数字信号处理器TMS320C6416构建一种新型的并行图像处理系统。该系统通过一个同步4口SRAM和系统总线构成互连结构,兼有紧耦合并行系统和松耦合并行系统的优点[4]。
2.2 4×DSP并行系统结构
图像处理算法灵活多样,而且还在不断地迅速发展,为满足日益复杂的图像处理算法和逐渐变大的图像规模,出于通用性考虑,系统中处理器之间需要灵活的、高带宽的通信和握手机制。图2给出了所设计的并行系统框图,采用4颗TMS320C6416芯片,能较快完成以前一台计算机需要长时间才能完成的任务。
从图2可以看出,该系统以紧耦合系统和松耦合系统为基础构架而设计的,结合了两者的优点。紧耦合系统通过共享的存储器来实现处理器之间的通信,处理器之间的联系比较紧密。松耦合系统中每个处理器节点带有存储器[5],处理器之间通过消息传递的方式来相互通信。该系统每个节点即是一台完整的DSP处理器并且带有SDRAM存储器,属于松耦合系统;而所有节点共享一个同步4口SRAM存储器,构成的整体是一个单一计算资源,属于紧耦合系统。因此,该系统具有紧耦合系统和松耦合系统的优点,相比于前面两者具有增强的可用性和更好的性能。
2.3同步4口SRAM通道划分
将容量为128 KB的同步4口SRAM划分为7个区域(见图3),除一个公共区域外,其余6个区域用于DSP之间的互相通信。根据同步4口SRAM的特点,这6个区域可以同时使用,即这6个区域为DSP之间的通信构建了独立“通道”,通道之间相互独立、互不干扰并可以同时使用。同步4口SRAM的总线频率工作为133 MHz,数据宽度为16bit,其带宽为266 MB。由于设计的对称性,无论采用乒乓法还是热土豆法来测量点到点的通信开销,其结果都是一样的。
2.4系统工作原理和性能分析
数字视频数据存入视频缓冲器FIFO,这一速度可达266Mb/s。在DSP-1的DMA控制器作用下,前端数据缓冲FIFO中的数据被不断地转移到同步四口SRAM中,然后各个DSP分别或者同时读取要处理的数据。因为前端FIFO和同步四口SRAM都挂接在DSP-1的独立接口上,因此数据分配过程不会打扰到DSP-1本身算法的执行,甚至不会干扰到DSP-1对其外接的SDRAM存储器的读写操作。各个DSP协同完成整个图像处理算法,过程中可能会存在相互之间的通信或者数据交换,这同样通过同步四口SRAM完成。初始化时,各个DSP将程序分别下载到各自的代码空间和数据空间;对数据处理完成后,再不断地通过PCI总线将处理的结果分别送出。此外,系统上留有足够的扩展接口,方便对系统的进一步扩展。
采用4个TI公司高端数字信号处理器TMS320C6416的并行图像处理系统。单个的数字信号处理器TMS320C6416的频率为600MHz,处理器的运算能力4800MIPS,处理器的本地SDRAM为32 MB。现在的4×DSP系统,具有处理器的最高性能19 200 MIPS,系统具有总SDRAM为128 MB+128 KB。另外,考虑加速比和效率[6-7]。加速比指对某个特定的应用,使用并行算法的执行速度相对于串行算法的执行速度所快的倍数;并行系统的效率则指加速比与处理器个数之比。根据Amdahal定律[4],加速比会随着处理器数目的增加而提高,但是存在极限,而且这一极限是由问题本身所决定的,因为随着处理器数目的增加,额外开销会越来越大。对一幅1024×2048像素,每个像素1B的图像进行FFT运算,单一处理器运算时间为82 715.020 ms,4个处理器运算时间为20 703.770 ms,可得加速比为3.995,并行系统的效率为99.88%。可见,系统性能得到大幅提升。
随着数字信号处理器的飞速发展,图像处理算法更加复杂,多个DSP并行协同工作的构架将越来越多地被采用,应用会更加广泛。为满足日益复杂的图像处理算法和不断增加图像规模,采用4颗TMS320C6416芯片,设计了一套通用的高性能并行图像处理系统,能较快完成以前1台计算机需要长时间才能完成的任务。该系统可以作为一个通用的视频检测的硬件平台,实现多种检测算法,具有很好的可扩展性,容易在此基础上进行二次开发。实验和应用结果表明,该系统能够实时地计算交通信息参数,并实现图像和数据的网络传输,具有强大的视频处理能力和网络功能。总之,该方案灵活、简单,能够满足实时性的要求,实践证明可应用于车流量检测系统中以提高了系统的整体性能。