引言
随着传感器、低成本摄像头和显示屏在当今嵌入式设计中的使用量飞速增长,市场上出现了许多激动人心的全新智能和视觉应用。与此同时,嵌入式视觉应用的爆炸式发展也让设计工程师对处理资源需求有了一个新的认识。包含丰富数据的全新视频应用促使设计工程师重新考虑到底采用哪种器件,是专用应用处理器(AP)、ASIC 还是 ASSP?然而,在某些情况下,在现有应用处理器、ASIC 或 ASSP 方面的大量软件投入以及全新器件的高启动成本已然成为上述应用更新迭代的阻碍。这一次,摆在眼前的问题推动设计工程师寻求一种协处理解决方案,不仅要能够为包含丰富数据的全新应用提供所需的额外功能,同时还要满足系统成本和功耗的严苛要求。
 
除此之外,市场上对于面向移动应用的低成本 MIPI 外设的广泛采用也催生了从未有过的互连挑战。设计工程师既希望利用最新一代 MIPI 摄像头和显示屏的量产成本优势,同时又希望能够保有在传统设备上的投入。那么在这种快速发展的大环境中,设计工程师该如何解决传感器、嵌入式显示屏和应用处理器之间不断涌现的接口不匹配问题呢?
 
设计工程师需要一种高度灵活的解决方案,能够实现高性能、“业内最佳”的协处理器,满足视觉和智能应用对于逻辑资源和高度并行计算能力的需求,同时增加对各类 I/O 标准和协议的互连支持。此外,这样的解决方案还应当具备高度可扩展的架构,并支持使用主流高数据速率的低成本外部 DDR DRAM。最后,该解决方案还需要针对低功耗和低成本运算进行优化,并为设计工程师提供业界领先的超小尺寸封装。
 
在本文中,我们将为您介绍 ECP5™和 LatticeECP3™ FPGA 如何为嵌入式设计实现协处理和互连解决方案,并重点探讨这些解决方案在工业、消费电子、汽车和机器学习领域的应用实例。
 
为视觉与智能应用实现高效的协处理解决方案
莱迪思半导体®推出的 ECP5 和 LatticeECP3 FPGA 系列可实现“业内最佳”的协处理器,并针对互连功能以及高性能和低功耗进行了优化。ECP5 FPGA 系列提供业界最小尺寸封装(10x10 mm),并具备高达 85K 查找表(LUT),功能密度相比竞品高出近 2 倍,同时成本和功耗也大幅降低。ECP5 FPGA 支持与 ASIC、ASSP 和应用处理器实现互连,并具备优化的 I/O 和体系架构。增强的嵌入式 DSP 块和高度并行的 FPGA 逻辑架构为计算密集型协处理功能提供了所需的高性能支持。ECP5 FPGA 系列可提供高达 4 条 SERDES 互连通道,支持 PCI Express(Gen1,Gen2)、以太网(1GbE,SGMII,XAUI)、CPRI、嵌入式显示端口( eDP)和 JESD204B,每条通道速率为 250 Mbps 至 5 Gbps。同时,器件上的可编程 I/O 还支持各类接口,包括 DDR3、LPDDR3、LVCMOS、RGMII、XGMII、LVTTL、LVDS、Bus-LVDS、7:1 LVDS、LVPECL 和 MIPI D-PHY。
 
当协处理或互连应用需要超过 85K LUT 或超过 4 条 SERDES 通道时,设计工程师可以选择 LatticeECP3 FPGA。LatticeECP3 FPGA 系列可提供最高 150K LUT 和 6.8 Mbit SRAM,封装尺寸小至 10x10 mm。相比 ECP5 FPGA 系列,该产品系列最高支持 16 个 3.125 Gbps SERDES 通道。此外,该产品系列中的器件均支持 800 Mbps DDR3 和 LVDS,并且能够提供超过 500 个可编程系统 I/O 缓冲器,支持以太网(通过 RGMII 和 XGMII)以及大量额外的 I/O 接口,而嵌入式 SERDES 则支持 PCIe、以太网(通过 SGMII 和 XAUI)、HDMI、高速串行 I/O(Serial Rapid I/O)、CPRI、JESD204A/B 等。LatticeECP3 FPGA 系列的功耗低至 0.5 W。与 ECP5 FPGA 系列一样,使用 LatticeECP3 FPGA 的设计工程师可以使用高度并行的 FPGA 逻辑架构高效地执行计算密集型功能,并通过 FPGA 分担视觉和智能功能,如图像处理和分析任务以降低处理器工作负载,从而实现更低的功耗和更高的性能。
 
