0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Microchip FPGA如何使用HLS C++提高电机控制应用的生产率

星星科技指导员 来源: microchip  作者: microchip  2023-04-23 09:19 次阅读

高级电机控制应用简介

当今的电机控制应用需要具有有限结果的多轴、多功能解决方案。考虑大型自动化工业制造单元中的机器人(循环执行任务)甚至是机器人辅助医疗手术 - 这些机器人需要具有确定性输出的所有方向的精确控制。同样,高端工业无人机需要稳定的陀螺仪和更高的机械可靠性,以及DSP的高速计算能力。在更关键的情况下,例如心室辅助装置等医疗植入物(以帮助心脏泵血更好),除了精度和确定性之外,鲁棒性和可靠性也是必不可少的,因为不能容忍故障。电动机还执行关键功能,例如航天器中的姿态控制,部署机构,运动和节气门控制。机翼致动器在较低速度下保持飞机的燃油效率,通常在起飞后或准备着陆时。这些应用需要在高真空、辐射和各种操作环境下实现长使用寿命、高可靠性和安全性。

始终需要降低系统成本 - 拥有将数字外设与处理器内核集成的单个网络、多协议硬件。

FPGA 在电机控制设计中的优势

ASIC相比,FPGA具有许多优势,最明显的是确定性、具有现场可重新配置性的并行计算。它们可以实现复杂的逻辑功能,支持多个系统实现和修订。

我们的FPGA的独特之处在于它们由基于闪存的非易失性存储器制成。这种即时启动技术使其功耗比竞争FPGA低30%至50%。它们提供抗辐射性和独特的安全功能,例如防止过度构建和克隆、设计 IP 保护、信任根、安全数据通信和防篡改功能。具体而言,在电机控制环境中,我们的FPGA通过提供低功耗、低抖动、低延迟、高精度、确定性和可扩展性,在解决现代电机控制应用面临的复杂挑战方面发挥着重要作用。

智能HLS提高生产力

使用 Verilog/VHDL 从头开始为 FPGA 设计新的基于硬件的电机控制器可能非常耗时。通常,工程师已经有一个用 C/C++ 设计的正常工作电机控制器。在这种情况下,理想的解决方案是自动将现有的C++软件代码转换为等效的硬件实现,针对Microchip PolarFire FPGA。智能高级综合(SmartHLS™)工具和集成开发环境使这变得容易,它可以将C++软件编译成针对Microchip FPGA的硬件块。高级综合允许您将C++作为输入并生成 Verilog 作为输出。通常,您将 HLS 将生成的顶级C++函数标记为等效的硬件 IP 核。您可以在顶级C++函数中描述您的算法。然后,使用 HLS 编译指示和 HLS 库C++描述标准硬件接口,如 AXI、AXI 流或内存接口。HLS 的一个引人注目的好处是,它为您提供了比 RTL 设计C++的显著抽象级别,并提高了硬件设计和验证时间的生产力。使用 HLS 进行架构探索,因为该工具可以轻松添加或删除流水线寄存器,以实现用户指定的目标频率。

pYYBAGREiKiAYsldAADrnQi53GM231.png


我们曾有一位客户使用 SmartHLS 将他们具有严格限制的高级电机控制设计迁移到我们的 FPGA。他们的主要目标是实现小于 3 us 的确定性延迟。此延迟是接收八个电机的编码器传感器和FPGA电机控制内核更新所有电机的电流输出之间的反馈时间。由于 DDR 和 PCIe 等外部 I/O 要求,客户还希望该设计以高于 200MHz 的时钟频率运行。他们还希望将设计安装在具有空闲空间的 PolarFire MPF500 设备上。

pYYBAGREiKyAOBvrAAC1Chr-79Q556.png


他们报告了他们的结果质量,并能够超越他们的设计目标。他们观察到周期延迟减少了50%,同时频率提高了以满足200 MHz的目标时钟频率。电机控制器的最终确定性延迟也减半至约2 μs。电机控制器的面积也缩小到适合300K LE PolarFire FPGA内部。

将原始C++电机控制器与改进的FPGA版本进行比较的实验表明,与Arm微控制器相比,基于FPGA的电机控制器在延迟方面具有2.5-6倍的加速,具体取决于微控制器和实时操作系统的抖动。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21748

    浏览量

    603791
  • 控制器
    +关注

    关注

    112

    文章

    16380

    浏览量

    178289
  • 电机
    +关注

    关注

    142

    文章

    9027

    浏览量

    145613
