基于Nvidia jetson +fpga(ZYNQ)的人工智能图像加速板卡设计
Nvidia NX平台使用FPGA设备采集mipi视频数据调试记录
Jetson NX与ZYNQ通过Pcie通信。
驱动调试硬件 原理图




基于 ZYNQ +Jetson多目标识别方案设计
FPGA +Xavier高速信号处理系统

6U ZYNQ+Nvidia Jetson Xavier NX板电子对抗平台,Xilinx ZYNQ接入CameraLink高帧率相机,采集图像,送给Jetson Xavier NX做目标识别锁定,可用于无人机/雷达系统/视觉控制器

基于 FPGA-Jetson 的智能电网硬件实时联合仿真摘 要:智能电网是一个电力网络和通信网络耦合的物理信息电力系统(CPPS, cyber-physical power system),这 种双域耦合的特性使得对其实时仿真成为难点。不同于现有基于软件同步的联合仿真方法,借助了 FPGA 的可编 程计算能力和 Jetson 的实时操作系统,设计了基于 FPGA-Jetson 平台的智能电网硬件实时联合仿真架构,在 FPGA 板卡内进行电力系统仿真,在 Jetson 平台中完成信息通信系统仿真,利用 PCIe 数据通道模拟双域的信息交互。
通过充分发掘各个模块的计算和数据传输能力,可以实现对“电网+通信网”双域联合的实时仿真。最后,针对广域 AC-DC 混合输电网和微电网两个典型智能电网场景设计了相应的实时仿真模型及参数,验证了所提实时联 合仿真架构的可行性和可扩展性。
1 引言自“工业 4.0”的概念提出以来,信息与通信技术(ICT, information and communication technology)
正越来越多地融入工业基础设施。作为工业领域的重要组成部分,电力网络(简称“电网”)也正在与 ICT 深度融合。在传统电网中,电力通常是由火电厂、水电厂、核电厂等发电设施产生,并通过一个庞大的电力传输网络输送给各个区域的用户。随着居民和工业用电需求的日益增长,低容量、低可靠性的老旧电力设施和僵化复杂的人工运维管理模式逐渐难以满足未来电力网络的发展需求。在这样的大背景下,智能电网(SG, smart grid)应运而生,将
ICT 全面应用到传统电力网络的基础设施中,实现对整个电力系统的实时监测和智能管控,这也代表了未来的电力网络体系架构发展方向[1-2]。
在智能电网的研究中,仿真技术是十分重要的。电力网络实体铺设、试验的巨大成本,使得对大型电网实体铺设之前的模拟仿真十分关键。传统电网的仿真,主要关注两个方面:使电力设备的数学仿真模型更为精确,以还原真实设备的电力参数
(即仿真精度);快速求解大型电网拓扑产生的微分方程组,使仿真的速度更快(即仿真速度)。然而,在智能电网中,电力系统是和通信网络耦合的,因此智能电网又被称作物理信息电力系统。在这个系统里,电力节点或设备的参数要通过信息系统进行采样、传输、和分析,电网的控制指令也需要通过信息通信系统进行传输和生效。因此,纯粹的电力系统仿真已经难以模拟或还原整个智能电网的运行过程和电力参数。在这个背景下,电网−通信网联合仿真(co-simulation)的机制设计成为智能电网仿真领域所关注的另一个研究重点[3-4]。现有联合仿真的方法多集中于软件层面的设计:将现有电力系统的仿真软件(如 PSCAD/EMTDC、PLSF、Matlab
Simulink 等)的仿真数据,与通信网络仿真软件(如
NS2/3、OMNeT++、OPNET 等)的仿真数据交互同步[5-11];而电力仿真是基于离散时间的(以时间步长驱动),网络仿真是基于离散事件的,因此需要对网络仿真软件的逻辑进行更改,使得电力仿真的时间每前进一步长或多步长,网络仿真和电力仿真均能到达相同的仿真时间点,这带来了数据同步难、仿真速度慢的问题。
在电力系统仿真中,实时仿真(real-time si
mulation)是一种可以实时输出与真实电力系统中电力参数相匹配结果的仿真方法,即仿真结果输出的速度能够达到真实电力系统运行的速度。因此,实时仿真对电网实际运行过程中的状态模拟和操作控制均具有相当重要的作用。近年来,随着数字孪生等技术概念的提出,实时仿真技术成为构建智能电网的数字映射系统的核心技术之一。显然,有软件层面的联合仿真机制无法达到实时仿真的效果。为实现实时联合仿真,硬件仿真器成为首选。
例如,在文献[12-13]中用到的商用硬件电力仿真器
RT-LAB,文献[14-15]中用到的商用硬件仿真器
RTDS。在以上研究中,网络仿真软件(如 OPNET)
在 PC 端运行,实时电力仿真则在硬件仿真器上进行。这种方法虽然能实现实时仿真,但其专用硬件和 PC 端中网络仿真软件的连接和数据同步更为复杂,且专用硬件仿真器内部的仿真逻辑和实现方法并未公开,缺乏一般性和研究可复制性。
基于以上分析,本文提出了一种基于 FPGA
Jetson 的实时仿真架构,FPGA 已经被广泛应用于电力系统的实时仿真,Jetson 则是 NVIDIA 推出的具备实时操作系统的计算平台,可专门用于计算和仿真的加速。在所提架构中,FPGA 负责电力设施层的实时仿真,Jetson 负责信息通信层和电网控制层的实时仿真;通过快速的 PCIe 通道互联,可将电力设施层和信息通信层仿真的数据进行实时交互。通过多块
FPGA-Jetson 平台之间的接口设计,可实现所仿系统规模的扩展性。本文所提实时仿真架构解决了智能电网实时仿真的 3 个技术难题。
· 电力设施层和信息通信层数据交互过程的真实模拟问题,本文采用基于 FPGA 的小步长仿真
+PCIe 快速通道读写的方式解决。
· 信息通信层的实时仿真适配问题,本文提出用新颖的基于传输参数时间库的仿真方法解决。
· 贴合不同电网场景的参数设计和配置问题,本文在所提实时仿真架构的基础上,设计了两个实时仿真的典型应用案例,AC 和 DC 混合输电网场景以及 15 节点的微电网场景,采用了符合实际电网的电力设备模型和通信系统协议。通过对所占资源和仿真速度的分析,验证所提实时仿真架构的可行性和优势。
2 智能电网架构及仿真要点智能电网 3 层架构示意图如图 1 所示,在整体架构上可划分为 3 层:电力设施层、信息通信层、电网控制层。电力设施层涵盖了发电设施、输电设施、配电设施、用电设施、储能设施、可控负载以及电力保护开关等,属于强电设备。信息通信层则主要由数字测控装置和通信网络设备组成,属于弱电设备。其中,数字测控装置负责对电力设施层的电力参数进行采样或对可控设备执行控制指令(如
PMU、TTU、RTU 等),而网络设备则包括骨干路由器、接入级路由器、防火墙、工业交换机以及光纤链路等[16]。电网控制层负责接收数字测控装置发送的电力参数并下发控制指令,其具体的控制应用依据不同的电力场景采用不同的控制功能,例如,在变电站内部自动化系统中以 SCADA 控制为主,在广域测量保护系统中是面向同步相量数据的
WAMS 控制,而在用电先进测量系统中又以 AMI
测量为主。