为工业应用实现视觉处理解决方案
在工业领域,基于 ECP5 FPGA 的协处理能够发挥重要作用,可用于降低视频摄像头、监控和机器视觉应用中应用处理器、ASIC 或 ASSP 的计算负载。图 1 展示了一款典型的工业摄像头应用。在下方的图示中,FPGA 位于图像传感器和以太网 PHY 之间。图像传感器将图像数据流传输到 FPGA,然后 FPGA 基于 H.264 编码进行图像处理或图像压缩。FPGA 的片上嵌入式 RAM 块(Embedded Block RAM, EBR)和 DSP 块实现高性能宽动态范围(WDR)和图像信号处理(ISP)功能。最后,FPGA 将图像数据通过以太网进行传输。
 
图 1:通过实现图像处理或压缩功能,ECP5 FPGA 可降低工业摄像头应用中应用处理器的计算负载
 
除了进行图像处理和压缩之外,如果应用处理器接口的类型或数量与摄像头或传感器的不匹配,FPGA 还可用于实现它们之间的视频桥接。为了满足工业应用对于灵活互连的需求,莱迪思推出了可编程 ECP5 12K 器件,能够连接到包括 LVDS、MIPI 和 LPDDR3 在内的常用接口。该器件能够以低成本提供 LED 控制器、机器视觉系统和工业电机控制等应用中预处理和后处理功能所需的逻辑、存储器和 DSP 资源。
 
除了常见工业摄像头应用之外,机器视觉(工业领域里更专业的摄像头应用)也可受益于 ECP5 FPGA 提供的互连和协处理能力。图 2 中的框图展示了 FPGA 可在常见的工业机器视觉系统中发挥的多种作用。在摄像头应用领域,FPGA 可用于实现传感器桥接、完整的摄像头 ISP 或定制功能来帮助系统设计工程师实现差异化的终端产品。对于图像采集卡而言,像 ECP5 一样的 FPGA 还可以解决视频接口问题和实现图像处理功能。
 
机器视觉系统框图
 
图 2:在常见的工业机器视觉解决方案中,FPGA 可用于实现各种接口桥接和处理功能
 
为智慧城市实现智能交通和监控摄像头应用
智能交通系统(ITS)包括交通流量监控、交通违章识别、智能停车和收费等应用,是智慧城市的重要组成部分。上述系统通常需要智能交通摄像头,用于准确检测车辆多个方面的信息,例如车牌,即使在恶劣的环境中也要在网络边缘进行视频分析,不用将原始视频流发送回云端进行处理。单独的应用处理器通常不能同时满足系统功耗和实时处理的要求。低功耗、小尺寸的 ECP5 FPGA 系列可用作应用处理器的协处理器,在网络边缘实现系统所需的高效实时处理功能。
 
除了上文中提到的 ISP 外,ECP5 FPGA 还可以实现视频分析功能,进一步减轻应用处理器的计算密集型任务,从而降低系统功耗、实现更高的实时性能。FPGA 可为智能摄像头应用实现目标侦测、图像处理和图像增强等解决方案。例如,侦测目标可以是监控摄像头实例中的人脸图像或是交通摄像头实例中的车牌。
 
图 3:ECP5 FPGA 为智能摄像头应用实现图像处理和视频分析功能框图,分担应用处理器的计算密集型任务
 
在图 3 所示的智能交通摄像头实例中,FPGA 基于传感器捕获的图像数据检测到车辆牌照,即使在低光照或强背光条件下亦能执行图像增强以生成清晰图像 - 针对目标(车牌)和背景(图像中的剩余部分)使用不同的曝光设置,然后融合目标和背景图像以生成更清晰的图像。然后,FPGA 生成的目标侦测结果输入到应用处理器运行的分析算法。使用 ECP5 FPGA 的并行处理器架构分担分析算法中计算密集程度最高的步骤,智能摄像头能够在保持低功耗的同时提高性能。
 
