六台1.5亿像素相机同时工作,FPGA如何扛住近2GB/s的数据洪流?

作者:Michael Yang

在高端工业设备中,FPGA的挑战有时并不是完成多么复杂的算法,而是如何让大量数据持续、稳定地流动起来。

徕卡测量系统(Leica Geosystems)开发的Leica CityMapper-2,就是这样一个典型案例。这套机载城市三维测绘系统搭载六台150MP(1.5亿像素)相机和一套2MHz脉冲频率的激光雷达,每隔0.9秒完成一轮图像采集,整个系统的数据传输速率接近2GB/s。

图源:AI生图

如此庞大的数据流,需要经过高速接口接收、图像预处理、存储缓存,最终通过PCIe传输到主机。更具挑战性的是,主机运行的是Windows 10,并非实时操作系统。如何保证多路相机精确同步,又能确保数据传输过程中不丢帧,对整个系统的硬件架构和数据通信能力提出了很高要求。

为此,徕卡没有选择从零开始设计一套复杂的FPGA硬件平台,而是引入了瑞苏盈科(Enclustra)的Mercury+ XU8系统级模块(System-on-Module,SoM),同时采用瑞苏盈科(Enclustra) FPGA Manager PCIe IP通信解决方案。

Leica CityMapper MFC150系统架构图

这两项技术的组合很有意思:SoM提供经过集成和验证的FPGA硬件平台,解决底层硬件开发问题;FPGA Manager PCIe IP则打通FPGA与主机之间的数据通信,解决高速数据传输和软硬件协同问题。

对于徕卡而言,这不只是采购了一块FPGA模块,而是获得了一套从硬件平台到高速通信的完整解决方案。它也让我们看到,随着FPGA应用复杂度不断提高,标准化模块、成熟IP与配套软件的组合,正在成为缩短复杂电子系统开发周期的一种有效路径。

一、近2GB/s数据流,考验的是整个系统的协同能力

先看看Leica CityMapper-2的应用场景。

这是一套专门用于机载城市三维测绘的系统,通过飞机搭载的多视角相机和激光雷达采集城市数据,最终生成高精度三维地图和城市数字孪生模型。其核心成像系统Leica MFC150配备六台150MP相机,其中包括两台垂直向下的RGB/NIR相机和四台RGB倾斜摄影相机,另外还集成了一套2MHz脉冲频率的LiDAR激光雷达。所有相机模块安装在一个重达58kg的吊舱内。

这里有两个关键技术要求。

首先是多相机同步。六台相机必须在完全相同的时刻完成曝光,才能保证不同视角图像之间的时间一致性。对于飞行中的测绘设备来说,曝光时间上的细微偏差都可能影响后续图像配准和三维重建。

其次是高速数据采集与传输。六台1.5亿像素相机产生的数据,需要经过预处理和缓存,再持续传输至主机,平均数据速率接近2GB/s。

这对FPGA系统提出了多方面要求:高速图像接口能否稳定接收数据?多路数据如何组织和调度?外部存储器能否提供足够的缓存能力?PCIe传输链路能否持续承接前端数据流?

这些问题并不是简单增加FPGA逻辑资源就能解决的。

从工程角度看,整个系统需要在传感器、FPGA、存储器和主机之间建立一条可靠的数据通路。任何一个环节出现瓶颈,都可能影响整个设备的工作效率。

徕卡在项目初期就明确,只有基于FPGA的方案才能满足系统对高带宽、低延迟和高集成度的要求。但另一个决定也很重要:不从零开始设计FPGA板卡,而是采用成熟的FPGA SoM。

这为后续的系统开发确定了方向。

二、Mercury+ XU8 SoM:把复杂的FPGA硬件平台集成起来

为什么徕卡没有选择自主设计FPGA板卡?

对于有经验的FPGA工程师来说,一颗FPGA芯片真正变成能够工作的硬件系统,中间还有不少工作。除了芯片本身,还需要设计电源、时钟、DDR存储器、高速接口以及各种外围电路。涉及PCIe、USB 3.0和高速存储接口时,还要考虑PCB信号完整性、电源完整性、散热和板级验证。这些工作不仅需要专业的硬件研发团队,也需要反复进行原型制作、调试和设计迭代。

对于徕卡这样的专业设备厂商来说,研发资源显然应该更多地投入光学系统、机电一体化、多传感器同步和测绘算法等核心业务,而不是在底层FPGA板卡上重复投入大量精力。因此,徕卡选择了瑞苏盈科(Enclustra)的Mercury+ XU8系统级模块。

基于瑞苏盈科(Enclustra) Mercury+ XU8系统级模块的CityMapper功能框图

该模块基于AMD Zynq UltraScale+ MPSoC系列器件,将可编程逻辑、ARM处理系统以及外围硬件资源集成在一个标准化模块中。其主要配置包括高速DDR4 ECC SDRAM、eMMC Flash、Quad SPI Flash、双千兆以太网PHY和双USB 3.0接口,形成一套完整的嵌入式处理平台。

