• 引言

随着电力电子控制技术的发展,控制算法规模愈加庞大,实时性要求需求越来越大,如何能够在要求的采样时间Tsa内完成控制全部算法的运算称为一个令电力电子领域的工程师和学者关注的问题。FPGA被应用到电力电子控制领域中因为以下两个原因:

1.1FPGA在电力电子中的优势

1.1.1更快的运算速度

DSP因为其价格的相对低廉和开发方式相对成熟,成为了大多电力电子控制技术实践的硬件基础。但是,随着先进控制算法演变地更加复杂以及模型预测算法(MPC)的进一步推广应用,普通DSP难以进一步满足创新性算法的落地。

FPGA的计算依赖内部的硬件资源。使用的硬件资源越多,计算的时间就越少;反之亦然。该特性使得FPGA能够通过大量硬件资源的使用极大地减少所需要的计算时间,增加了算法计算的灵活性。

同时FPGA可以利用流水线结构(pipeline)和并行计算的方式进一步加快算法运算速度。流水线结构对MPC算法的使用很有指导意义,但是并行计算貌似更适用于图像处理相关。

1.1.2灵活的多路IO设置

DSP的IO口数目较少,且功能在被设计出来的时候就已经被定义了,通过多路复用的方式来进行灵活的运用。

FPGA的IO口则由用户自主定义。

Eg. DSP28335只拥有12路IO可以作为PWM输出。而FPGA的每个IO都可以作为PWM输出,这是由用户决定的。

Eg. DSP28335某些IO组合可以作为SPI输出。而FPGA的任意组IO都可以作为SPI输出,这是由用户决定的。

所以现在存在很多DSP+FPGA的运用,FPGA作为DSP的外设通过通讯的方式联系到一起,而FPGA则被用来扩至IO口的数量。但是FPGA本身就能够完成计算过程,为什么不用FPGA直接完成DSP的运算任务呢?调试通讯的过程也不是什么简单的活。

1.2FPGA开发的痛点

1.2.1开发难度

DSP的开发简单,依托C语言配置寄存器相关;依托Simulink相关工具箱。

FPGA开发相对复杂,依托Verilog语言(或者VHDL,我不会国内好像用的也不多)。这是一种与C完全不同的语言形式,属于硬件描述语言。

我本人依托的工具是Vivado和ISE。下载软件可以找“芯王国”公众号,软件大小60多个G,教程公众号里面也有。学习Verilog语言可以学习夏宇闻《Verilog数字系统设计教程》,拥有数字电路技术基础的你很快就能上手。

1.2.2定点计算

电力电子控制算法往往要求实时的“加减乘”,“除”作为一种费事和费时的运算,往往尽量规避。

Verilog语言中虽然也存在“加减乘除”,但那是定点的“加减乘除”,有些处理是违背数学逻辑的。跟我们更加熟悉的方式是浮点数计算。

浮点数计算在实际应用中会消耗大量的FPGA资源。本文会在之后提供两种思路:

  1. 使用System generator工具。先将double精度的模型在Simulink中测试运行,再转化成定点数下的模型(可接受精度范围内),打包成IP核心,运用到FPGA中。
  2. 使用HLS工具。先将double精度的模型在C语言中测试运行,再转化成定点数下的模型(可接受精度范围内),打包成IP核心,运用到FPGA中。

1.3结语

本报告的目标就是讲述笔者在研究生阶段,如何配置一块FPGA独立完成数字控制技术中的“采样,计算,输出PWM”过程。

