altera fpga sdi输出方案_FPGA在电力电子中的应用有哪些?

大家好,很抱歉上周末没有及时更新公众号,本来这期想聊聊IGBT的拖尾电流,但是由于周末去深圳高交会(高新技术成果交易会)逛了一天,时间给耽搁了,感觉要想把拖尾电流讲清楚也不太容易,还得需要点时间,为了保证不断更,这次我们先换个简单点的话题,聊聊FPGA在电力电子中的应用,赶快把上周的作业补上c1a10aaa5a2ffd537e24975717228ed4.png

d7964623e0e568f801f65164f3c9e306.png

在这里CPLD就不说了,因为两者应用场景差不多,只是资源多少的问题。

为什么想到这个话题呢?主要是这次参加高交会勾起了大学时代的很多回忆。

这次展会重点展示了节能环保、新一代信息技术、高端装备制造、新能源、新材料等领域的先进技术和产品,最吸引眼球的还属人工智能、大数据、云计算、机器人这些领域。

想想这些年一直在埋头搞电力电子,一抬头感觉错过了好多东西!当然在其它方面也收获了很多c1a10aaa5a2ffd537e24975717228ed4.png,总体感觉人工智能和大数据真的离我们不远了,有些已经在生活中有所应用,只是我们没有察觉到。

当看到这些高科技产品,首先想的就是它是怎么实现的,用的什么处理器?总有点想拆了一探究竟的欲望!c1a10aaa5a2ffd537e24975717228ed4.png或许也是这些年一直搞硬件养成的思维习惯吧!

硬件核心的东西是什么呢?MCU、ARM、DSP、FPGA还是ASIC?当这些名词在大脑浮现出来时,记忆回到了大学时代,那会儿是对单片机真的热爱啊c7e6ea37d70db7e4834f030cc069ca96.png,AT89S51, Mega8, Mega16, MSP430....还有那些和自己参加电子设计竞赛一起奋斗的好友...满满的回忆

后来读研究生用到了DSP,FPGA,业余时间还喜欢搞搞ARM,研究一下嵌入式系统。读博以后开始搞电力电子硬件这块,和这些芯片打交道也就慢慢变少了,但是偶尔还会做块板子,用到TI C2000 DSP和Xilinx FPGA。搞电机控制的对DSP都比较熟悉了,而FPGA虽然也是软件编程,但是它更需要硬件数字电路的思维,可能好多人对这块理解也不够深入。所以电力电子领域懂FPGA的人要远少于懂DSP的。

掐指一算,自己踏入电力电子领域也已经将近10年了,那干脆就聊聊FPGA在电力电子中的应用吧,希望能对大家有所启发0919004c2817f3c440f6b8d814f8c80a.png

首先,看看做FPGA的知名企业有哪些呢?搞这块的应该都知道,早些年全球FPGA市场基本被美国“两大两小”四家公司垄断。

其中“两大”指的是Xilinx和Altera,因为这两家公司占据了80%的市场份额,而“两小”指的是Lattice、Actel,在随后的几年中,一连串的并购改变了FPGA市场格局。

2010年,Microsemi以4.3亿美元收购了当时市场排名第四的Actel;

2015年,Intel以167亿美元收购排名第二的Altera;

2020年,AMD以350亿美元收购排名第一的Xilinx。

美国四大巨头已经三家被并购了,就剩下Lattice一家逼格不够高的目前保持独立。

FPGA为什么会被这些大的半导体公司收购呢,首先看一下Intel收购FPGA的原因::

① FPGA的器件架构决定了是内存以外极少的可以持续利用摩尔定律的器件;

② 新的计算范式如数据中心需求和神经网络等智能计算方法都非常适合FPGA架构;

③ 贴近物理层与数据融合的物联网应用。

详细原因可以知乎搜“怎样理解Altera被intel收购”。

英特尔收购Altera后,在数据中心、5G通信、物联网和车载芯片等领域开疆拓土,让AMD和Xilinx都倍感压力,这也是为什么AMD会收购Xilinx。

