基于FPGA的电力电子系统电磁暂态实时仿真通用解算器_周斌.pdf
《基于FPGA的电力电子系统电磁暂态实时仿真通用解算器_周斌.pdf》由会员分享,可在线阅读,更多相关《基于FPGA的电力电子系统电磁暂态实时仿真通用解算器_周斌.pdf(13页珍藏版)》请在咨信网上搜索。
1、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)实时仿真带来了挑战。为了实现小步长实时仿真,该文提出并实现一款基于
2、FPGA 的 EMT 实时仿真解算器。该解算器的通用化框架分为离线和在线两部分,离线程序能够自动获取仿真模型的参数并生成计算数据,在线程序能够自动配置计算资源与控制逻辑。为了提高仿真速度,还提出一种低延迟的单周期浮点累加方法,用于构建解算器的基本计算单元。基于 Xilinx Virtex7 xc7vx485t 型FPGA 芯片的评估与分析结果表明:相比某商业 FPGA 实时仿真解算器,该文解算器的仿真速度提高了一倍,仿真规模增加了 29.69%79.17%。最后,还通过两种电力电子变换器的实时仿真测试,验证了它的实际性能。所提解算器能够达到 400 MHz 的运行速度、100 ns 级的仿真步
3、长并保持较高的仿真精度,具有通用性强、自动化程度高、配置灵活等特点。关键词:电力电子系统 FPGA 实时仿真 通用解算器 浮点数乘累加 中图分类号:TM921 0 引言 电磁暂态(Electro-Magnetic Transient,EMT)实时仿真在航空航天、轨道交通和电力系统等领域被广泛应用,贯穿于研发设计到验证测试等各个环节1-3。为了追求高功率密度、低总体谐波分布,电力电子系统的开关频率趋于高频化4。传统以 CPU为计算核心的 EMT 实时仿真,它们以 510 s 的最小仿真步长难以准确刻画开关的高频特性5。FPGA 强大的并行计算能力、高带宽低延迟的 I/O接口能够更准确地描述电力电
4、子拓扑的开关事 件1。以 FPGA 为计算核心进行实时仿真已成为一种趋势6-8。FPGA 编程门槛高、开发周期长,增加了它用于实时仿真的难度。当前一种比较好的解决思路是基于通用解算器的仿真方法9-13。不同电路的数学模型可以统一为代数-微分方程组的形式2。如果方程求解程序实现了通用化,仿真时只需将其固化就可以处理不同的仿真对象,无需重复编程。Opal-RT公司在2011年公开了其 FPGA实时仿真通用解算器的最早版本9,并提出新的浮点乘累加(Floating-Point Multiply-Accumulate,FPMAC)实现方法用于解算器的计算引擎10。为了提高仿真速度,MAC又被替换为并行
5、度更大的向量点积(Dot Product,DP)11,但两者都未能很好地处理浮点累加运算,导致仿真速度受限。文献12-13提出了基于定点数的 FPGA 实 时 仿 真 解 算 器,可 时 钟 频 率 仅 有40 MHz。文献14-16针对有源配电网设计了基于矩阵分解运算的通用解算器,其用于机电暂态的仿真步长不太适合电力电子系统。FPGA 实时仿真的另一大难点是如何在完成高复杂度、大规模迭代计算的同时保证仿真的实时性。这不仅取决于计算核心的硬件能力,还与元器件的建模方法、电路方程的组织形式、解算器的框架以及程序设计等有关,尤其是开关器件模型,它几乎影响所有仿真环节。当前 FPGA 实时仿真中的开
6、关模型主要有双值电阻模型与 LC 等效模型两类。双值电阻模型精度更高,但会造成电路方程的导纳矩阵时变。文献14,17通过预存所有导纳矩阵逆矩阵 国防科技重点实验室资助项目(6142217200305)。收稿日期 2022-05-26 改稿日期 2022-09-20 第 38 卷第 14 期 周 斌等 基于 FPGA 的电力电子系统电磁暂态实时仿真通用解算器 3863 的方法简化计算,不过仿真规模有限。LC 等效模型具有恒定的开关导纳18,在当前 FPGA 实时仿真中广泛应用19-20。针对该模型引入人为振荡的问题,文献21-23已提出多种解决方案。本文提出并实现了一款基于 FPGA 的电力电子
7、系统 EMT 实时仿真通用解算器。相比文献9-13中报道的和现有的商业实时仿真解算器,它的特点在于:依据仿真模型中状态量与测量量的情况,将基于固定导纳矩阵节点法(Fixed Admittance Matrix Nodal Method,FAMNM)生成的电路方程重写为状态空间的形式,提高仿真的实时性;解算器通用框架分为离线与在线两部分,离线程序自动获取仿真模型的参数并生成计算数据,在线程序根据参数自动配置计算资源与控制逻辑,通用框架还可以配置资源的复用程度;生成计算数据时考虑多个仿真工况的切换,并将多个数据拼接后再写入同一个初始化文件,以提高存储资源的利用率;提出一种低延迟的单周期浮点累加实现
8、方法,用于构建以FPMAC 为基本计算单元的计算引擎,使得解算器最终取得极高的运行速度。1 基于 FPGA 的 EMT 实时仿真 1.1 电路分析与数值积分方法 电路分析方法主要有节点分析法和状态空间法两种。节点分析法最早由 Dommel 博士提出,经过C.W.Ho 等的改进,其相关理论已十分成熟24-25。在节点分析法的基础上,文献9结合 LC 等效开关模型提出的 FAMNM 是当前 FPGA 实时仿真的主流电路分析方法。LC 等效开关模型将导通时的开关等效为电感,关断时的开关等效为电容19。经过数值积分方法离散后,如果开关等效电感和等效电容的导纳值 GL、GC满足 LCGG=(1)那么开关
9、导纳将不随开关状态变化,节点导纳矩阵也会保持固定不变。因此,FAMNM 既保持了预存逆矩阵方法计算简单的优点,又不需要过多的存储资源。对于一个有 Nn个独立节点、Nvs个独立电压源的电路,根据 FAMNM 得到的节点方程为 n nn=G vi (2)式中,Gn为节点导纳矩阵;向量 in包含 Nn个节点注入电流和 Nvs个独立电压源;向量 vn为独立节点的电压和独立电压源的支路电流。电力电子系统的节点方程是基于差分电路得出的,必须确定合适的数值积分方法。EMT 仿真最常用的梯形法和后向欧拉法中,梯形法精度高,但用在含开关的电路时会有数值振荡26。通常选择后向欧拉法,因为它具有的阻尼作用可以较好地
10、抑制开关动作引起的振荡,并且在实时仿真的步长下能够提供足够的精度和刚性27。1.2 方程重写 按照节点方程的解算流程,式(2)转换为1nnGi形式得到节点电压 vn后,将依次更新支路电压、支 路电流、历史电流源。这种串行求解方式以及节点电压、支路电流这些中间结果的求解过程,增加了解算程序的硬件复杂度与执行时间。为此,本文依据仿真模型中状态量与测量量的情况,将节点方程重新组织为状态空间方程的形式,在减少计算量的同时增加计算的并行性。文献9,28-29中已有类似做法,本文与它们的不同之处在于:直接更新仅与状态量和测量量相关的电压和电流,省略中间量(节点电压等)和无关项(电阻的电压电流、电感电压以及
11、电容电流等)的计算。假设电路中 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 组成的。支路导纳矩阵
12、 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个测量量对
13、应的输出向量;上标 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
14、资源与变化的矩阵规模使得它很难达到理论上的并行度。此外,DP 加法树复杂的二叉树结构不仅引入了延迟,可配置性还比较差。如 Opal-RT 的FPGA 实时仿真解算器 eHS,它的底层就是拥有 8个乘法器的 DP 单元(DP8)30。这种情况下,即使电路规模只有 11 阶,也必须使用两个 DP8 单元。相比之下,MAC 自身相对独立的逻辑设计赋予了它极强的可拓展性。配合简单的控制逻辑,它很容易实现参数化配置。MAC 的这些特点为根据仿真规模、资源数量、速度要求等因素灵活配置 MAC单元的数量提供了可能,也是本文选择它完成MVM 运算的原因。2 解算器设计与实现 2.1 通用框架 本文设计的 FP
15、GA 实时仿真解算器通用框架如图 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 环境下,通过编写脚本完成上述所有离线预
16、处理过程。在具体实现时,首先,调用 power_analyze 命令生成 Simulink 模型的网表文件。该文件包含了电路的元器件参数与节点支路编号等信息。其次,利用这些信息按照 FAMNM 的规则组织电路的节点方程,并按照算法 1 的流程组织矩阵T;P。最后,根据参数 Ncyc将数据类型转换后的矩阵T;P划为 Ncyc个大小相同的分块,作为 ROM 的初始化数据T;P。其中,Ncyc为解算器中每个 MAC 单元的复用次数。本文组织T;P的方法为:分块矩阵内部各行元素并行计算、不同分块矩阵之间串行计算。这样解算器中 MAC 单元的数量 Nmac就等于各分块矩阵的行数 Nbr。trbrmacc
17、yc ceilNNNN=(8)式中,ceil()为向上取整函数。矩阵分块缺少的行填零补充,ROM 初始化数据组织方式如图 3 所示。Ncyc=1 时,矩阵T;P的所有行全部并行,此时解算器达到它的最大并行度。考虑到多个仿真工况间的切换,以及提高存储资源的利用率,在生成计算数据时可以准备多组T;P,并将数据拼接后再写入同一个初始化文件中。第 38 卷第 14 期 周 斌等 基于 FPGA 的电力电子系统电磁暂态实时仿真通用解算器 3865 图 3 ROM 初始化数据组织方式 Fig.3 Organization of ROM initialization data 以图 3 为例,初始化数据T;
18、P中首地址的全零行是解算器异步复位时的数据,从地址 1 到地址 Nbr的每一个地址都写入第 1 个分块矩阵中的一列数据,从地址 Nbr+1 开始写入第 2 个分块的数据。T;P的总地址深度为 NcycNbr+1。如果仿真模型有多个工况,如断路或者短路故障,将它们对应的T;P从地址 NcycNbr+1 接着写入,仿真时通过改变 ROM 读地址的偏移量切换工况。由于 Xilinx 的 BRAM 资源一般以 18 K、36 K为单位进行组合,最大位宽分别是 36 位、72 位31。矩阵元素拼接如图 4 所示,9 个 32 位的数据单独存储时需要 9 个 18 K 的 BRAM,如果将 9 个数拼接成
19、一个位宽为 288 的数据,此时存储将只需要 8 个18 K 的 BRAM,节省了 12.5%的 BRAM 资源。因此,通用解算器在离线预处理时将矩阵元素拼接成大位宽数据后再存储。图 4 矩阵元素拼接 Fig.4 Splicing of matrix elements 预处理程序默认只生成一个 ROM初始化文件。如果分块矩阵的行数 Nbr太大,这时就需要两个或者更多的 ROM 以及多个初始化文件。以 Xilinx 的Block Memory IP 核为例,它支持的最大 ROM 位宽 为 4 608 位,对应 144 个单精度浮点数31,即单个ROM 初始化文件支持的最大 Nbr为 144。2.
20、1.2 在线部分 浮定点转换(FP2FX)、数模转换(DAC)的实现比较容易。基于 MAC 的 MVM 运算,它的数学原理虽然简单,但其 FPGA 程序设计却直接决定解算器的性能。向量x中 ih_d、u 的更新直接按照式(7)进行,比较特殊的是 ih_s的更新。由于 xn+1中既有开关电压也有开关电流,ih_s需要根据开关的通断状态确定。记某个开关的电压、电流分别为 vs、is,开关的通断状态为 s(s=1,导通;s=0,关断),那么其历史电流源 is_h可以表示为 h_sssisisv=?(9)因此,更新开关历史电流源首先要更新开关状态。仿真中,全控型开关器件的状态由当前步长的开关信号 g
21、控制,但是不控型和半控型开关器件的 状态还依赖开关上一步长的状态ns、电压snv和电流sni。如二极管的开关状态9表达式为()()1ss00nnnnnssisv+=+?(10)同样地,如果将常用的 IGBT 反并联二极管模块当作一个整体,它的开关状态9为()()11ss00nnnnnnsgsisv+=+?(11)2.2 FPGA 实现 在线部分的四个环节中,x更新只是简单的选择判断逻辑、FP2FX 利用厂家提供的 IP 核实现、DAC 直接采用 TI 公司的软硬件解决方案,只有MVM 运算比较复杂。为此,本文提出一种新的浮点累加方法,用于构建以 FPMAC 为基本计算单元的 MVM 运算架构,
22、FPMAC 单元与 MVM 运算整体架构如图 5 所示。2.2.1 FPMAC 单元 浮点运算的硬件复杂度比较高,尤其是 FPMAC中的浮点累加计算,累加结果要经历取补、对阶、移位对齐等步骤才能再次累加,往往是整个硬件电路的性能瓶颈32。为了提高浮点累加的速度,文献33通过插入寄存器的方法减短关键路径,但是反馈的累加结果在流水线结构中会引发“数据竞争”。还有文献15,34将浮点数转为定点数降低累加的难度,不过定点数动态表示范围远不如浮点数广。由文献32提出、文献35-36优化的方法简化了浮点累加中移位对齐步骤的实现过程,并被用于 Opal-RT 的 eHS 解算器,但它对齐前的预处理过程仍有速
23、度瓶颈。本文通过双向移位对齐的方法实现低延迟的单周期浮点累加。在图 5 中,累加结果 rfd反馈后直接进入累加器,只有符号数乘法的乘积 rp根据对阶模块提供的结果进行移位对齐。若乘积的指数大,乘 3866 电 工 技 术 学 报 2023 年 7 月 图 5 FPMAC 单元与 MVM 运算整体架构 Fig.5 Overall structure of FPMAC units and MVM operations 积 rp左移;若累加结果的指数大,乘积 rp右移。因为对齐仅由乘积 rp双向移位完成,浮点累加的关键路径被进一步缩短,最终以极低的延迟实现单周期浮点累加。双向移位对齐的不足在于它使乘
24、积 rp的位宽增加了一半,后续累加、标准化等模块的位宽也随之增加。不过这些模块的逻辑比较简单,增加的位宽对解算器资源消耗的影响有限。FPMAC 除了浮点累加,还有符号数并行乘法和标准化两个步骤。符号数乘法通过乘法器 IP 核实现;标准化(包括前零预测)的原理与实现方法可见文献37。整个 FPMAC 单元采用深度流水线设计,输入输出延迟为 10 个节拍。图中标出了各模块的执行延迟,寄存器 Reg.延迟多个节拍是为了数据同步。如果 FPMAC 单元的流水线启动延迟 Nsp个节拍,那么单个仿真步长的总节拍数 Ntp可以表示为 cyctpspctNNNN=+(12)MVM 运算环节中 FPMAC 单元
25、的数量根据离线环节提供的仿真参数自动适配。每个 FPMAC 单元的输入为 a 和 b、输出为 c,不同 FPMAC 单元间相互并行。整个 MVM 运算的输入除了初始化数据T;P,还包括 Ncyc和 Nx两个控制参数,其中 Nx为向量x的维数(Nx=Ntc)。图 5 中,下标“s”、“e”和“m”分别对应 IEEE754 标准中浮点数的符号、指数和尾数38。2.2.2 控制逻辑 解算器重要的控制逻辑有 ROM 读地址 Addr、累加器清零信号 Acc_clr、FPMAC 输出使能信号Output_en。主计数器 CNT 从 1Ntp循环计数,整个解算器的控制逻辑根据它的计数值设计。以图 5 中第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 电力 电子 系统 电磁 实时 仿真 通用 解算器 周斌
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。