收藏 人收藏

    评论

    相关推荐

    阻碍PCB设计流程的生产率

    常年使用一种 EDA 工具显然可以提高效率,同时也会让您习惯于自己所用的 PCB 设计工具,接受该工具的所有优缺点。不过,随着当今技术的快速发展,我们需要考虑做出改变,继而引入最新的技术方法。本文经 PCB 设计杂志授权翻印,其中讨论了阻碍 PCB 设计流程的生产率问题。
    发表于 10-14 06:27

    【正点原子FPGA连载】第一章HLS简介-领航者ZYNQ之HLS 开发指南

    主要可以从“设计的重用”和“抽象层级的提升”这两个方面来考虑。Xilinx推出的Vivado HLS工具可以直接使用CC++或System C来对Xilinx系列的
    发表于 10-10 16:44

    优化上料组合、提高生产率

    优化上料组合、提高生产率 随着SIPLACE SiCluster Professional优化软件的面世,西门子电子装配系统有限公司(
    发表于 11-24 17:12 609次阅读

    Vivado HLS深入技术助于降低整体系统功耗,提高系统性能

    Vivado HLS有助于降低整体系统功耗,降低材料成本,提高系统性能并加快设计生产率。 我们将向您展示如何使用CC ++或System
    的头像 发表于 11-27 06:43 3688次阅读

    制造商可以使用自动机器视觉系统提高生产率

    华威大学(University of Warwick)的研究发现,快乐能使个人的工作效率提高12%。拥有一支快乐的员工队伍可能是提高生产率的第一步,但适当的工具和先进的技术将大大提高生产率,尤其是对工业制造商而言。本文解释了制造
    的头像 发表于 03-29 14:46 2345次阅读

    PADS VX版如何提高全流程的设计生产率

    参加本研讨会可了解 PADS VX 版如何提高全流程的设计生产率
    的头像 发表于 05-20 06:10 2412次阅读
     PADS VX版如何<b class='flag-5'>提高</b>全流程的设计<b class='flag-5'>生产率</b>

    简单易用的约束管理提高工作效率和生产率

    提高您的工作效率和生产率。在 PADS Standard 中使用简单易用的约束管理来创建和输入设计约束。
    的头像 发表于 05-17 06:22 1809次阅读
    简单易用的约束管理<b class='flag-5'>提高</b>工作效率和<b class='flag-5'>生产率</b>

    PADS为射频和微波设计提高生产率

    PADS 包括可为射频和微波设计提供消除手工操作、提高生产率的高级功能。
    的头像 发表于 05-15 06:16 2802次阅读
    PADS为射频和微波设计<b class='flag-5'>提高生产率</b>

    PADS高速布线提高设计生产率

    PADS 为高速网络布线提供了一个可扩展的环境,在该环境中可进行交互和自动两种模式。高速网络的规则,例如匹配长度、差分对等,非常容易设置。在布线过程中,您将得到针对关键和敏感网络的实时布线长度反馈。PADS 高速布线可成为提高您 PCB 设计生产率的“利器”。
    的头像 发表于 05-14 06:02 3592次阅读
    PADS高速布线<b class='flag-5'>提高</b>设计<b class='flag-5'>生产率</b>

    使用PCB公差提高生产率

    的公差范围内,则您的电路板可以达到最佳结果,并可以达到最佳良。在定义如何选择最佳的 PCB 公差之前,我们应明确定义缺陷以及哪种类型会影响我们 100 %生产率的目标。 公差如何影响生产率? 完全组装的 PCB 或 PCBA
    的头像 发表于 09-29 18:24 2258次阅读

    使用Infinity和InfinityXT探针提高生产率

    Infinity探头通过确保在铝垫上进行更好的测量,减少重新探测和测量数据中的误差,树立了新的标准。了解它如何提高工程师的生产率。 我们的设备表征和建模的理想选择InfinityProbe®系列产品
    的头像 发表于 07-15 14:19 1111次阅读

    使用网络实例比较FPGA RTL与HLS C/C++的区别

    HLSFPGA开发方法是只抽象出可以在C/C++环境中轻松表达的应用部分。通过使用Vivado(Xilinx)或Intel(Quartus)工具,
    发表于 08-02 09:18 1777次阅读
    使用网络实例比较<b class='flag-5'>FPGA</b> RTL与<b class='flag-5'>HLS</b> <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>的区别

    FPGA基础之HLS

    1、HLS简介 HLS(High-Level Synthesis)高层综合,就是将 C/C++的功能用 RTL 来实现,将 FPGA 的组件
    的头像 发表于 12-02 12:30 5391次阅读

    通过软件驱动的安全电机预测性维护提高生产率

    来收集设备数据并采用 高级分析和算法,可对 设备。因此,这种方法有望提高整体工业水平。 生产率提高 30% 以上。
    的头像 发表于 12-14 14:18 1036次阅读
    通过软件驱动的安全<b class='flag-5'>电机</b>预测性维护<b class='flag-5'>提高生产率</b>

    FPGA——HLS简介

    HLS  (high-level synthesis)称为高级综合, 它的主要功能是用 C/C++FPGA开发 算法。这将提升FPGA
    的头像 发表于 01-15 12:10 4999次阅读