为移动系统实现沉浸式增强现实(AR)和虚拟现实(VR)应用
随着 AR/VR 市场需求不断增长,当前基于头戴式显示器(HMD)的系统面临着移动应用处理器运行内容时性能不足的问题。因此,要实现身临其境的 AR/VR 体验所需的基于视觉的位置追踪功能,对于处理器而言是颇具挑战性的。在这种情况下,ECP5 FPGA 的高效并行处理架构非常适合用于实现基于立体摄像头和 LED 标记的位置跟踪解决方案。与应用处理器相比,FPGA 能够提供低延迟、低功耗的图像处理支持。FPGA 的可编程架构和 I/O 也使得系统设计工程师能够根据产品要求轻松选择来自不同厂商的图像传感器。
 
在“outside-in”的位置追踪解决方案中,立体摄像头被放置在房间内(在室内摄像头看用户),通过捕捉安装在用户头盔和手柄控制器上的 LED 标记来追踪用户的运动(诸如身体运动和手部运动),如下方图 4 所示。安装在三脚架上摄像头单元内部的 FPGA 基于立体摄像头捕获的数据来计算用户的位置、身体和手部动作,然后将数据通过无线方式发送到用户头盔中的移动应用处理器,最终通过 AR/VR 应用呈现现实世界与虚拟世界的互动。立体摄像头为运行在 FPGA 上的算法提供了深度感知支持,从而实现三坐标定位。
 
图 4:使用立体摄像头(放置在房间内)的“outside-in”位置追踪解决方案,通过捕获安装在用户头盔和手柄控制器上的 LED 标记来跟踪用户的身体和手部动作
 
在“inside-out”的位置追踪解决方案中,安装在用户头盔上的立体摄像头(从用户所在位置通过“inside-out”的方式朝向室内环境)捕获安装在手柄控制器上的 LED 标记来跟踪用户手部动作,如图 5 所示。安装在用户头盔摄像头单元内的 FPGA 基于立体摄像头数据来计算用户的手部动作,然后将数据发送到头盔中的移动应用处理器,最终通过 AR/VR 应用呈现出来。
 
图 5:使用立体摄像头(安装在用户头盔上)的“inside-out”位置追踪,通过捕获安装在手柄控制器上的 LED 标记来跟踪用户手部动作
 
虽然“outside-in”和“inside-out”这两种追踪解决方案都能实现沉浸式体验,但“outside-in”系统可以提供更卓越的沉浸感,因为它还可以通过头盔上的 LED 标记跟踪身体运动(如步行、跑步、蹲、跳等) ,将现实世界中的身体运动映射到虚拟世界中。
 
在这两个系统中,用户的运动信息需要以极低的延迟立刻呈现在虚拟世界中,实现最为逼真的用户体验。ECP5 FPGA 的并行处理能力是实现低延迟传输的关键。此外,它的低功耗和小尺寸封装特性也是实现畅行无阻的移动体验的关键之所在。

 

为汽车 ADAS 系统实现协处理和桥接解决方案
汽车市场对视觉处理和互连解决方?6?7?6?7 案的需求正在大幅增长。市场研究公司 IC Insights 的分析师预计,随着在新一代汽车设计中要求使用后置摄像头的新规定施行以及在汽车设计中引入摄像头以取代两侧后视镜、实现盲点检测和车道跟踪功能的发展趋势,CMOS 图像传感器将在 2015 年至 2020 年间随着汽车领域中全新应用的兴起将以 55%的复合年增长率实现增长。
 
在这个快速成长的市场中,汽车设计工程师所需的解决方案不仅要能够实现预处理和后处理功能,还要能够为高级驾驶辅助系统(ADAS)和信息娱乐应用构建优化的互连解决方?6?7?6?7 案。随着汽车制造商开发的 ADAS 系统日趋复杂,设计工程师面临着两大挑战。第一个挑战是如何解决摄像头数量不断增长带来的接口问题?大多数现代处理器仅具备两个摄像头接口,而很多 ADAS 系统需要多达 8 个摄像头才能满足不断发展的自动驾驶技术要求。第二个挑战是设计工程师要如何基于来自上述摄像头的大量数据进行图像处理?
 
为了应对这些挑战,设计工程师需要一种能够提供协处理资源的解决方案,可将来自多个摄像头的多路视频流拼接在一起,或对来自多个摄像头的输入进行图像处理(如白平衡、鱼眼校正、除雾),然后将这些数据通过单个数据流传输到应用处理器。汽车设计工程师还需要能够灵活地操作仪表板、仪表盘以及后座信息娱乐系统的的多个显示屏,以及在传统接口和新的 MIPI 接口之间实现桥接。
 