这里值得注意的是,SoM与单纯采购FPGA芯片有着明显区别。

采购芯片之后,客户仍然需要完成外围电路设计、存储器接口设计、电源管理以及PCB布局布线等工作。而采用SoM,客户可以直接基于已经集成的硬件平台开展应用开发。这相当于把一部分复杂的底层硬件工程交给专业模块供应商完成。

在CityMapper-2项目中,Mercury+ XU8承担了多路图像数据接收、预处理、缓存以及与主机通信等任务。模块上的ARM处理系统则负责配置各个功能模块,通过AXI总线进行控制,与主机控制器通信,并管理图像采集参数和任务流程。

这种PS(Processing System)与PL(Programmable Logic)的分工,也是Zynq MPSoC架构的重要特点。PS负责系统控制、配置和管理,PL则利用FPGA的并行处理能力完成对实时性和吞吐量要求较高的数据处理任务。对于多传感器、高速数据采集系统来说,这种异构架构能够兼顾控制灵活性和硬件处理效率。

当然,SoM的价值也不只是硬件集成。瑞苏盈科(Enclustra)还提供Linux板级支持包(BSP)、详细技术文档和参考设计,帮助客户降低平台移植和系统调试的工作量。这意味着徕卡不需要从最基础的硬件和软件适配工作开始,而是能够在相对成熟的平台上开展产品开发。

三、FPGA Manager PCIe IP:打通FPGA与主机之间的高速通信

如果说Mercury+ XU8解决了FPGA硬件平台问题,那么瑞苏盈科(Enclustra) FPGA Manager PCIe IP解决的就是另一个关键问题:如何让FPGA与主机高效通信。

这一点在CityMapper-2中尤其重要。

毕竟,前端六台相机采集的数据最终需要进入运行Windows 10的主机,并写入四块SSD固态硬盘。即使FPGA能够完成图像接收和预处理,如果没有稳定、高效的主机通信方案,整个系统仍然无法顺利运行。

传统开发方式下,工程师需要自行处理FPGA端PCIe接口逻辑、主机端驱动、数据传输控制以及软硬件之间的通信协议。对于高速数据采集设备而言,这部分工作并不简单。

瑞苏盈科(Enclustra)提供的FPGA Manager PCIe IP,则把这些底层通信工作进行了封装。

这套解决方案包括两个部分:FPGA端的IP Core,以及主机端的软件库(DLL)。通过统一的API接口,用户应用程序可以使用简单的读写命令与FPGA进行通信,而不必深入处理底层协议的复杂细节。

同时,该方案支持两种数据访问方式:

一种是Streaming Access(流式访问),适合持续的数据流传输;另一种是Memory-Mapped Access(内存映射访问),便于主机对FPGA内部映射的存储空间和寄存器进行访问。

对于CityMapper-2而言,真正发挥关键作用的是其中的DMA数据传输机制。

在这套架构中,六台相机采集的图像通过SLVS-EC高速接口进入FPGA,经过图像校正等预处理后,暂时存储在外部SDRAM中。

随后,主机启动FPGA Manager PCIe IP中的DMA引擎,数据通过PCIe直接传输到主机内存,不需要主机CPU逐笔参与数据搬运。

这有什么意义?

如果让CPU参与每一次数据复制和搬运,近2GB/s的数据流很容易给主机带来额外负担。尤其是在Windows这样的非实时操作系统环境下,CPU还需要处理操作系统调度、应用程序运行和其他系统任务。

DMA则将主要的数据搬运工作交给专用硬件完成,减少CPU介入,降低系统负载。

需要说明的是,DMA并不意味着CPU完全退出数据处理过程。主机仍然需要负责传输初始化、任务管理和状态监控等工作,只是将高吞吐量的数据搬运从CPU的日常负担中剥离出来。

这实际上是一种非常典型的软硬件协同设计思路:把对带宽和时序要求较高的任务交给FPGA及专用硬件完成,把控制和管理任务留给ARM处理系统及主机软件。

此外,Mercury+ XU8还集成了图像预览功能。飞行过程中,操作人员可以通过外部显示器检查图像质量,确认数据采集是否正常。

从传感器接收、FPGA预处理、SDRAM缓存,到DMA和PCIe传输,整个数据链路形成了相对完整的系统架构。

这也是FPGA Manager PCIe IP在该项目中的核心价值:它不只是一个PCIe接口IP,而是通过FPGA端IP核和主机端软件库,为客户提供了一套完整的主机与FPGA通信机制。

四、SoM+PCIe IP:从提供硬件模块到提供完整解决方案

把Mercury+ XU8和FPGA Manager PCIe IP放在一起看,就能理解瑞苏盈科(Enclustra)在这个项目中的真正价值。