仿真这样一个 3 层的物理信息电力系统的难点在于,需要模拟或还原出被仿真电网运行过程中的各类重要参数。
· 电力设施层中,各个电网节点或设备的电力参数,如电压、电流、功率、频率等。
· 信息通信层中,电力参数被采样形成测量数据,测量数据封装到通信网络报文,以及数据报文从测量设备传递到控制中心的传输参数,如时延、丢包等。
· 电网控制层中,控制服务器收到电力参数后产生控制指令的响应参数,如时延。
· 控制指令通过信息通信层传输后作用到可控电力设备的响应参数及效果,如动作时延、电力参数变化等。
3 基于 FPGA-Jetson 的硬件联合实时仿真为实现智能电网的实时仿真,电力设施层的实时仿真是重点,信息通信层和电网控制层的实时仿真是难点。本文借助 FPGA 的可编程和并行计算能力,完成电力设施层的实时仿真;利用 NVIDIA Jetson 平台的实施操作系统,实现信息通信层的实时模拟,并可完成电力设施层仿真的部分串行计算任务。
3.1 基于 FPGA 的电力系统仿真电力系统仿真的实质是将每个电力设备的工作过程建模为一个由 R、L、C 组成的(线性或非线性)
等效电路;一个电力网络可以看作是由这些设备等效电路构成的主电路,由此可联立求解整体等效电路所形成的常微分方程组,并得到节点电压、电流等电力参数。因此,电力设备的等效电路模型决定了仿真精度,而等效电路求解方法及实现则决定了仿真的速度。FPGA 以其灵活的可编程能力和强大的并行计算能力,可以实现电路方程组的快速并行求解,因此可用于电力系统的实时仿真。事实上,基于 FPGA 平台的电力系统实时仿真已经被广泛研究并应用[17-18]。本文采用 Xilinx 近年来最新推出的
VCU118 和 VCU128 系列 FPGA 板卡进行电力系统的实时仿真,其优势在于逻辑资源丰富,能够仿真大规模电力系统;存储资源容量大,能够存储大量电路节点的电力参数数据;网络端口资源丰富,能够模拟信息通信层的网络数据报文传输。
3.2 Jetson 实时计算平台虽然 FPGA 可用于电力设施层的仿真,但其可编程逻辑资源并不适用于信息通信层的仿真。因为信息通信层的数据传输本质上并不是一个计算求解的过程,而是基于 TCP/IP 协议栈的报文解析和转发过程。虽然在文献[19]中,FPGA 的软核处理器(如 Xilinx 系列 FPGA 中的 Microblaze 处理器)
被用于信息通信层的仿真,但其处理器的性能和资源容量均难以支持高速的数据报文处理,也不具备良好的可扩展性。本文选择采用 NVIDIA 推出的
Jetson AGX Xavier™实时嵌入式计算平台,其配备了基于 ARM v8.2 的 8 核 CPU 处理器,支持最新
ARM Neon 指令集,主频可达 2.2 GHz,浮点运算能力不亚于同档次 x86 CPU;而且含有 384 个
CUDA 核心和 48 个 Tensor 核心,可以完成高速并行计算。除此之外,Jetson 有多种实时操作系统可以安装,相较于传统分时操作系统拥有更高的计时精度和更低的程序响应时延。因此,Jetson 是实现实时仿真平台的理想选择。
3.3 FPGA-Jetson 联合仿真架构本文提出的基于 FPGA-Jetson 的联合仿真架构

