跳转到主要内容
瑞苏盈科专栏
我与瑞苏盈科板卡的开发故事

15帧/每秒实时“听”出气体泄漏,Mercury+ XU5到底做了什么?

在工业现场,压缩空气泄漏是一个很容易被忽视、却一直在产生成本的问题。

管道、接头、阀门甚至设备内部的一个小泄漏,都可能让压缩机持续做“无用功”。更棘手的是,大型工厂里的管路往往绵延数公里,很多位置又处于高噪声、高风险或者人员难以进入的区域。

所以,工业泄漏检测真正难的,从来不是“能不能听到泄漏声”,而是:能不能在复杂工业环境里,从几十路传感器数据中实时计算出泄漏的位置,并直接告诉工作人员“它在哪里”。

这也是CS Instruments开发LeakCam600时遇到的核心问题。

这款手持式声学相机搭载64个超声MEMS麦克风,通过Power Beamforming实现多个泄漏源的实时检测与定位,并将声学结果叠加到光学摄像头画面中。官方资料显示,LeakCam600可以在嘈杂工业环境中进行泄漏检测,并支持从较远距离快速定位多个泄漏点。

LeakCam 600手持式超声波声学成像系统,用于检测泄漏,展示不同视角下的设备画面

而支撑这一切的关键硬件,并不是普通处理器,而是瑞苏盈科(Enclustra)Mercury+ XU5 SoC模块。在这个项目中,Mercury+ XU5并非一个简单的“计算板卡”,而是整个LeakCam600的中央处理平台

SoC概念架构图,展示手持式系统核心部分的数据流

64路麦克风,真正考验的是实时计算能力

声学成像的原理并不复杂:通过多个麦克风同时采集声音,再利用波束成形算法分析不同方向的声源,最终把原本听不见的超声波“变成一幅图”。

但工程实现完全是另一回事。LeakCam600需要同时处理64路数字MEMS麦克风数据,并完成预处理、FFT、波束成形等计算,更关键的是,这些数据不能慢慢算。设备是拿在工程师手里的。当工作人员移动设备、转动摄像头时,声学图像必须跟着实时变化,否则屏幕上的泄漏位置和实际位置就可能出现明显偏差。

CS Instruments希望将原有算法进行硬件加速,实现大约15帧/秒的实时处理能力。这意味着系统不仅要“算得出来”,还必须“持续算得出来”。对于一个手持式设备来说,这实际上同时提出了几项要求:高并行计算能力 + 高速数据搬运 + CPU软件处理 + 图像处理 + 低延迟显示。

如果完全依靠通用处理器,系统就很容易在帧率、响应速度、声学成像质量以及产品体积之间做出妥协。因此,CS Instruments最终需要的不是一颗单纯更快的CPU,而是一套能够把不同计算任务合理拆分的异构计算平台。这正是Mercury+ XU5进入整个系统核心位置的原因。

Mercury+ XU5:不是“外挂FPGA”,而是整个系统的计算中枢

瑞苏盈科(Enclustra)的Mercury+ XU5是一款基于AMD Zynq UltraScale+ MPSoC的SoC模块,将ARM处理器、FPGA可编程逻辑、高速DDR4以及丰富的高速接口集成到紧凑型模块中。该模块提供独立的PS和PL内存通道,最高可实现24 GB/s内存带宽,并支持PCIe、USB 3.0、千兆以太网等高速接口。

这些规格放到LeakCam600这个项目里,就不再只是产品参数,而是直接对应到了实际的系统需求。FPGA解决并行计算问题,CPU解决软件任务,高速内存解决数据吞吐,MIPI等接口则连接摄像头和显示系统。

换句话说,Mercury+ XU5承担的是整个LeakCam600的数据处理“中枢”。从64路麦克风数据进入系统开始,到最终用户在屏幕上看到泄漏位置,中间多个关键环节都需要围绕XU5完成协同。

可以把整个数据链路理解为:64路MEMS麦克风 → 数据预处理 → FFT → FPGA波束成形 → CPU处理 → GPU图像融合 → MIPI摄像头/显示 → 实时声学成像

而Mercury+ XU5正好位于这条链路的中心。这也是为什么CS Instruments选择它作为LeakCam600的中央处理平台。

FPGA负责“最难算”的部分

在LeakCam600中,Mercury+ XU5最重要的价值首先来自它的FPGA可编程逻辑,复杂波束成形本身就是一个高度并行的计算任务。如果把64路麦克风数据依次交给CPU处理,就会产生大量重复计算和数据搬运;而FPGA可以通过硬件并行的方式,把大量相互独立的计算任务同时展开。

CS Instruments在项目中大约使用了Mercury+ XU5 80%的FPGA逻辑资源。这个数字其实非常有代表性。它说明这里并不是简单地把一个轻量算法“塞进FPGA跑一下”,而是真正利用了FPGA的并行计算能力来支撑核心声学算法。

6个超声波声源在距麦克风阵列4米处的仿真结果。声源强度从强到弱以10 dB为步进递减:(a) 64麦克风+CBF;(b) 128麦克风+CBF;(c) 64麦克风+Power Beamforming(FBF v=32);(d) 128麦克风+Power Beamforming(FBF v=32)

也正因为如此,XU5的FPGA资源成为整个系统能够实现实时声学成像的重要基础。更重要的是,XU5不是只有FPGA,它将FPGA与ARM处理器放在同一个SoC架构中,使复杂算法的硬件加速与软件系统能够紧密配合。

CPU不是被FPGA取代,而是和FPGA形成分工

这是这个项目非常值得工程师关注的一点。