事实上,这些大的半导体公司在很多年以前就已经开始布局这些高端领域了。你去Xlinx主页看,很难找到一个适合于我们工业用的低成本的FPGA或CPLD,反而Lattice走中低端市场,可选型号非常多。国产FPGA这些年发展也比较快,目前还没有机会用到,就不作过多评论了,希望以后有机会可以多尝试国产芯片。

回到主题,相比这些高大上的应用,FPGA在电力电子中应用又有哪些呢?

大概总结了一下,主要有以下几个方面:

1、PWM脉冲发波

PWM脉宽调制技术,大家都不陌生了,无论电机控制、开关电源、UPS等都会用到。

目前大家最熟悉的应该是TI的C2000 系列DSP。通过配置DSP的EVA和EVB事件管理器就可以发出PWM波。然而,对于一些特殊的脉宽调制技术例如DPWM,有些器件可能难以胜任。正因为如此,TI C2000的PWM输出也在不断优化,从早期的EPWM type0优化到目前最新的type4[1],通过不断改进,使得PWM发波更加灵活,

另外,对于有些多电平应用,例如五电平、级联H桥,MMC等拓扑,单个DSP能够输出的PWM数量有限。针对以上这些问题,FPGA就可以派上用场了,FPGA可以输出任意你想输出的波形,因为DSP的所有寄存器对于FPGA来说都可以通过硬件实现,数量也无限制(当然你的FPGA 输出引脚要足够多)。

ce98fe11fc3b69572267e6118b46870b.png

2、A/D采样控制

在电力电子控制器开发过程中,AD芯片作为搭接模拟和数字的桥梁,其性能的好坏,将直接影响整个系统的性能。对于一些成本控制较高的应用,例如通用变频器,一般采用DSP的片内AD就够了。

而对于有些性能要求较高的应用,例如伺服,一般需要更高的采样精度和带宽。而对于源滤波补偿装置,为了达到较好的补偿效果,往往需要多通道同步采样。

以上这些特殊需求,DSP片内AD可能会受到一定的限制。这时候通过FPGA外扩AD芯片就会方便很多,根据AD芯片通道数,可以配置一片或多片,这些芯片一般集成了SPI或并行总线接口,通过FPGA控制AD时序,DSP可以专心负责控制算法。

当然如果你有特殊的数字滤波算法需求,FPGA就更不用说了。

e38cae4bf7c01788c3916371f41b5dae.png

3、背板总线通信

对于有些大功率变流装置,例如风电变流器、中高压变频器等,控制器一般采用3U或6U机箱结构,机箱集成了处理器板卡、IO板卡、AD/DA采集板、通信板卡等等。这些板卡之间一般通过背板总线方式通信,由于电力电子应用并不需要类似交换机那种高带宽和吞吐率的通信需求,因此各家都会定义自己的总线通信方式,例如采用DSP的Xintf并行接口就可以访问各个板卡了。如果考虑做的更紧凑些,也可以采用串行总线,类似SPI。这时候采用FPGA作为接口协议芯片就非常灵活,可以解决各板卡芯片之间的接口时序不匹配问题。

在这里借用一张日本MyWay公司的产品图片,PE-Expert4,主要是因为这个机箱还有板卡设计的很漂亮。这是一款电力电子开发平台,主要用在实验室验证算法,相信后面的背板总线也采用了FPGA。

1a3a4184a26a31183cf9782657fe8be2.png

4、接口扩展

在控制器开发过程中,如果DSP或ARM的输出IO口不够用的时候,FPGA可以很好的解决这个问题。Lattice就有相应的案例,通过SPI和原有MCU进行SPI通信,可以拓展16个IO口,这些IO口可以配置为输入或输出,还可以产生中断,非常方便。

060bcdd18ac697b05bed3fcd89ad049d.png 

除了普通的IO拓展外,FPGA还可以轻松的实现对外通信,通过FPGA可以实现任意多路UART,SPI,I2C总线,轻松的实现板级芯片的访问。另外,一般专用的现场总线ASIC芯片配有SPI接口或并行总线接口(Intel时序或motorola时序),通过FPGA访问这些ASIC即可实现各种现场总线。当然,你有能力也可把这些协议做进去,类似瑞典HMS把各种总线协议做进了自己的芯片内,非常方便。

