基于FPGA+DSP的智能车全景视觉系统

分享到:

基于单相机的全景视觉系统是利用凸面镜反射四周图像进行定位,在计算资源有限时是一种较好的选择,且视觉导航等方向的应用也成为一种最实用的方法[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的数据通信

继续阅读
FPGA在AI时代将会面临怎样的挑战?

AI应用驱动,FPGA市场快速增长,云计算、人工智能的应用发展,对芯片的计算力提出了更高要求,FPGA可以同时进行数据并行和任务并行计算,具备更大的灵活性。

FPGA已经发展几十年,异构计算要求越发明显的今天该如何寻找新的创新点

作为制造业大国,中国近几年每年进口集成电路芯片超过2000亿美元,2018 年甚至突破 3000 亿美元,是中国最大宗的外汇进口商品。然而中国高端通用芯片的自给率不到 10%,为国内的集成电路企业提供了巨大的市场发展空间。中国政府已将发展民族集成电路产业作为国家战略,设立了 1380亿的第一期国家集成电 路产业发展基金,第二期大基金已经募集超 2000亿元。许多地方政府也各自设立了数百亿元的地方产业基金,同时国家制定政策扶持国产芯片替代进口芯片,有力地提高了中国集成电路企业上下游的产品竞争优势。

“ 帕克号” 的太阳探测器发射升空,全球最快的FPGA有多神奇

8年前,NASA和约翰霍普金斯大学联合立项,投入15亿美元打造一款绕日探测卫星。2018年,这款名为 “ 帕克号” 的太阳探测器发射升空。帕克号上的电子系统和仪器组由多个FPGA共同控制,帮助帕克号成为有史以来最接近太阳和速度最快的人造航天器。

异构计算,特别是加速器的发展和创新,将会为业界、最终用户和创业公司带来更无限的商机

“ 除了算法、数据外,异构计算将会为AI应用带来更强大的支持。异构计算,特别是加速器的发展和创新,将会为业界、最终用户和创业公司带来更无限的商机。” 去厨神主持的餐厅吃饭,上菜慢,一定要等。因为厨神只有一个。但是在竞争激烈的市场里,应用人工智能AI技术则不能等,否则可能被颠覆被市场淘汰。

恩智浦打造更安全、更智能的AI-IoT新引擎,机器学习新革命或将来临

为了实现保护物联网边缘设备和云至边缘连接安全的愿景,恩智浦半导体将强化的安全子系统和软件生态系统合并成安全执行环境(SEE),以增强可信性、隐私性和保密性。在公司新推出的基于Cortex-M33的解决方案LPC5500微控制器和i.MX RT600跨界处理器中,这些新安全特性形成主要亮点。