FPGA仿真“黑科技”——EasyGo FPGA Coder

首页    新闻动态    FPGA仿真“黑科技”——EasyGo FPGA Coder
写在前面
 
 

随着电力电子产业的不断发展,对电力电子仿真技术也提出了更新,更高的要求。新型开关器件的控制速率要求越来越快,模型仿真速度要求越来越快。传统基于DSP 或者基于实时CPU的实时仿真器受限于技术瓶颈,无法满足十几us甚至ns级的仿真运算。

FPGA天然的并行性使得常常用来做更高速的仿真计算。但是传统的FPGA 开发方式过于繁琐复杂,需要考虑资源配置,时序,数据类型等等,算法验证也相对比较复杂,而且每一次实际运行都需要进行FPGA 硬件编译,需要花费大量的时间与精力。对于专注于算法与模型研究的原型阶段,急需一种新的工具来解决目前的痛点问题。

EasyGo FPGA Coder是森木磊石新研发的用于在FPGA 上进行仿真验算的新技术。与传统的FPGA仿真应用不同的是,FPGA Coder采用基于Matlab/Simulink的图形化模块进行搭建算法模型。通过DeskSim 2021直接下载至FPGA 中运行,无需编译,极大程度上降低了工程师使用FPGA 研究高速算法的门槛,同时又能利用FGPA高速并行计算的优点。

 
模块任意搭建
不受FPGA限制,方便
 

FPGA Coder 在Simulink中提供了一个独立的模块库。其中包含了支持的搭建算法的基础模块,以及在电力电子控制算法中经常用到的坐标变换,三相锁相PLL,PI控制器,一阶,二阶传函等等。

基础库

模块控制库

我们可以利用这些模块来任意搭建我们的算法模型。使用上与simulink的模块没有任何差别,这样能够使得离线验证与FPGA 硬件运行保持一致。

最最最重要的一点,使用这些模块并不需要用户去考虑FPGA的时钟,数据类型精度,时序等问题。FPGA Coder在下载到FPGA上时会自动考虑FPGA 代码的规则。我们只需要配置模块所需要的参数即可。

 

 
无需FPGA编译
直接运行模型,便捷
 

搭建好的FPGA模型做完离线验证后,配置一些硬件接口信息,就可以将模型通过载入DeskSim 2021软件中下载到FPGA 中进行运算,FPGA芯片硬件上会运行一个FPGA Coder Solver的解算器,自动解算FPGA上的模型进行运算,所以FPGA 模型不需要编译。

即使改变模型,也只需要重新载入就可以了,FPGA并不需要进行编译。

 

 
【实例讲解】
 

下面以APF 为例简单介绍一下FPGA Coder的用法。首先进行离线仿真验证。用于用到的FPGA Coder,我们可以将控制的步长设得小一些,电路仿真步长为5e-7,控制算法的步长为5e-6, 也就是200k。

离线程序验证没问题后,我们再进行模型实时化处理,整体的架构还是基于CPU+FPGA部分的。利用最新的DeskSim 2021 软件进行下载运行。整体模型架构如下所示:

在这个APF示例中,CPU部分并没有跑什么模型,只是用来将一些数据进行上传与下发,所以模型就是一些数据传输。而FPGA部分用到了2块FPGA. 每块FPGA可以独立运行,也可以并行运行。

在APF 示例中,FPGA1 用来运行APF的主电路模型(电力电子模型FPGA上运行步长更小,精度更高),采用LC 建模方式。FPGA2 用来跑APF的控制算法,也就是FPGA coder搭建的算法模型。

具体如下图所示:

将模型载入到DeskSim 2021 软件(详细请了解DeskSim 2021软件使用)中,这里会显示模型的各类信息。

如下图所示:在FPGA2 上,我们用到了FPGA Coder,软件会根据FPGA Coder模型自动计算出在FPGA上运行的最小步长,比如这个控制模型的最小步长系统计算出来就是Ts=2.63125us 。只要不低于这个步长,都是可以将模型直接运行。为保持与离线仿真一致,这里我们将模型设置为5us,也就是200khz的控制周期。

利用DeskSim 2021 搭建人机界面,完成自闭环的实时仿真验证。最终电路模型在FPGA上进行500ns的仿真步长,控制算法模型通过FPGA coder 最终步长是5us的步长。

 

数字电源研发神器——可编程电力电子控制器PPEC

PPEC行业案例—基于PPEC的高压充电电源应用

PPEC行业案例—基于PPEC的高精度磁铁电源应用

业界新秀!PPEC——你无法想象做电源竟如此简单!

FPGA实时仿真天花板——NetBox电力电子仿真器

小白也能完轻松完成FPGA中除法运算?有它就够了!

2022年3月30日 09:44
浏览量:0
收藏