f5766abafaa28a7dd1760384e6f36c4d.png

5、先进控制理论

现代控制理论技术的发展,对电力电子技术的推动起着很重要的作用。例如最优控制,神经网络,模型预测控制等。这些控制理论往往需要的运算量较大,例如,模型预测控制(model predictive control,MPC) 通过构建多目标优化函数,对变换器的有限开关组合对应的系统未来状态进行评判,选择使目标函数值最小的开关组合作为下一个开关周期的开关状态,吸引了众多学者对其在电力传动领域的研究[2-3]

但模型预测控制每个控制周期里需对系统所有可能的未来状态进行计算和评判,计算量庞大,如何减少计算量是目前模型预测控制研究的热点。这时候FPGA又可以大显身手了,只要你的逻辑门足够多,采用“速度换面积”的思想,FPGA就可以在一个时钟周期做完你所有的事情,咱就是这么牛b9fd3ad876564cf268b175ca5a55390e.png

0192067519dc9598f45ff7be81cb5d98.png

6、中高压IGBT驱动

 IGBT驱动电路作为大容量电力电子装置功率回路和控制电路之间的接口,其性能的好坏对IGBT的工作特性有很大的影响。传统的门极驱动采用固定门极电阻方式实现IGBT的开关控制,无法在电压、电流尖峰,器件损耗,开关延时,EMI等取得较好的折中。

近些年来,基于可编程器件FPGA或CPLD的数字型门极驱动正在逐渐被认可,并成功应用中高压领域,数字型门极驱动的主要特点分别为:主动门极控制监控诊断功能[4]主动门极控制是根据工作运行环境和工况,对 IGBT 开关过程进行主动精细化最优控制的一种方法,其基本思路是把 IGBT 开通过程和关断过程分别划分为几个不同的阶段,针对某一问题只需对相应的阶段进行独立的门极调控,对其他参数产生很小的(甚至不产生)负面影响。监控诊断功能是对IGBT运行中的关键参数进行监测。当IGBT发生突发故障时,可以根据具体的参数实现故障的区分和定位。针对IGBT在运行中出现了的老化问题,通过对IGBT运行中的关键参数进行处理分析,实现IGBT的故障预测及健康管理。

目前采用数字型门极驱动厂家主要有中国Firstack,英国Amantys,德国Inpower,美国Agileswitch,感兴趣的可以自己去查看。

b0826945fd77a0f865797c009056e231.png 

7、硬件在环(Hardware-in-Loop, HIL)仿真

目前,对于电力电子控制器的开发,基于模型的开发方式(Model based development)越来越成为主流。而在这个开发模式中,硬件在环仿真测试(Hardware-in-loop,HIL)是一种典型的测试方法。硬件在环仿真,是将真的控制器连接假的被控对象(用实时仿真硬件来模拟),以一种高效、低成本的方式对控制器进行全面测试。为了提高仿真精度,需要模型尽可能的逼近真实物体,同时对模型的响应速度也有一定的要求,FPGA凭借着自身的并行处理能力,可以较好的胜任该工作。

bd70e2a6550ca9dd60e095eb939fba3f.png

举个例子:在电机驱动领域,可以在FPGA建立一个虚拟的逆变器模型和电机模型,与真实控制器连接后实时仿真,可以快速验证电机控制器的开发,只要你的模型足够准确,就可以骗过控制器,节省了硬件成本,同时也避免了由于操作不当造成的炸机风险。

8、高速电机控制

对于高带宽的电机控制应用,各个FPGA厂商也有配套的方案,例如Microsemi公司给出的用永磁同步电机Sensorless FOC方案,将FOC的各个模块做成IP核,供客户使用,环路的带宽在1us,器件的开关频率可达500kHz。

e61e51326edf33c2f231fb882a15117a.png