很多人谈到FPGA加速时,容易形成一种误解:是不是把CPU上的算法全部搬到FPGA里?

LeakCam600给出的答案显然不是。它采用的是更加典型的异构计算模式,FPGA负责高并行、强实时性的信号处理任务;CPU负责更适合软件实现的计算和系统任务,并利用NEON功能进一步提升相关处理能力。

这样做的好处是显而易见的。如果所有事情都放到FPGA里,软件灵活性会下降,开发复杂度也会上升。如果所有事情都交给CPU,又很难保证实时性。而Mercury+ XU5的SoC架构恰好提供了一个中间方案:让FPGA做它最擅长的,让CPU做它最擅长的,最终形成一个软硬件协同的计算平台。这也是SoC型FPGA模块相比单纯FPGA器件或者单纯CPU平台更有价值的地方。

从64路声音到一幅实时图像,还需要GPU和MIPI

LeakCam600的难点并不止于“算出声源”。用户最终需要看到的是:泄漏点究竟位于现场哪个位置。因此,系统还需要把声学检测结果与光学摄像头画面结合起来。

在Mercury+ XU5构建的系统架构中,GPU负责Alpha Blending,将声学图像叠加到光学图像上。而MIPI接口则承担摄像头和显示系统的数据连接。

这样一来,LeakCam600最终呈现给用户的不是一张抽象的声学热图,而是:真实工业现场画面 + 泄漏位置可视化结果。用户只需要看屏幕,就可以快速判断泄漏点究竟位于哪一根管道、哪个接口或者哪一个设备附近。

这一步其实非常重要。因为对于工业检测设备来说,算法结果最终必须变成现场人员能够立即理解的信息。

从这个角度看,Mercury+ XU5承担的并不是单一的“算法加速”,而是从传感器采集到最终可视化输出的核心计算任务。

高速内存,同样决定了系统能不能跑起来

还有一个容易被忽视的问题:数据量

64路麦克风持续产生数据,数据经过预处理、FFT、波束成形之后,还需要在不同处理模块之间不断交换。这意味着系统不仅需要计算能力,也需要足够的数据吞吐能力。

Mercury+ XU5提供独立的PS和PL内存通道,可以针对处理器和FPGA侧的不同数据需求进行配置;官方资料显示,其内存带宽最高可达24 GB/s。对于LeakCam600而言,这类高速内存架构的价值并不是“参数看起来漂亮”,而是帮助系统持续搬运大量实时数据。因为在这种产品里,计算单元再快,如果数据供应不上,也无法真正实现实时处理。

所以,从麦克风采集、数据缓存,到FPGA计算,再到CPU和GPU处理,内存和数据通路实际上贯穿了整个系统。

XU5真正的优势:把复杂系统“装进一块模块”

如果从产品研发角度看,Mercury+ XU5的价值还在于另一个层面:它把一个原本非常复杂的底层硬件系统封装成了一个可以直接进行产品开发的SoM。

对于CS Instruments来说,如果从零开始设计完整硬件平台,就需要同时处理MPSoC、DDR、电源、高速接口、PCB布局、信号完整性等大量底层问题。

而采用XU5之后,团队可以通过瑞苏盈科(Enclustra)  Mercury+ XU5开发套件配合自研硬件,快速完成系统原型验证。

官方资料显示,这种方式帮助CS Instruments更早完成概念验证和系统架构验证,并降低了产品原型阶段的开发风险,瑞苏盈科(Enclustra)的PetaLinux环境和配套硬件资源也进一步帮助团队将精力集中到应用开发上。

对于工业设备厂商来说,这一点非常现实。因为真正拖慢产品上市速度的,有时候并不是算法,而是底层硬件平台。DDR没调通、高速接口有问题、启动环境不稳定、FPGA和CPU之间的数据链路需要反复验证……,任何一个环节出现问题,都可能让整个项目停下来。

SoM的意义就在于,把这些底层工作尽可能变成一个成熟的平台能力,厂商可以把研发重点放在自己的核心竞争力上——声学算法、工业检测、用户体验以及应用软件。

从一块SoM,看工业边缘计算的下一步

LeakCam600其实是一个很典型的工业边缘计算案例。它面对的并不是传统意义上的“大模型算力”问题,而是另外一种更加现实的计算挑战:传感器数据越来越多,但设备必须越来越小;算法越来越复杂,但响应必须越来越快;产品越来越智能,但功耗和成本又不能无限增加,这类场景恰恰是FPGA SoC擅长的领域。

Mercury+ XU5把ARM CPU、FPGA、GPU、高速内存和丰富接口整合到一个紧凑型SoM中,使其能够承担从传感器数据采集、实时信号处理到视觉输出的核心任务。

而LeakCam600则把这种平台能力真正变成了一个工业产品。从64路超声MEMS麦克风,到复杂Power Beamforming,再到实时声学成像,Mercury+ XU5实际上承担的是整个系统的“计算中枢”角色。

所以,这个案例真正值得关注的,并不只是“FPGA让算法跑得更快”。更重要的是:

一块成熟的FPGA SoC模块,正在帮助工业设备厂商把复杂的算法、传感器和视觉系统整合到一个真正可以拿到工业现场使用的产品里。

这或许也是未来工业边缘计算越来越重要的一条路线——

不是把所有计算都搬到云端,也不是一味追求更大的处理器,而是把足够的计算能力直接放到传感器和设备旁边,让设备自己采集、自己计算、自己判断,然后把结果直接交给现场的人。

而在LeakCam600这个案例中,Mercury+ XU5就是连接这一切的核心计算平台。

文章来源:瑞苏盈科