一、前言

随着工业控制、实时数据采集、边缘计算等应用不断向高性能、高集成度方向发展,嵌入式计算平台所承担的任务也在发生变化。

过去,一块处理器板卡可能主要承担操作系统运行、设备管理以及常规的数据处理任务。但在一些实时性要求较高的应用中,除了需要CPU完成通用计算,还需要同时处理高速数据传输、实时接口以及并行数据处理等任务。单纯依靠CPU的传统架构,在部分应用场景下已经很难同时兼顾通用计算能力和实时处理能力。

基于这样的设计思路,我们近期做了一款以飞腾D3000M处理器+FPGA协处理器为核心的VPX计算平台。

整个系统采用CPU与FPGA异构协同架构:飞腾D3000M主要承担操作系统、应用程序及通用计算任务,FPGA侧则更多承担高速接口扩展和实时并行处理任务。同时通过VPX背板将PCIe、SRIO、串口、网络以及GPIO等资源向系统侧扩展。

本文主要从硬件架构和接口规划的角度,对这一平台的设计思路做一个简单整理。


二、整体硬件架构

整板的核心采用飞腾D3000M处理器。

D3000M采用8核架构,大核最高主频2.5GHz,小核主频1.8GHz。在实际应用中,相比单纯追求CPU峰值性能,我们更关注的是它与国产操作系统、存储、网络以及FPGA之间形成一个完整计算平台后的综合能力。

CPU侧配置16GB LPDDR5X内存,根据项目需求最高可扩展至64GB。

存储方面,板载1路M.2 NVMe 2280 SSD接口,可以直接安装NVMe固态硬盘,用于操作系统、应用程序以及本地数据存储。

BootLoader采用飞腾UEFI,操作系统目前支持银河麒麟V10/V11。

从整个架构来看,可以简单理解为:

D3000M负责“通用计算”,FPGA负责“实时与并行处理”,VPX负责“系统级互联与扩展”。

这也是这块板卡设计时比较核心的一个思路。


三、为什么采用“CPU+FPGA”异构架构?

如果只考虑运行桌面操作系统和普通应用程序,D3000M本身已经可以完成大量计算任务。

但VPX系统实际面对的应用往往不仅仅是运行一个操作系统。

例如实时数据采集、设备通信、多通道数据处理等场景,通常还会涉及不同类型的接口协议,以及对确定性和并行处理能力的要求。

因此在CPU之外,板上增加了一颗JFM7K325T FPGA协处理器,并配置2GB DDR3缓存

CPU与FPGA之间通过一路PCIe x4进行连接。

FPGA侧提供:

  • 2路SRIO x4;
  • 多路GPIO;
  • 2GB DDR3缓存;
  • 高速接口及实时并行处理能力。

这样的架构可以将系统管理、操作系统及复杂应用交给CPU,而部分对时序、实时性或者并行处理要求较高的任务放到FPGA侧完成。

两部分之间通过PCIe进行数据交互,从而形成一个相对灵活的异构计算架构。


四、TSN也是这次设计中比较关注的一部分

除了普通千兆以太网之外,板上还设计了1路TSN网络接口

因此网络部分由:

1路千兆以太网 + 1路TSN

组成。

普通以太网可以承担常规的数据通信任务,而TSN(Time-Sensitive Networking,时间敏感网络)则为一些对网络通信确定性、时间同步及实时传输要求较高的系统提供了进一步扩展的可能。

从硬件拓扑来看,TSN模块通过PCIe与D3000M连接。

对于一些实时数据采集、设备协同以及确定性通信场景,这种设计相比单一的普通以太网接口具有更大的系统配置空间。


五、接口资源如何分配?

在实际VPX系统中,接口数量并不是越多越好。

一个更现实的问题是:哪些接口应该放在前面板方便调试,哪些接口应该通过VPX背板进入整个系统?

这块板在设计时也做了相应区分。

前面板主要保留日常使用和调试频率较高的接口,包括:

2路USB 3.0 + 1路DP显示接口。

其余大量系统接口则通过VPX背板引出。

USB方面一共提供4路USB 3.0,其中2路位于前面板,另外2路通过背板输出。

串行通信接口包括:

1路RS232、2路RS485、2路RS422,均通过VPX背板引出。

显示部分除了前面板的DP之外,还通过背板提供1路HDMI和1路VGA,其中VGA与前面板DP采用复用设计。

此外还有多路GPIO资源供系统使用。

这种前后接口分配方式,一方面方便开发阶段进行调试,另一方面在板卡安装到VPX机箱后,可以通过背板完成系统级连接,减少前面板大量线缆带来的布线问题。


六、PCIe与高速数据通道

PCIe是整个系统内部比较重要的一条高速互联通道。

目前平台配置两路PCIe x4:

一路PCIe x4引出到VPX背板;另一路PCIe x4用于D3000M与FPGA之间连接。

第一路为系统后续扩展留下了空间,可以根据具体项目需要进一步连接其他功能模块;第二路则承担CPU与FPGA之间的数据交互。

FPGA侧进一步提供2路SRIO x4至VPX系统。

因此从整体拓扑上看,平台实际上形成了:

CPU → PCIe → FPGA → SRIO/IO

以及

CPU → PCIe → VPX背板

两条主要高速扩展路径。

这使平台既可以作为相对独立的计算节点使用,也可以放入多板卡VPX系统中承担计算、控制或者数据处理节点的角色。


七、主要硬件参数整理

为了方便查看,将主要参数汇总如下:

项目配置
处理器飞腾D3000M,8核,大核最高2.5GHz、小核1.8GHz
内存16GB LPDDR5X,最高支持64GB
存储板载M.2 NVMe 2280 SSD接口
普通网络1路千兆以太网
TSN1路TSN网络
USB4路USB 3.0,前面板2路、背板2路
显示前面板1路DP;背板1路HDMI、1路VGA
串口1×RS232、2×RS485、2×RS422
PCIe1×PCIe x4至背板;1×PCIe x4连接FPGA
FPGAJFM7K325T
FPGA缓存2GB DDR3
FPGA高速接口2×SRIO x4、多路GPIO
BootLoader飞腾UEFI
操作系统银河麒麟V10/V11
系统供电DC 12V
整板功耗<35W
工作温度-20℃~50℃ / -40℃~65℃
存储温度-40℃~70℃
国产化器件及系统可实现100%国产化

八、从系统角度看这套架构

如果把所有接口参数拆开来看,这块板似乎就是CPU、FPGA、PCIe、TSN、USB、显示和串口等模块的组合。

但从系统设计角度来看,更值得关注的其实是这些资源之间的关系。

D3000M负责操作系统和通用计算,FPGA承担实时并行处理和接口扩展;PCIe负责CPU与FPGA以及VPX系统之间的高速数据交互;TSN则为确定性网络通信提供硬件接口基础。

因此,这类平台比较适合需要同时完成**“采集—处理—传输—存储”**的嵌入式系统。

特别是在实时数据采集、工业控制、测试测量以及其他需要VPX系统级互联的应用中,CPU与FPGA异构协同相比单一CPU架构具有更大的设计灵活性。

与此同时,扩展接口、FPGA逻辑以及VPX背板资源也可以根据不同系统的实际接口需求进行调整。


九、结语

当前国产计算平台的发展已经逐渐从早期的“核心器件替代”,向处理器、操作系统、高速互联、实时通信以及异构计算协同等更完整的系统层面演进。

对于VPX这类面向嵌入式和专用计算领域的平台而言,国产化也不仅仅意味着将某一颗处理器更换为国产型号,更重要的是围绕国产CPU建立完整的软件、存储、网络、接口和协处理生态。

基于飞腾D3000M与FPGA构建异构计算架构,也是我们在这一方向上的一次硬件平台设计实践。

随着国产处理器性能、国产操作系统生态以及FPGA、高速互联等技术不断完善,未来国产VPX平台能够承担的任务也会越来越复杂。从通用计算到实时数据处理,再到多板卡之间的高速互联,国产化嵌入式计算平台正在逐步从“能够实现”向“系统化应用”发展。

本文主要记录这一平台目前的硬件架构和设计思路,后续有机会也可以继续整理一些D3000M、FPGA协同以及VPX背板接口设计方面的实际开发经验,与大家交流。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