莱迪思汽车级 ECP5 FPGA(AEC-Q100)可为这些应用提供用于加速图像处理流水线所需的并行处理能力,而大量的 I/O 则可用于连接到更大的摄像头阵列。能够反映这种趋势的一个实例就是现在越来越多的汽车都具备鸟瞰功能。一般来说,鸟瞰功能是指从汽车上方 20 英尺处向下看的实时视频图像。ADAS 系统通过将来自 4 个或更多摄像头的数据拼接在一起实现宽视野(FoV)来实现上述功能。
 
一直以来,设计工程师都是使用单个处理器来处理来自单个摄像头的图像数据。现在,设计工程师可以使用单个 ECP5 FPGA 替代多个处理器,聚合来自多个摄像头的数据,并进行图像拼接、鱼眼去除、白平衡、HDR 调整等操作以尽可能提高图像质量,然后将高质量图像发送到处理器进行下一个步骤。使用这种方法的设计工程师可以在获得更高性能的同时降低成本和功耗。
 
图 6 展示了莱迪思客户如何构建上文中提到的解决方案。该鸟瞰系统从安装在汽车四周的摄像头(前方、后方和两侧)捕获视频图像。ECP5 FPGA 用于对视频数据继续进行处理和拼接以提供 360 度视野。在这种情况下,一片 FPGA 即可替代多个 ARM 处理器。该系统最终呈现的是清晰的 1080p 60 fps 视频。除 ECP5 FPGA 之外,该方案仅使用了一个低端 ARM 处理器用于初始校准和视频编码 / 记录功能。
 
图 6:展示了开发工程师如何使用单个 ECP5 FPGA 实现从前需要使用多个 ARM 处理器的鸟瞰系统
 
图 7:展示了 ECP5 FPGA 使用来自 4 个摄像头的图像输入实现的 360 度全景视野
 
FPGA 可在汽车设计中扮演的另一个重要角色是构建传统接口与越来越流行的 MIPI 摄像头和显示屏之间的低成本桥接解决方案。
 
图 8:在车载信息娱乐系统中,ECP5 FPGA 可用于预处理和后处理功能,并实现应用处理器和显示屏之间的视频桥接
 
例如,在图 8 的框图中,ECP5 FPGA 位于应用处理器或 SoC 与一个或多个汽车显示屏之间,用于预处理和后处理功能,并实现 DSI 或 FPD-Link 接口应用处理器与 Open LDI、LVDS、FPD-Link 或 eDP 接口显示屏之间的桥接。FPGA 还可用于多种其他信息娱乐应用,包括分别将单个视频输出到双后座显示屏,对图像进行裁剪和格式化以获得特定的视频分辨率。
 
ECP5 的丰富处理资源也为实现各种传感器桥接、聚合和协处理解决方案奠定了基础。如图 9 所示,ECP5 FPGA 用于控制和聚合来自多种传感器数据的智能中心。通过对传感器数据进行预处理和后处理以及实现 I2C 管理功能和 SPI 接口,FPGA 可以显著降低应用处理器的计算负载。
 
图 9:ECP5 FPGA 实现数据桥接和智能中心,用于控制和聚合多种类型的传感器
 
另一个桥接、聚合和协处理解决方案实例则使用莱迪思汽车级 FPGA 的 3.2 Gbps SERDES 功能聚合来自多个雷达或摄像头的数据,并通过 BroadR-Reach 或以太网等汽车内部网络?6?7?6?7 传输。在图 10 中,来自多个传感器的数据通过 LVDS 接口传输到 ECP5 FPGA,然后 ECP5 FPGA 对数据进行聚合和打包,通过基于 SERDES 的 SGMII 接口传输到汽车内部网络。
 
图 10:汽车级 ECP5 FPGA 的 LVDS 和 3.2 Gbps SERDES 功能用于实现多个雷达或摄像头的桥接和聚合,并通过 SGMII 传输到车载网络
 

 

实现网络边缘机器学习应用
展望未来,移动相关解决方案的影响力将不断增长,它们将继续利用移动处理器和 MIPI 传感器和显示屏的应用支持和规模制造优势为网络边缘实现智能功能。市场上对于部署人工智能(AI)、神经网络和机器学习来实现上述目标的需求在不断增长。
 
