依据单相机的全景视觉体系是使用凸面镜反射四周图画进行定位,在核算资源有限时是一种较好的挑选,且视觉导航等方向的使用也成为一种最有用的办法[1-2],这种计划尽管视界开阔,但获取的信息有限,实在的体系中很难使用。跟着芯片核算才干的不断提高,依据多通道的全景视觉体系已逐步成为可能。本文介绍的智能车多通道全景视觉是指以观测点为中心,多个相机可一起观测车辆的前中、前左、前右、后左、后右和顶上6个方向的景象。该体系中的6台数字相机中5台散布在车辆的旁边面,1台在顶部,能够得到车辆周围全景360°的图画。该体系每个相机的分辨率为百万像素,即1 280×1 024,帧率为30 f/s,即使图画为8 bit单色,体系的总数据率也高达200 MB/s以上。一起,6个相机图画需求预处理,投影到同一坐标系,或许拼接成单幅完好图画才干满意智能车导航体系的要求,这些涉及到很多杂乱核算。针对这些要求,该体系的硬件处理部分使用了DSP和FPGA芯片各自的专长,选用高速DSP+FPGA[3-6]的计划,而DSP计划也是海量图画处理中遍及使用的[7]。高功能通用C6416 DSP芯片,合作FPGA进行高度并行数据处理,可完结高速实时的视觉图画处理。这种计划的长处在于,不只能够使用DSP的高速处理才干,一起使用FPGA的操控才干和在高度并行化数据处理方面的优势,比较其他计划更简略满意全景视觉体系所需求的高度实时处理。
1 体系整体计划规划
为合适高速图画收集,本体系选用CMOS传感器,CMOS的一个长处是数据读取速度快。体系由高速CMOS相机、依据CamLink技能的图画读取、FPGA+DSP的图画处理三部分构成,如图1所示。从图1能够看出,该体系有两片FPGA,图画读取模块中的FPGA1担任从CMOS相机抓图和通讯操控,FPGA2则辅佐两片DSP进行高速图画处理,完结一起对6个相机图画的实时处理。
逻辑操控芯片FPGA1选用XILINX公司的XC3S1000LFG456作为视频数据收集操控芯片,该芯片是Spartan3低功耗系列的一种,具有1 M个逻辑门,24个18×18乘法器及丰厚的片上存储空间,满意进行视频收集的同步逻辑操控。并行核算FPGA选用XILINX公司Virtex-4系列中的XC4VFX60-FF1152,内部有4 Mbit RAM,56 880个逻辑门和128个XtremeDSP模块,满意进行很多高速数据处理,特别是片上18 KRAM模块作业在500 MHz,支撑真实的双端口读写同步操作,为该芯片作为芯片间高速数据交互供给了资源。2个协处理DSP芯片为TI公司高功能C6416,具有8个并行处理单元,作业频率为600 Hz,最高处理速度可达4 800 兆指令/秒(MFLOPS)。
体系规划收集图画巨细为1 280×1 024像素,最高速度可达每相机60 f/s的实时收集。6路摄像头输出的数字视频信号经过FPGA1进行同步别离后,进入输入端高速数据缓冲区。体系选用两片ZBT SRAM进行乒乓数据收集,当一帧图画收集完,FPGA1告诉FPGA2进行数据搬运,FPGA2将数据预处理后由DSP经EDMA保存到SRAM后等候进一步处理。
2 多通道数字图画收集
因为智能车的方针是在公路上行进,该体系需求处理场景中快速运动的物体,要求图画收集模块有必要满意快地从相机搬运出帧数据,以便对快速运动的物体轨道进行记载,因而,相机模块的处理速度是决议该体系是否到达要求的重要一环。因为相机技能的快速开展,现已能从市面上买到满意快的传感器来捕获高速运动的物体,如车辆。
2.1 图画抓取模块
MT9M413是一种分辨率为130万像素1 280×1 024的CMOS传感器,最高可完结500 fps的收集速度。而MT9M413内部集成有10 bit A/D转化器,可直接输出3.3 V的数字信号,无需电平转化电路,简化了体系的规划。MT9M413能够作业在灰度或五颜六色形式下,可是却需求不同的偏置参阅电压,两片数模转化芯片DAC6573用于生成该偏置电压。图2给出了相机模块的框图。
高速相机模块首要包含以下三部分:
(1)传感器部分:包含高速像素时钟下的光电信号转化传感器。
(2)信号别离:预先编写好在FPGA1内部的程序,用来发生传感器模块和数据接口所需求的操控信号。
(3)接口板:将数字信号转化成高速LVDS信号对,并从主处模块接纳操控信号。
该模块的三个部分经过高速Samtec衔接器(QTH-090-01-L-D-A)连在一起,以增加体系的灵活性。主处理板与高速相机模块间选用CamLink协议衔接,以满意体系很高的带宽。依据收集图画的巨细、帧率和数据位精度,CamLink电路可装备成根本、中等、全幅3种形式,由FPGA1中的程序操控。FPGA1的另一个使命是进行视频信号的同步、告诉FPGA2设置参数,如视频开窗、帧率、曝光时刻等。
2.2 FPGA操控模块
体系的逻辑操控芯片是FG456,其首要作业是操控输入/输出帧存,以便告诉主处理芯片及时将存在ZBT SRAM中的图画数据读出,片上可编程时钟PLL用来发生驱动该FPGA所需的不一起钟,FPGA内部的计数器经过改动加法器不同的进位信号操控收集图画的巨细。
FPGA1接纳到来自CMOS传感器的视频同步信号后,开端将原始像素数据依照CamLink协议打包经过高速Semtec衔接器送到下一个模块中的FPGA2。
2.3 ZBT-RAM中的数据乒乓
体系规划的视频信号收集才干是,从CMOS收集到1 024×1 024巨细的数字图画,并经过两片Zero-bus turnaround(ZBT) SRAM作为数据乒乓的帧缓存,ZBT SRAM没有总线推迟,不需像DDR那样有必要经过FIFO进行办理。ZBT SRAM为体系供给了最大的吞吐量,然后供给了最大的体系带宽[8-9]。为确保体系的高速功能,FPGA1的3个内部时钟办理模块DCMs用来发生ZBT-RAM需求的时钟,一个为操控时钟,别的两个为视频输入的banks的信号。体系中的两片1 M×36 bit ZBT SRAM,每片ZBT SRAM可一起接纳两路视频的满帧数据收集。假如两路信号都为60 f/s,则每秒收集120 MB数据,而ZBT SRAM的作业频率为250 MHz,最大数据吞吐为4.5 GB/s,彻底满意数据收集速度体系的要求。
3 芯片间通讯
多芯片协处理体系中最重要的一个方面便是芯片间数据通讯的功率,该功率直接影响体系的运转功率。而数据推迟和传输带宽,是最值得重视的两个方面。本体系选用多种办法进行数据传输,提高了体系的灵活性。
3.1 FPGA2与DSPs间的数据通讯
依据使用特色和体系接口,本体系选用两种办法衔接FPGA和DSP:32 bit EMIF-A and McBSP0。选用32 bit EMIF-A作为DSP与FPGA间进行高速数据通讯首要原因是传输速率高,可充分使用TMS320C6416内EDMA办法传输数据的长处。如图3所示。
FPGA内部的EMIF FIFO接口模块用于转化DSP的EMIF信号,将数据搬运至接纳FIFO。当接纳满一帧数据后,FPGA的核算内核开端从该接纳FIFO获取数据并处理,然后将处理完的数据写到发送FIFO。发送FIFO数据满时,发动DMA中止将数据传送到DSP片内Cache。因为该EMIF-A是作业在133 MHz的32 bit总线,峰值数据率可达532 MB/s。
FPGA2与DSPs间的第二种通讯办法是McBSP(Multichannel Buffered Serial Port),两个DSP的McBSP0连到FPGA。McBSP是一种全复用串行口,作业频率为125 Mb/s。进行串行通讯时,具有独立的帧同步FSX,FSR和位同步时钟CLKX、CLKR,供给体系时钟信号为CLKS。在从形式下,可由外部时钟驱动,主形式下可由McBSP采样时钟驱动。接纳和发送也很简略,各需求一个数据线:DR,DX。McBSP通讯协议简略,可节约FPGA的资源。
3.2 两片DSP间的数据通讯
两片DSP之间的通讯也有两种通讯办法。第一种通讯是经过McBSP接口。为了取得最大的数据传送率,将两片DSP的McBSP1和McBSP2衔接起来,这样每个DSP能够做为时钟主控和帧主控。换句话说,同一片DSP的一个McBSP接口作为主控在通讯时发生数据发送时钟和帧同步时钟,一起别的一个接口作为从控等候操控信号以接纳数据。图中,当DSP-A的McBSP1为主控发送数据时,McBSP2为从控;一起DSP-B的McBSP2为主控,DSP-A的McBSP1等候从DSP-B的同步信号以接纳数据。
除了McBSP之外,两片DSP间还经过EMIF-A进行高速衔接映射,FPGA内部的32 bit双向接口经过FIFO完结,如图4所示。这种依据FIFO的双向数据传送口支撑DSP间杂乱的数据交换和操控音讯传递。DSP的EMIF-A作业频率为133 MHz,数据传输时,FPGA的可编程FIFO阈值中止支撑DSP间经过EDMA办法。
3.3 与上位机PC的数据通讯
为了完结从PC进行长途操控,特别是用无线网络衔接操控通讯,体系特别规划了以太网接口、USB2.0接口和PCI接口。网络衔接是经过FPGA2的规范GMII接口,以太网PHY衔接到外部RJ45。GPIO接口装备成USB2.0数据接口,而4个PCI则是将PCI芯片衔接到FPGA2内的MGT模块来完结的。
4 高速并行数字图画处理结果
在智能车视觉体系中,除了要预先将多通道画面进行拼接等预处理外,更重要的是完结主动导航和方针盯梢,这些都牵涉到海量数据流的实时传输和运算。本次试验为依据特征点的运动物体追寻,包含以下进程:(1)布景学习;(2)全画面运动估量、图画差分;(3)差分部分的特征提取;(4)特征点的帧间运动估量;(5)依据K-means法的特征点分类。
依据全景画面的特征点盯梢需求对多通道视频一起进行运算,运算进程杂乱,包含盯梢前与盯梢后的处理使命,如何将这些使命分配到不同的芯片上并使板载资源做到使命间最大同享,需求依据使命强度估量后放到不同的芯片上。一起,因为μC/OS是一种可移植性强、代码细小的实时、多使命操作体系,合适在本体系的DSP上运转[10]。移植μC/OS操作体系到一个DSP上,将该DSP作为主控DSP进行使命分配,本次试验的各个使命分配如图5所示。因为两个DSP帮忙FPGA2进行运算具有强壮的核算才干,可进行多方针盯梢,FPGA2承当了很多的并行数据运算,如运动勘探包含的差分、运动估量、图画拼接,而DSP则承当特征点提取和追寻这些不能并行运算的部分。试验结果表明,6路视频收集后的全景图画上可作实时多方针追寻。
本体系经过选用FPGA+DSP相合作的办法,一起使用了两种芯片的功能优势,既确保体系的履行速度,也能确保牢靠的逻辑操控。该体系完结了6路1 M巨细视频图画信号的一起收集和处理,由FPGA1对体系的运转逻辑进行操控,经过优化在DSP上运转的图画处理程序,可完结智能车导航使用中全景图画范围内的方针追寻。该体系还可作为一个独立的图画处理体系,后续经过增加其他如立体视觉和光学盯梢等的算法,构成其他多方面的图画使用研究渠道。一起该计划也为其他依据多DSP和FPGA混合图画处理渠道规划供给了参阅。