FPGA作为电力电子设备控制器的实践相关推荐

  1. 基于FPGA的XPT2046触摸控制器设计

    基于FPGA的XPT2046触摸控制器设计 小梅哥编写,未经许可,文章内容和所涉及代码不得用于其他商业销售的板卡 本实例所涉及代码均可通过向 xiaomeige_fpga@foxmail.com  发 ...

  2. 基于FPGA的SPI FLASH控制器设计

    1.SPI FLASH的基本特征 本文实现用FPGA来设计SPI FLASH,FLASH型号为W25Q128BV.支持3种通信方式,SPI.Dual SPI和Quad SPI.FLASH的存储单元无法 ...

  3. (20)Zynq FPGA Quad-SPI闪存控制器介绍

    1.1 Zynq FPGA Quad-SPI闪存控制器介绍 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Zynq FPGA Quad-SPI闪存控制器介绍: 5)结束 ...

  4. 基于FPGA的CAN总线控制器的设计(下)

    今天给大侠带来基于FPGA的CAN总线控制器的设计,由于篇幅较长,分三篇.今天带来第三篇,下篇,程序的仿真与测试以及总结.话不多说,上货. 导读 CAN 总线(Controller Area Netw ...

  5. 基于FPGA的USB接口控制器设计(VHDL)(中)

    今天给大侠带来基于 FPGA 的 USB 接口控制器设计(VHDL),由于篇幅较长,分三篇.今天带来第二篇,中篇,USB通信原理.USB 系统开发以及设计实例.话不多说,上货. 之前有关于 Veril ...

  6. 基于OMAPL138 + FPGA嵌入式喷涂机器人控制器的设计

    喷涂是现今许多行业中喷涂是现今许多行业中应用最普遍的一种涂装方式,随着越来越多的行业对计算机数字控制技术的发展,使得现代喷涂作业中机器人喷涂已经越来越成为一种趋势.国外机器人喷涂技术较为成熟,其研究工 ...

  7. 基于FPGA的CAN总线控制器的设计(上)

    今天给大侠带来基于FPGA的CAN总线控制器的设计,由于篇幅较长,分三篇.今天带来第一篇,上篇,CAN 总线协议解析以及 CAN 通信控制器程序基本框架.话不多说,上货. 导读 CAN 总线(Cont ...

  8. 基于FPGA的USB接口控制器设计(VHDL)(上)

    今天给大侠带来基于 FPGA 的 USB 接口控制器设计(VHDL),由于篇幅较长,分三篇.今天带来第一篇,上篇,USB 接口简介 以及 USB 体系结构.话不多说,上货. 之前有关于 Verilio ...

  9. 【工程源码】基于FPGA的XPT2046触摸控制器设计

    本文和设计代码由FPGA爱好者小梅哥编写,未经作者许可,本文仅允许网络论坛复制转载,且转载时请标明原作者. XPT2046是一款设计用于移动电话.个人数字助理.便携式一起.付款中断设备.触摸屏显示器等 ...

  10. 基于fpga的计算机组成原理,清华大学出版社-图书详情-《基于FPGA与Verilog的计算机组成原理实践》...

    计算机组成原理是计算机专业的核心课程,也是一门实践性很强的专业基础课.课程内容不仅包含计算机原理等理论知识,而且包含计算机设计等实践知识.因此,实践是"计算机组成原理"课程重要的组 ...

最新文章

  1. oracle 创建 触发,Oracle 创建触发器
  2. ICO的“金三角”与区块链的“新大陆”
  3. 92.芯片组 93.北桥 94.南桥
  4. 如何解决:Android中 Error generating final archive: Debug Certificate expired on 10/09/18 16:30 的错误...
  5. Java -- 内部类(一)
  6. SUSE Linux 维护笔记一
  7. 关闭运动轨迹_网球初学者如何正确入门网球运动,有哪些学习细节
  8. 漫画:程序员每天的6场战斗
  9. NuGet程序包安装SQLite后完全抽离出SQLite之入门介绍及注意事项,你真的懂了吗?...
  10. lsof 功能使用详解
  11. 整蛊系列——使小伙伴的电脑自动关机
  12. Box2D引擎实现割绳子物理部分的方法
  13. 排水管网信息系统、市政排水管网信息化智慧化管理
  14. CANOpen协议详解(一):CANfestival源码分析
  15. 『Linux』CentOS 7下一些有趣的配置
  16. 【压缩感知合集5】压缩感知简介和数学模型分析
  17. 大多数人对职场“为人处世”存在困惑
  18. 商业 v. s. 自由 ——W*ndows v. s. 现代UNIX
  19. 2017 Multi-University Training Contest 1 solutions BY 北京航空航天大学
  20. Brooks法则:“向进度落后的项目中增加人手只会使进度更加落后”

热门文章

  1. 从JPG和JPEG图片获取压缩比详细教程
  2. gan处理自己的数据集_数据集难找?GAN生成你想要的数据!!!
  3. OutMan——Objective-C内存管理
  4. “阀值”与“阈值”的区别
  5. 顺利通过2021年上工信部的网络工程师考试,在此感悟一下
  6. e480win7显卡驱动_e480安装了windows7显卡驱动装不上
  7. java spi 热插拔_利用SPI机制实现责任链模式中的处理类热插拔
  8. 重磅消息集中来袭 A股再现“独立行情”?
  9. 求刷百度相关词的方法
  10. Python爬虫入门教程【7】: 蜂鸟网图片爬取之二