两者解决的是不同层面的问题,却又紧密关联。SoM解决硬件平台集成问题,让客户不必从零开始设计复杂的FPGA板卡;FPGA Manager PCIe IP解决主机通信问题,让客户不必重新开发一整套底层PCIe通信机制和配套软件。

一个提供硬件基础,一个提供通信能力。对于徕卡来说,这种组合意味着研发团队可以把更多精力集中在自己的核心业务上,而不是反复投入底层硬件设计和接口开发。

实际上,这种模式对于专业工业设备厂商有着很现实的吸引力。很多高端工业设备、测试测量仪器和机器视觉系统,都有类似的开发需求:需要处理高速传感器数据,需要FPGA提供确定性的实时处理能力,同时还要与PC或嵌入式主机进行高速通信。

但这些客户未必希望自己从头设计FPGA板卡,也未必愿意投入大量资源开发通用通信IP和驱动。如果供应商能够同时提供经过验证的SoM硬件平台和配套通信IP,就能帮助客户省去不少重复性工作。

瑞苏盈科(Enclustra)的方案还有一个值得关注的特点:FPGA Manager并不局限于Enclustra自己的模块,也可以应用于客户自主设计的FPGA系统。这意味着客户既可以选择SoM+IP的一体化方案,也可以在已有硬件平台上引入其通信IP。这种开放性有助于扩大方案的应用范围。

从项目经济性来看,徕卡也获得了实际收益。采用标准模块,研发团队无需自行制作大量原型板、反复修改设计、编写完整的底层技术文档,也降低了板级设计错误带来的风险。更让徕卡团队意外的是,瑞苏盈科(Enclustra)标准模块在小批量需求下的价格,几乎接近单独采购FPGA芯片的成本。这背后是标准化模块的生产规模,以及供应商长期积累的制造和优化经验。

徕卡电子研发团队负责人Daniel Wintsch表示,瑞苏盈科(Enclustra)提供了一套经过验证的即插即用方案,减轻了研发团队的压力,让他们能够专注于自身核心技术。这也是瑞苏盈科(Enclustra)成为徕卡长期供应商的重要原因。

对于复杂工业设备而言,研发成本从来不只是芯片和元器件的采购成本。工程师投入、开发周期、反复调试、验证风险以及后续维护,同样是项目成本的重要组成部分。

从这个角度看,SoM与PCIe IP的组合,带来的不仅是开发便利,更是整个项目开发效率和风险控制能力的提升。

五、FPGA产业竞争,正在从芯片走向系统级交付

Leica CityMapper-2的案例还有一个更值得国产FPGA产业关注的地方。

过去谈论FPGA竞争,行业往往集中在逻辑单元规模、DSP数量、片上存储、SerDes速率以及功耗等芯片指标上。

这些当然重要。但对于真正需要把FPGA应用到产品中的客户来说,芯片性能只是起点。一颗FPGA芯片即使拥有足够的逻辑资源,如果缺少成熟的接口IP、存储控制器、驱动程序和开发工具,客户仍然需要投入大量工程资源才能完成产品开发。

反过来,一套性能合适、硬件集成成熟、配套IP完善的FPGA平台,可能更容易被客户采用。尤其是在高端工业设备和专业仪器市场,客户真正需要的往往不是一颗孤立的芯片,而是一套能够稳定工作、方便集成并且可以长期维护的解决方案。

这也是瑞苏盈科(Enclustra)案例值得关注的原因。它通过Mercury+ XU8 SoM与FPGA Manager PCIe IP的组合,把硬件平台和主机通信两个关键环节整合起来,降低了客户开发复杂FPGA系统的门槛。

对于国产FPGA厂商而言,这也提供了一个值得思考的方向。

国产FPGA要进入更高端的工业、测量、通信和数据中心市场,除了继续提升芯片本身的性能,还需要在模块化产品、接口IP、参考设计、驱动软件和技术支持等方面建立更完整的能力。特别是当客户开始从单颗芯片采购转向系统方案评估时,供应商能否提供经过验证的软硬件组合,可能直接影响产品导入效率。

当然,并不是所有应用都需要采用标准SoM。对于大规模量产、成本极度敏感或者有特殊硬件架构要求的产品,自主设计仍然有其价值。但对于研发周期紧张、系统复杂度高、批量相对有限的专业设备,成熟模块与配套IP的组合,无疑是一条值得考虑的路径。

回到Leica CityMapper-2,六台1.5亿像素相机和近2GB/s的数据流只是这个案例最直观的一面。真正值得关注的是,瑞苏盈科(Enclustra)如何通过SoM硬件平台和FPGA Manager PCIe IP通信方案,把复杂的FPGA硬件集成与高速主机通信整合为一套完整的工程解决方案。

FPGA的价值不应止于提供可编程逻辑资源。对于产业客户而言,能够让FPGA更快、更稳、更低风险地进入最终产品,才是更有实际意义的竞争力。

文章来源:瑞苏盈科

👍 点赞 · 0