分享
基于FPGA的电力电子系统电磁暂态实时仿真通用解算器_周斌.pdf
下载文档

ID:2578553

大小:2.33MB

页数:13页

格式:PDF

时间:2023-08-01

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于 FPGA 电力 电子 系统 电磁 实时 仿真 通用 解算器 周斌
2023 年7 月 电 工 技 术 学 报 Vol.38 No.14 第 38 卷第 14 期 TRANSACTIONS OF CHINA ELECTROTECHNICAL SOCIETY Jul.2023 DOI:10.19595/ki.1000-6753.tces.220918 基于 FPGA 的电力电子系统电磁暂态 实时仿真通用解算器 周 斌 汪光森 李卫超 王志伟 揭贵生(海军工程大学舰船综合电力技术国防科技重点实验室 武汉 430033)摘要 电力电子系统较高的开关频率给传统以 CPU 为计算核心的电磁暂态(EMT)实时仿真带来了挑战。为了实现小步长实时仿真,该文提出并实现一款基于 FPGA 的 EMT 实时仿真解算器。该解算器的通用化框架分为离线和在线两部分,离线程序能够自动获取仿真模型的参数并生成计算数据,在线程序能够自动配置计算资源与控制逻辑。为了提高仿真速度,还提出一种低延迟的单周期浮点累加方法,用于构建解算器的基本计算单元。基于 Xilinx Virtex7 xc7vx485t 型FPGA 芯片的评估与分析结果表明:相比某商业 FPGA 实时仿真解算器,该文解算器的仿真速度提高了一倍,仿真规模增加了 29.69%79.17%。最后,还通过两种电力电子变换器的实时仿真测试,验证了它的实际性能。所提解算器能够达到 400 MHz 的运行速度、100 ns 级的仿真步长并保持较高的仿真精度,具有通用性强、自动化程度高、配置灵活等特点。关键词:电力电子系统 FPGA 实时仿真 通用解算器 浮点数乘累加 中图分类号:TM921 0 引言 电磁暂态(Electro-Magnetic Transient,EMT)实时仿真在航空航天、轨道交通和电力系统等领域被广泛应用,贯穿于研发设计到验证测试等各个环节1-3。为了追求高功率密度、低总体谐波分布,电力电子系统的开关频率趋于高频化4。传统以 CPU为计算核心的 EMT 实时仿真,它们以 510 s 的最小仿真步长难以准确刻画开关的高频特性5。FPGA 强大的并行计算能力、高带宽低延迟的 I/O接口能够更准确地描述电力电子拓扑的开关事 件1。以 FPGA 为计算核心进行实时仿真已成为一种趋势6-8。FPGA 编程门槛高、开发周期长,增加了它用于实时仿真的难度。当前一种比较好的解决思路是基于通用解算器的仿真方法9-13。不同电路的数学模型可以统一为代数-微分方程组的形式2。如果方程求解程序实现了通用化,仿真时只需将其固化就可以处理不同的仿真对象,无需重复编程。Opal-RT公司在2011年公开了其 FPGA实时仿真通用解算器的最早版本9,并提出新的浮点乘累加(Floating-Point Multiply-Accumulate,FPMAC)实现方法用于解算器的计算引擎10。为了提高仿真速度,MAC又被替换为并行度更大的向量点积(Dot Product,DP)11,但两者都未能很好地处理浮点累加运算,导致仿真速度受限。文献12-13提出了基于定点数的 FPGA 实 时 仿 真 解 算 器,可 时 钟 频 率 仅 有40 MHz。文献14-16针对有源配电网设计了基于矩阵分解运算的通用解算器,其用于机电暂态的仿真步长不太适合电力电子系统。FPGA 实时仿真的另一大难点是如何在完成高复杂度、大规模迭代计算的同时保证仿真的实时性。这不仅取决于计算核心的硬件能力,还与元器件的建模方法、电路方程的组织形式、解算器的框架以及程序设计等有关,尤其是开关器件模型,它几乎影响所有仿真环节。当前 FPGA 实时仿真中的开关模型主要有双值电阻模型与 LC 等效模型两类。双值电阻模型精度更高,但会造成电路方程的导纳矩阵时变。文献14,17通过预存所有导纳矩阵逆矩阵 国防科技重点实验室资助项目(6142217200305)。收稿日期 2022-05-26 改稿日期 2022-09-20 第 38 卷第 14 期 周 斌等 基于 FPGA 的电力电子系统电磁暂态实时仿真通用解算器 3863 的方法简化计算,不过仿真规模有限。LC 等效模型具有恒定的开关导纳18,在当前 FPGA 实时仿真中广泛应用19-20。针对该模型引入人为振荡的问题,文献21-23已提出多种解决方案。本文提出并实现了一款基于 FPGA 的电力电子系统 EMT 实时仿真通用解算器。相比文献9-13中报道的和现有的商业实时仿真解算器,它的特点在于:依据仿真模型中状态量与测量量的情况,将基于固定导纳矩阵节点法(Fixed Admittance Matrix Nodal Method,FAMNM)生成的电路方程重写为状态空间的形式,提高仿真的实时性;解算器通用框架分为离线与在线两部分,离线程序自动获取仿真模型的参数并生成计算数据,在线程序根据参数自动配置计算资源与控制逻辑,通用框架还可以配置资源的复用程度;生成计算数据时考虑多个仿真工况的切换,并将多个数据拼接后再写入同一个初始化文件,以提高存储资源的利用率;提出一种低延迟的单周期浮点累加实现方法,用于构建以FPMAC 为基本计算单元的计算引擎,使得解算器最终取得极高的运行速度。1 基于 FPGA 的 EMT 实时仿真 1.1 电路分析与数值积分方法 电路分析方法主要有节点分析法和状态空间法两种。节点分析法最早由 Dommel 博士提出,经过C.W.Ho 等的改进,其相关理论已十分成熟24-25。在节点分析法的基础上,文献9结合 LC 等效开关模型提出的 FAMNM 是当前 FPGA 实时仿真的主流电路分析方法。LC 等效开关模型将导通时的开关等效为电感,关断时的开关等效为电容19。经过数值积分方法离散后,如果开关等效电感和等效电容的导纳值 GL、GC满足 LCGG=(1)那么开关导纳将不随开关状态变化,节点导纳矩阵也会保持固定不变。因此,FAMNM 既保持了预存逆矩阵方法计算简单的优点,又不需要过多的存储资源。对于一个有 Nn个独立节点、Nvs个独立电压源的电路,根据 FAMNM 得到的节点方程为 n nn=G vi (2)式中,Gn为节点导纳矩阵;向量 in包含 Nn个节点注入电流和 Nvs个独立电压源;向量 vn为独立节点的电压和独立电压源的支路电流。电力电子系统的节点方程是基于差分电路得出的,必须确定合适的数值积分方法。EMT 仿真最常用的梯形法和后向欧拉法中,梯形法精度高,但用在含开关的电路时会有数值振荡26。通常选择后向欧拉法,因为它具有的阻尼作用可以较好地抑制开关动作引起的振荡,并且在实时仿真的步长下能够提供足够的精度和刚性27。1.2 方程重写 按照节点方程的解算流程,式(2)转换为1nnGi形式得到节点电压 vn后,将依次更新支路电压、支 路电流、历史电流源。这种串行求解方式以及节点电压、支路电流这些中间结果的求解过程,增加了解算程序的硬件复杂度与执行时间。为此,本文依据仿真模型中状态量与测量量的情况,将节点方程重新组织为状态空间方程的形式,在减少计算量的同时增加计算的并行性。文献9,28-29中已有类似做法,本文与它们的不同之处在于:直接更新仅与状态量和测量量相关的电压和电流,省略中间量(节点电压等)和无关项(电阻的电压电流、电感电压以及电容电流等)的计算。假设电路中 Nd个独立动态元件和 Ns个开关在离散后分别形成了历史电流源向量 ih_d、ih_s,它们共同组成状态向量 x;Nu个独立输入源组成输入向量 u。记 h_dh_s,=ixx uiu (3)式(2)中的向量 in可以重新表示为 n=iMx (4)矩阵 M 的(Nn+Nvs)(Nd+Ns+Nu)个元素全部由1,0,1 组成。式(2)中的向量 vn表示为 1nn=vGMx (5)相似地,将 Nb个支路的支路电流向量 ib表示为()1bb nbn=+iG vxNG GMN x (6)式中,矩阵 N 的 Nb(Nd+Ns+Nu)个元素全部由1,0,1 组成的。支路导纳矩阵 Gb含 Nb(Nn+Nvs)个元素,每行分别为相应支路的导纳。记 A=1nGM,B=nb1G GM+N。根据算法 1(见附录)的流程组织状态更新矩阵 T。由于下一步长 的 ih_s需要从本步长的开关电压电流中选择,每个开关都在矩阵 T 中对应两行元素。3864 电 工 技 术 学 报 2023 年 7 月 仿真模型中的各个测量量可以采用同样的方法组织输出矩阵 P。既不是状态也未被测量的电气量将不会出现在矩阵T;P中,因此矩阵T;P的行数一般情况下是小于矩阵A;B的,这也是重写电路方程的意义。最终状态空间形式的电路方程为 111;nnnn+=|xxT Pyu (7)式中,y 为 Nm个测量量对应的输出向量;上标 n+1为当前仿真步长;n 为上一仿真步长。矩阵T;P的行数 Ntr为 Nd+2Ns+Nm,列数 Ntc为 Nd+Ns+Nu。1.3 DP 和 MAC 得到式(7)后,仿真的迭代计算转为矩阵T;P与向量 x之间的矩阵向量乘(Matrix Vector Multipli-cation,MVM)运算。DP 和 MAC 是两种最常见的实现 MVM 运算的单元,它们的结构示意图如图 1所示。(a)DP (b)MAC 图 1 DP 与 MAC 的结构示意图 Fig.1 Structure diagrams of DP and MAC 理论上,DP 拥有更大的并行度,不过有限的FPGA 资源与变化的矩阵规模使得它很难达到理论上的并行度。此外,DP 加法树复杂的二叉树结构不仅引入了延迟,可配置性还比较差。如 Opal-RT 的FPGA 实时仿真解算器 eHS,它的底层就是拥有 8个乘法器的 DP 单元(DP8)30。这种情况下,即使电路规模只有 11 阶,也必须使用两个 DP8 单元。相比之下,MAC 自身相对独立的逻辑设计赋予了它极强的可拓展性。配合简单的控制逻辑,它很容易实现参数化配置。MAC 的这些特点为根据仿真规模、资源数量、速度要求等因素灵活配置 MAC单元的数量提供了可能,也是本文选择它完成MVM 运算的原因。2 解算器设计与实现 2.1 通用框架 本文设计的 FPGA 实时仿真解算器通用框架如图 2 所示。整个框架分为离线预处理、在线计算两个部分,离线部分为在线部分提供 Nd、Ns和 Nu等参数与计算数据T;P,在线部分负责更新状态 x与测量量 y。图 2 解算器的通用框架 Fig.2 General framework of the proposed solver 2.1.1 离线部分 离线部分中,通过电路分析和方程重写得到更适合实时计算的电路方程;数据类型转换将 Matlab默认的双精度浮点数转为 IEEE754 标准下的单精度浮点数;ROM 初始化文件为在线的 MVM 运算提供计算数据。本文在 Matlab 环境下,通过编写脚本完成上述所有离线预处理过程。在具体实现时,首先,调用 power_analyze 命令生成 Simulink 模型的网表文件。该文件包含了电路的元器件参数与节点支路编号等信息。其次,利用这些信息按照 FAMNM 的规则组织电路的节点方程,并按照算法 1 的流程组织矩阵T;P。最后,根据参数 Ncyc将数据类型转换后的矩阵T;P划为 Ncyc个大小相同的分块,作为 ROM 的初始化数据T;P。其中,Ncyc为解算器中每个 MAC 单元的复用次数。本文组织T;P的方法为:分块矩阵内部各行元素并行计算、不同分块矩阵之间串行计算。这样解算器中 MAC 单元的数量 Nmac就等于各分块矩阵的行数 Nbr。trbrmaccyc ceilNNNN=(8)式中,ceil()为向上取整函数。矩阵分块缺少的行填零补充,ROM 初始化数据组织方式如图 3 所示。Ncyc=1 时,矩阵T;P的所有行全部并行,此时解算器达到它的最大并行度。考虑到多个仿真工况间的切换,以及提高存储资源的利用率,在生成计算数据时可以准备多组T;P,并将数据拼接后再写入同一个初始化文件中。第 38 卷第 14 期 周 斌等 基于 FPGA 的电力电子

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开