好了,今天就给大家分享到这里吧!总之,FPGA是非常灵活的,只要是处理数字信号的芯片,无论你是MCU、DSP、ARM或ASIC,它都可以胜任,而且速度还非常快。FPGA在电力电子中的应用虽不及人工智能、大数据看上去那么高大上,但也起着非常关键的作用,真正把FPGA用好也不太容易,让我们一起努力吧!5b64b842c68a3f8b52a053147aabf239.png

部分图片来源于网络,如有侵权,请联系作者删除!

参考文献:

[1] TI官网文档Literature Number: SPRU566N “C2000 Real-Time Control MCU Peripherals Reference Guide”.

[2] Rodriguez J,Kennel R,Espinoza J,et al. High-performance control strategies for electrical  drives:an experimental assessment[J].IEEE Trans. on Industrial Electronics,2012,59(2):812-820.

[3] 曹晓冬. 大功率三电平 PWM 整流器模型预测控制方法[D]. 博士论文,2017.

[4] 丁荣军, 刘侃. 新能源汽车电机驱动系统关键技术展望[J]. 中国工程科学, 2019, 21(3): 56-60.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Pytorch神经网络理论篇】 39 Transformers库中的BERTology系列模型

同学你好!本文章于2021年末编写,获得广泛的好评! 故在2022年末对本系列进行填充与更新,欢迎大家订阅最新的专栏,获取基于Pytorch1.10版本的理论代码(2023版)实现, Pytorch深度学习理论篇(2023版)目录地址…

Unity之CharacterController2D学习笔记(1)——基础使用

在很多游戏类型中,玩家角色对物理行为的处理往往和场景中其它物体的行为有比较大的区别。比如角色可能会以90多公里的时速狂奔,同时一次跳跃能跳10多米高,与此同时却几乎不会有任何惯性。同时角色在正常情况下当头部碰到障碍物的时候&#xf…

【Pytorch神经网络实战案例】33 使用BERT模型实现完形填空任务

1 案例描述 案例:加载Transformers库中的BERT模型,并用它实现完形填空任务,即预测一个句子中缺失的单词。 2 代码实现:使用BERT模型实现完形填空任务 2.1 代码实现:载入词表,并对输入的文本进行分词转化--…

c++ string 删除字符_字符串操作的全面总结

来自公众号:C语言与cpp编程字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃。本文总结了一些构建string对象方法、修改string对象的方法、string类型的操作函数、string…

【Pytorch神经网络理论篇】 40 Transformers中的词表工具Tokenizer

同学你好!本文章于2021年末编写,获得广泛的好评! 故在2022年末对本系列进行填充与更新,欢迎大家订阅最新的专栏,获取基于Pytorch1.10版本的理论代码(2023版)实现, Pytorch深度学习理论篇(2023版)目录地址…

【Pytorch神经网络实战案例】34 使用GPT-2模型实现句子补全功能(手动加载)

1 GPT-2 模型结构 GPT-2的整体结构如下图,GPT-2是以Transformer为基础构建的,使用字节对编码的方法进行数据预处理,通过预测下一个词任务进行预训练的语言模型。 1.1 GPT-2 功能简介 GPT-2 就是一个语言模型,能够根据上文预测下…

电容式传感器位移性能试验报告_一文读懂什么是接近传感器?

点击上方蓝字 记得关注我们哦!接近传感器是一种非接触式传感器,当目标进入传感器的视野时,它会检测到物体(通常称为“目标”)的存在。取决于接近传感器的类型,传感器可以利用声音,光,红外辐射(IR)或电磁场来…

[dts]DTS实例分析

2. 通常会碰到的实际问题 到此,问题出现了: 1. 当写一个按键驱动,应该如何在*.dts或者*.dtsi中操作? 2. 当在串口driver中需要使用到某个pin脚作为普通输出IO,该如何操作? 3. 当在串口driver中需要使用某个muxpin脚作…

【解决】YOLOv6.1安装requirements.txt报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x84

案例描述: 使用YOLOV5时,报错解决UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x84 in position 285: illegal multibyte sequence 解决方案: 在C:\ProgramData\Anaconda3\lib\distutils\dist.py"文件搜索read 将parser.read(filenam…

