您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > DSPFPGA折反射全景视频处理系统中双核高速数据通信H
第32卷第3期电子与信息学报Vol.32No.32010年3月JournalofElectronics&InformationTechnologyMar.2010DSP+FPGA折反射全景视频处理系统中双核高速数据通信李乐熊志辉王斌张茂军陈立栋(国防科学技术大学信息系统与管理学院长沙410073)摘要:对于嵌入式折反射全景视频处理系统,由于计算量大,一般采用多处理器协同的结构,但在该结构下多个处理器之间需要进行高速的数据通信。该文提出一种基于DSP+FPGA架构的双核高速数据通信方法,该方法通过基于地址总线的控制指令编码解析方法协同双核工作,通过逆向波形分析和基于乒乓缓存的间接DMA通信方式,实现DSP与FPGA之间的双核DMA数据通信。实验结果表明,使用上述方法实现的DSP与FPGA之间数据通信速度高达585MBps。关键词:数据通信;双核;全景;DMA;FPGA;DSP中图分类号:TP274;TN919文献标识码:A文章编号:1009-5896(2010)03-0649-06DOI:10.3724/SP.J.1146.2009.00329High-SpeedDataCommunicationBetweenDSPandFPGAinEmbeddedPanoramicVideoProcessingSystemLiLeXiongZhi-huiWangBinZhangMao-junChenLi-dong(CollegeofInformationSystemsandManagement,NationalUniversityofDefenseTechnology,Changsha410073,China)Abstract:Asthehugecomputationalloadsofpanoramicvideoprocessing,mostoftheembeddedpanoramicvideoprocessingsystemarebasedonmulti-cores.Theproblemofhigh-speeddatacommunicationbetweenmulti-coresmustbesolved.Ahigh-speeddatacommunicationmethodbetweenDSPandFPGAisproposed.Inordertorealizehigh-speeddatacommunication,theaddress-busisusedtotransportcommands,thewaveofdatacommunicationbetweendual-coresinDMAmodeisanalyzedandsimulated.Theexperimentsshowthatthedatatransmissionspeedisupto588MBpsbetweenDSPandFPGAbyusingthosemethods.Keywords:Datacommunication;Dual-cores;Panoramic;DMA;FPGA;DSP1引言全景视频技术可以在任意时刻同时获取周围360°观察方向上的场景,使得观察者能够更快更准确地感知周围场景的变化,该技术可广泛应用于战场环境侦察、视频监控、机器人导航等领域[14]−。在嵌入式系统上实现折反射全景成像处理获取全景视频,需要对折反射全向视频图像进行实时采集、预处理及柱面全景展开等,整个过程算法复杂、计算量大,一般的单核嵌入式视频处理系统难以达到实时处理的要求[5],因此在实际应用中常采用多个嵌入式处理器协同的方法(例如DSP+FPGA协同)完成折反射全景成像处理。文献[6]采用FPGA和多个DSP互连的并行处理结构,实现了一个高速数据传输带宽、低延迟且计算性能强大的实时图像处理系统。文献[7]采用双FPGA加双DSP的结构,使2009-03-13收到,2009-07-27改回国家自然科学基金项目(60773023,60705013),国家863计划项目(2009AA01Z328),中国博士后科学基金项目(20070410977)和湖南省自然科学基金项目(08JJ4018)资助课题通信作者:李乐x.cat18509783@163.com用流水线的技术,设计了每秒可处理50帧分辨率为240×320的视频图像的嵌入式系统。但是,在这种多核协同的结构中,各个处理器芯片之间需要进行大数据量高速传输。以每秒采集处理25帧400万像素的折反射全向图为例,假设图像中每像素2个字节的YCbCr4:2:2格式为例计算,则多核之间的数据传输速率约为1.6Gbps(即200MBps)。若进一步要求每个芯片至多只能用50%的时间用于数据传输,另外50%的时间用于其他运算处理,这样,实际设计中要求多核之间的数据传输速度至少在3.2Gbps(即400MBps)以上。为了解决上述问题,本文提出一种DSP+FPGA协同处理结构中的双核间高速数据通信方法。在硬件上将DSP的EMIF接口与FPGA相连建立了双核高速数据传输通道;使用基于地址总线的控制指令编码解析的方法实现了双核之间控制指令的快速交互,有效协同了FPGA和DSP的工作;通过逆向波形分析的方法[8]分析研究DSP执行DMA操作的时序,在FPGA上模拟DMA传输模块,使用基于乒乓缓存机制的间接DMA通信方法[9]实现DSP和FPGA之间高速数据通信。实验结果650电子与信息学报第32卷表明,DSP与FPGA之间的双核数据传输速度昀高可达4.683Gbps(即585MBps)。2DSP+FPGA双核全景视频处理系统结构基于DSP+FPGA双核折反射全景视频处理系统的结构如图1所示,系统核心为DSP和FPGA,并集成了感光CMOS图像采集设备、大容量的存储器(FLASH和SDRAM)、多个标准的外部接口(视频、网络和ATA接口)。其中,DSP作为系统的主控芯片,控制整个系统的运行。并根据DSP和FPGA的特点,对系统任务进行了划分,平衡二者的任务负载。FPGA负责折反射环状全向图像采集、预处理及展开运算,DSP则负责柱面全景图的后期处理(视频压缩、目标检测等)、视频输出和存储等工作。该系统具体的工作流程如下:图1DSP+FPGA双核全景视频处理系统(1)系统起始运行时,首先由DSP发起指令,通知FPGA控制CMOS图像采集设备采集一帧折反射环状全向视频;(2)FPGA采集一帧原始的折反射环状全向视频并对其进行颜色空间转换等预处理操作,昀后将结果存入外部SDRAM;(3)FPGA对该帧全向视频执行柱面展开运算,得到柱面全景图像;(4)DSP从FPGA读取展开的柱面全景图像,然后对其进行运动目标检测、图像压缩等后期处理;(5)通过外部的ATA、网络和视频输出等接口对处理完的柱面全景视频数据进行存储和输出。3DSP与FPGA硬件互连基于FPGA+DSP双核架构的折反射全景视频处理系统在运行过程中,DSP和FPGA之间存在大量的高分辨率柱面全景视频数据需要传输。在双核之间建立一条高速、可靠的数据传输通道,实现对海量视频数据的实时传输,就成为影响整个系统性能的关键因素。通过研究DSP和FPGA芯片实现外部数据存储、传输常用的方法和特点,在设计基于DSP+FPGA的双核视频处理系统时,使用了DSP的EMIF接口与FPGA互连。EMIF接口是DSP的外部存储器接口,通过对该接口寄存器进行设置,可以将其灵活配置成同步、异步等各种类型的高速数据接口,使用该接口,DSP可以与外部据存储器实现每秒数百兆字节的数据传输速率;相应地,FPGA只需要根据DSPEMIF接口的工作时序,灵活地配置芯片内部资源和外部通用IO,即可实现与DSPEMIF接口的无缝对接,在双核间建立高速数据传输通道。如图2所示,将FPGA的IO引脚分别与DSPEMIF接口的数据、地址、读/写控制、GPIO等信号线相连,在双核之间构建了64位宽的数据总线、25位宽的地址总线、以及读/写、时钟、命令使能等信号用于双核数据通信。其中,通过数据总线、地址总线、命令使能信号实现了DSP和FPGA之间控制指令的交互,协同双核工作。使用FPGA内部的BlockRAM模拟了2个数据缓存和1个状态寄存器,状态寄存器用于标识数据缓存和SDRAM存储器的状态,而数据缓存则作为视频数据从SDRAM到DSP传输过程的中间缓存,它们采用乒乓机制轮流将全景视频数据从SDRAM送到DSP,实现双核之间无缝的高速数据通信。并且,在FPGA内部构建了一个主控逻辑,用于接收和解析DSP发送的地址、数据和控制指令,并根据接收的控制指令,控制数据缓存和SDRAM等模块的工作,保证了DSP与FPGA高效协同工作,实现双核之间的高速数据通信。图2DSP与FPGA互连结构图4DSP与FPGA高速数据通信根据上述的硬件电路设计方案,建立DSP与FPGA数据通道,通过基于地址总线的控制指令编码解析方法实现双核之间控制指令交互,协调双核工作;通过DMA逆向波形分析在DSP与FPGA之间模拟DMA传输,使用基于乒乓缓存机制的间接DMA通信等方法完成全景视频数据在DSP和FPGA之间的高速传输。第3期李乐等:DSP+FPGA折反射全景视频处理系统中双核高速数据通信6514.1基于地址总线的控制指令编码解析机制基于DSP与FPGA架构的全景视频处理系统中,双核之间不仅要进行视频数据传输;同时,DSP作为主控芯片,还要控制和协调双核的工作,双核之间需要进行控制指令的交互,以保证整个视频处理系统正常、高效的运行。常用的控制指令传输方法是主控芯片通过一次写操作将控制指令写入外部芯片的指令寄存器,然后外部芯片读取指令寄存器并执行相关操作,昀后再由主控芯片通过一次读操作读取返回结果或应答信息。使用该方法在DSP与FPGA之间进行控制指令交互,每次都需要一读一写共两个周期。对于一些简单的控制指令,还可以进一步简化该过程,以减少控制指令传输时占用的双核通信时间,提高双核通信效率。文中提出了基于EMIF接口异步通信模式下的使用地址总线进行控制指令交互的方法,将控制指令进行编码后通过地址总线进行传输,接收方FPGA根据地址总线的信号解析并执行控制指令,昀后通过数据总线返回执行结果,这样每次只需要一个读周期就可以在DSP与FPGA之间完成指令传输和结果返回整个过程。使用基于地址总线的控制指令编码解析的方法传输控制指令,通过DSPEMIF接口的信号,在DSP和FPGA之间构建命令使能、地址总线和数据总线用于实现双核之间的控制指令交互。命令使能信号线为双核通信提供指令收发的使能信号,通过地址总线的不同编码组合表示DSP向FPGA发送的不同指令,而数据总线则用于返回执行结果。为了完成DSP与FPGA之间控制指令交互,实现双核高效协同工作,控制指令交互过程如图3所示。DSP首先进行通信命令使能表示即将传输控制指令,通过地址总线向FPGA发出控制指令编码,FPGA解析地址总线上的控制指令后立即执行相关操作,并将相关执行情况或结果通过数据总线返回给DSP。具体过程如下:(1)指令使能:DSP进行通信指令使能,通知图3DSP与FPGA控制指令交互过程执行序列图FPGA接收控制指令。(2)指令发送:DSP通过EMIF接口向FPGA发起一次“读”操作周期,并根据控制指令的内容进行编码给地址总线赋值。(3)指令解析:FPGA接收地址总线上的地址数据,并将其解析成相关的控制指令。(4)执行指令:FPGA按照解析的控制指令执行相关操作。(5)结果返回:FPGA将指令执行状态或者返回结果“赋值”给数据总线,DSP采集数据总线的数据,得到FPGA对该控制指令的执行情况。对于简单的控制指令使用上述的方法在双核之间进行控制指令交互,而对于复杂的控制指令仍采用传统的写指令寄存器的方法传输控制指令,综合使用这两种指令交互方式,提高双核之间控制指令的传输效率,高效协同DSP和FPGA的工作。4.2DSP与FPGA高速DMA通信4.2.1DSP与FPGA双核DMA时序逆向波形分析在DSP+FPGA的双核嵌入式系统中,DS
本文标题:DSPFPGA折反射全景视频处理系统中双核高速数据通信H
链接地址:https://www.777doc.com/doc-309565 .html