在机器学习应用领域,用于进行图像识别的神经网络经过训练之后可以识别猫的图像,举个例子,通过向神经网络投喂数以千计的图像并分配输入图像的权重直至神经网络能够正确识别猫的图像。开发数据架构和分配权重可能需要数 TB 的数据和大量的计算资源。因此,基于深度学习技术的机器学习应用的训练步骤放在使用高端 GPU 和 FPGA 的数据中心,只有在数据中心海量的计算需求才能得以满足。
 
模型经过训练之后,它将被移植到网络边缘应用中的嵌入式系统,然后为图像识别或语音识别等应用实现推理功能。在网络边缘应用领域,设备必须通过计算更快速、更高效地做出决定。因此,设计工程师需要将神经网络在“训练”阶段学到的经验教训应用到新数据,进行“推理”得出结果。为了在网络边缘应用领域实现推理功能,理想的解决方案要能够提供计算效率高的平台,并且满足功耗、尺寸和成本的严苛要求。
 
当今业界和学界的都认为机器学习需要高度专业化的硬件加速解决方案。但是,相关要求也会根据任务的不同而发生变化。例如,训练和推理可能需要不同的硬件。致力于训练应用的硬件设计工程师通常使用 32 位浮点运算来进行精度非常高的计算。而另一方面,致力于网络边缘应用领域推理功能的硬件设计工程师对于灵活性的需求要大于精确度,以便获得更高的处理速度或更低的功耗。事实上,最近的研究表明,对于许多应用来说定点与浮点解决方案在推理精度方面几乎相同,而且前者功耗更低。
 
凭借丰富的嵌入式 DSP 资源、FPGA 与生俱来的并行处理架构以及在功耗、尺寸和成本方面的显着领先优势,ECP5 FPGA 是满足新兴 AI 市场上多元需求的理想选择。例如,ECP5 FPGA 中的 DSP 能够以相比 GPU 浮点运算更低的功耗 /MHz 来进行定点运算。这些特性为功耗要求严苛的网络边缘智能解决方案开发者提供了极具吸引力的优势。图 11 展示了一个实例,其中 ECP5 FPGA 用于实现推理加速器,对来自摄像头的数据运行预先训练好的卷积神经网络(CNN)进行处理。运行在 FPGA 上的 CNN 引擎识别物体或人脸,并将结果发送到系统 CPU,从而实现快速、低功耗的物体 / 面部识别功能。
 
 
图 11:ECP5 FPGA 为网络边缘智能应用实现卷积神经网络(CNN)加速器,从而实现物体 / 人脸识别功能
 
图 12 中的框图展示了实时人脸跟踪神经网络加速演示,在拥有 85K LUT 的 ECP5-85 FPGA 上运行时功耗仅为 0.85 W。
 
图 12:摄像头捕获的实时图像数据被输入到 FPGA,FPGA 确定人脸图像并输出结果,最后人脸图像在显示屏上高亮显示
 
基于 FPGA 实现的设计使得设计工程师能够灵活地实现向上或向下扩展,以满足终端系统中功耗与性能的平衡。在上面的实例中,基于更小尺寸的 85K LUT FPGA 的设计可以通过平衡性能和其他参数(例如降低帧速率、减小输入图像的帧大小或者减少用于神经网络的权重和激活值)来实现,从而进一步降低功耗。
 
此外,FPGA 的可重新编程特性使得设计工程师能够满足快速变化的市场需求。随着算法的发展,用户可以通过软件轻松快速地更新硬件。这是 GPU 或 ASIC 无法企及的功能。
 
上述演示是基于嵌入式视觉开发套件(图 13)实现的,该套件是莱迪思嵌入式视觉解决方案系列的一部分,为开发网络边缘嵌入式视觉解决方案提供了一个模块化平台。
 
图 13:采用 ECP5 FPGA、CrossLink FPGA 和 HDMI ASSP 的莱迪思嵌入式视觉开发套件
 
总结
当今的设计工程师需要不断寻求新的途径来降低设计的成本、功耗和尺寸,同时为网络边缘应用领域实现更多智能功能。与此同时,他们要跟上网络边缘应用领域中新一代传感器和显示屏快速发展带来的性能和接口要求。莱迪思 ECP5 FPGA 系列能够为设计工程师提供两全其美的解决方案。ECP5 FPGA 提供卓越的处理能力(高达 85K LUT)和业界最小封装(10x10 mm),并带有 SERDES,能够为设计工程师提供所需的协处理和互连资源。同时该产品系列的成本和功耗都比竞品更低,能够为开发工程师带来领先优势。