bp 神经网络 优点 不足_深度学习之BP神经网络--Stata和R同步实现(附Stata数据和代码)

说明:本文原发于“计量经济圈”公众号,在此仅展示Stata的部分。R部分请移步至本人主页的“R语言与机器学习--经济学视角”专栏,或点击下方链接卡跳转。盲区行者:深度学习之BP神经网络--Stata和R同步实现(附R数据和代码…

Win10系统下使用anaconda在虚拟环境下安装CUDA及CUDNN

前排预警:不要挂梯子!!!!!使用清华源就行不然报错!!!! 解决check_hostname requires server_hostname_orange_の_呜的博客-CSDN博客错误描述在GitHub下载代码文件后使用pip install -r requirement.txt下载依赖包时出…

将XML格式转化为YOLO需要的txt格式(代码)

1、XML的格式 <annotation><folder>cr</folder><filename>crazing_2.jpg</filename><source><database>NEU-DET</database></source><size><width>200</width><height>200</height><…

js 点击button切换颜色_ThingJS 和three.js开发示例对比,让开发早点下班回家!3D 可视化...

ThingJS 3D框架简化了开发工作&#xff0c;面向对象和模块化的特点使得网页代码更加易于管理和维护&#xff0c;并且提供近200个官方示例&#xff0c;直接获取API能力&#xff0c;不需要基于3D概念进行开发&#xff0c;适合3D商业项目快速生成&#xff01;距离您的业务仅一层之…

VSCode使用技巧——Ctrl+鼠标滚轮键使字体进行缩放

点击VSCode左下角的齿轮&#xff0c;进入设置 进入Extensions——》JSON——》Edit in settings.json 在json当中添加如下&#xff1a; "editor.mouseWheelZoom": true,

OpenCV各版本差异与演化,从1.x到4.0

最近因项目需要&#xff0c;得把OpenCV捡起来&#xff0c;登录OpenCV官网&#xff0c;竟然发现release了4.0.0-beata版本&#xff0c;所以借此机会&#xff0c;查阅资料&#xff0c;了解下OpenCV各版本的差异及其演化过程&#xff0c;形成了以下几点认识&#xff1a; 新版本的…

西门子s7-200解密软件下载_西门子S7-200/300/400通讯方式汇总,超级全面

1西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件&#xff0c;我们的驱动需要调用编程软件提供的 MPI 接口库函数;2)需要将 MPI 通讯卡 CP5611 卡安装在计算机的插槽中&#xff0…

如何监控NVIDIA GPU 的运行状态和使用情况

设备跟踪和管理正成为机器学习工程的中心焦点。这个任务的核心是在模型训练过程中跟踪和报告gpu的使用效率。 有效的GPU监控可以帮助我们配置一些非常重要的超参数&#xff0c;例如批大小&#xff0c;还可以有效的识别训练中的瓶颈&#xff0c;比如CPU活动(通常是预处理图像)占…

HBase学习笔记——概念及原理

1.什么是HBase HBase – Hadoop Database&#xff0c;是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统&#xff0c;利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase利用Hadoop HDFS作为其文件存储系统&#xff0c;利用Hadoop MapReduce来处理HBas…

.bat是什么语言_简单说说当我们打开网页时,浏览器到底做了什么?

前言&#xff1a;为什么我们需要掌握浏览器的原理作为一名前端研发&#xff0c;平日里打交道最多的&#xff0c;就是各式各样的客户端。不论你是针对pc端还是移动端&#xff0c;甚至是专门在微信端做前端研发&#xff0c;都需要跟一样东西接触——浏览器。不知道你有没有留意过…

花书《深度学习》代码实现:02 概率部分:概率密度函数+期望+常见概率分布代码实现

1 概率 1.1 概率与随机变量 频率学派概率 (Frequentist Probability)&#xff1a;认为概率和事件发⽣的频率相关。贝叶斯学派概率 (Bayesian Probability)&#xff1a;认为概率是对某件事发⽣的确定程度&#xff0c;可以理解成是确信的程度。随机变量 (Random Variable)&…