如图 2 所示。针对电力设施层、电力-信息层之间的信息交互、信息通信层、电网控制层的实时仿真具体如下。
1)电力设施层仿真由于基于 FPGA 的电力设施层实时仿真技术已经较为成熟,在此基础之上需要重点考虑的是仿真步长问题。现有联合仿真方面的研究多采用较大的仿真步长以提升仿真速度,降低仿真难度,但这种方式并不能模拟出电力参数的采样过程。真实电网中,数字测量设备对电力设施的电力参数进行采样的频率可能高达 256 个/电压周期(在 61850 规约中的规定[20]),如果以 60 Hz 的电压周期来算,采样间隔只有 65 μs。这就要求电力设施层的仿真步长不能过大。因此,本文采用 20 μs 的仿真步长,以满足模拟采样过程的需求,即达到电磁暂态仿真
(EMT, electromagnetic transient simulation)的效果。
Jetson 平台虽然具有一定的实时处理能力,但无法匹配 20 μs 仿真步长级别的大规模计算,尤其在仿真系统较大时,FPGA 强大的并行计算能力更加凸显,能够完成 20 μs 级别的 EMT 实时仿真。此外,
FPGA 上的高速 GTH/GTY 收发器被用于图 2 架构中的扩展单元模块,当被仿真系统规模较大时支持多个 FPGA 板卡之间的互联扩容。
2)电力设施层和信息通信层交互仿真需要模拟出电力参数采样数据形成通信数据报文的过程,而该过程则因不同电网通讯场景而异,这是实时联合仿真的一个难点。例如,在以相量测量装置(PMU, phasor measurement unit)为主的广域测量系统(WAMS, wide area measurement
system)中,PMU 需要根据采样到的电压、电流等电力参数,计算出相应的相量幅值和相角,然后将其封装到通信数据报文中。因此,该过程的模拟由图 2 中所示的“测量数据生成”模块完成,其根据场景需求和既定数据格式生成相应的数据帧,并将其放入通信数据报文的载荷中。此外,采样数据在
FPGA 中以仿真结果输出的方式呈现,这些采样数据存储在 BRAM 中。测量数据生成模块通过 PCIe
快速数据通道与 FPGA 中的 BRAM 相连,并用 PCIe
驱动函数读取 BRAM 中的采样数据,用于生成数据报文。
3)信息通信层实时仿真不能直接采用现有基于软件的仿真方案,因其运行过程难以做到实时,因此这是实时联合仿真的另一个难点。一种解决方法是,利用 FPGA 和 Jetson
板卡上的物理网口,直接做实物通信网络传输,即把一个 FPGA 当作单个通信节点,但这样做的问题是,需要几十上百个 FPGA 才能模拟出相当规模的通信网络,这显然是不切实际的。因此针对此仿真难点,本文提出的方案如图 2 中所示的参数时间抽象−实体端口混合的仿真方式。在这种仿真方式下,将被仿电网分成多个区域,单个区域内部的信息通信层在单个 Jetson 计算平台内采用参数时间抽象
(PTA, parameter timing abstraction)的方式模拟,将数据报文传输过程抽象为由传输参数(如端到端传输时延、丢包率等)定义的过程,而将传输过程本身省略掉,从而在联合仿真时利用这些传输参数实现实时的信息传输层仿真。不同区域之间的信息交互则通过不同 Jetson 计算平台的实体端口之间的通信进行直接模拟,即利用 Jetson 的物理网口直接搭建 TCP/IP 协议栈以完成不同区域之间的数据传输,这个部分封装在图 2 所示的 Jetson 扩展单元模块中,因为扩展到多个平台互联时才需要。
虽然基于参数抽象的信息通信层仿真已经在文献[21]中采用,但其所用到的端到端传输参数是静态的。例如,从节点 A 到节点 B 的传输时延是一个预设的固定值。而在本文所提的 PTA 仿真中,这些传输参数是有精确时间戳的,即 PTA 仿真所用到的传输参数是由网络仿真器提前仿真得到的,但整个过程的端到端传输参数全被记录到“传输参数时间库”中。例如,从节点 A 到节点 B 的端到端传输时延是一条随时间变化的幅值曲线,可以模拟整个通信过程的动态。然后,在与电力系统的联合实时仿真过程中,不同时间所对应的端到端报文传输根据传输参数时间库中相应时间的时延等传输参数对数据报文进行延迟或丢包即可。由于 Jetson 实时操作系统的计时更为精确,这种报文的传输模拟可以做到和实时报文传输相同的效果,从而达到实时仿真的目的。这种基于 PTA 的仿真方式可行的原因是,智能电网仿真的核心在电力设施层,在真实电网中,无论是信息通信层还是电网控制层,最终目的都是服务于电力设施层,使其能够稳定运行且可管可控。因此在仿真实现中,无论信息通信层和电网控制层的仿真是以何种方式实现的,核心是要能够真实模拟出其对电力设施层的电力参数造成的影响[22]。此外,电力设施层的参数采样一般都是周期性进行的,因此无论其如何变化,都只会体现出对报文内部数据的影响,并不会影响到信息通信层的端到端传输参数,而包含控制指令的报文则一般在突发风险或异常情况下才会下发且数据量很小,其对端到端传输参数的影响也不大。因此,在信息通信层提前仿真得到的传输参数时间库可用于模拟整个仿真过程中的数据报文传输。

