单芯片控制多个高性能伺服电机

在我上学的时候,STM32+FPGA的架构是论文或者研究的一个热点。直到Xilinx的ZYNQ和Altera的Cyclone V 出现大家才把研究的重点放到ZYNQ上,但是ZYNQ等架构成本较高及PS或者HPS端通常需要DDR,板子较大,同样的功耗也不低。从这几方面来说,ZYNQ等架构不是为了替代STM32+FPGA的架构,所以这种架构目前还是有自己的应用场景,比如工控领域,今天我们就聊聊伺服电机控制方案。

目前电机控制是MCU常用应用,下图就是其实现的方案:

但是在一些高精度的情境下,MCU也有自己的局限性,即使是高端 MCU 也难以满足全部功能。按顺序执行线程指令是 MCU 的固有特性;但电机控制需要实时确定性地控制电机位置/速度和电机电流。因此,低端 MCU 通常只能控制单个伺服电机。

对于需要控制多个伺服电机的应用,FPGA 可以提供更合适的硬件环境,因为它能够并行执行两个或多个时间关键型功能。

然而,FPGA 市场上的商业选择过去曾使设计人员陷入困境:在实施要求严格的电机系统设计时,OEM 倾向于单芯片解决方案,但可以同时运行位置、速度和电流控制程序的 FPGA 属于高密度端,而这些高端 FPGA 既庞大又昂贵。

在多电机设计中,单个MCU性能不足,而单个高端FPGA性能足够,但成本较高。

然而,目前国产FPGA的崛起,为该领域带来了新鲜"血液",为设计师提供了一种解决问题的方法,即实现一种经济实惠的单芯片解决方案来解决控制多个伺服电机的问题。

将 MCU 引入 FPGA 的各种方法

由于基于高端 FPGA 实现单芯片电机控制系统的成本较高,设计人员通常采用双芯片方案(即XX32+FPGA),将 MCU 与小型、低密度、价格实惠的 FPGA 相结合。在这种架构中(见图 1),MCU 通常处理位置和速度控制功能,而 FPGA 管理电流控制环路和与电机位置传感器(编码器、霍尔传感器或光学位置传感器)的接口。
图 1:用于高性能电机控制的典型双芯片架构

这种双芯片解决方案提供了确定性控制,但与同等的单芯片解决方案相比,其电路板布局更为困难,供应链更为复杂,物料清单成本也更高。

低端和中端 FPGA 制造商已通过将 MCU 引入其产品来应对这一困境(尤其国产FPGA厂商),通常采用内置于 FPGA 中的 Arm® Cortex®-M MCU IP 形式(M0和M3内核已开源)。在某些应用中,提供在 FPGA 结构中实现的 MCU 内核可能非常有用,但对于电机控制,这种软核 MCU 难以提供所需的确定性性能和时序。在软核 MCU 实现中,控制环路的更新速率通常会降低,从而限制了这种单 FPGA 解决方案保持可靠和平稳性能的能力。

新型混合单芯片电机解决方案

为了解决软核的缺陷,低密度FPGA厂商也积极创新,今天介绍一款来自高云半导体的芯片-GW5AS25。该芯片结合了 288MHz Arm Cortex-M4 的 MCU(来自 Artery 的 AT32F437)和包含 23,040 个逻辑元件的 Arora-V FPGA,这些逻辑元件封装在一个 256 针芯片中,尺寸为 14mm x 14mm。该 FPGA 采用低功耗台积电 22nm 工艺制造。芯片手册:

https://cdn.gowinsemi.com.cn/DS1105-1.0_GW5AS系列FPGA产品数据手册.pdf

GW5AS25 的系统级封装 (SiP) 配置允许电机系统设计人员在执行位置/速度控制的 MCU 和运行一个或两个电机的电流控制环路的 FPGA 之间划分系统功能(见图 2)。
图 2:单芯片多电机控制

如图 2 所示,该解决方案提供了足够的控制环路带宽来管理两个高速运行的电机,同时避免了使用高端 FPGA 执行相同功能而产生的高成本和尺寸损失。

这款硬核 MCU 和 FPGA SiP 不仅为高速电机控制提供了硬件平台,还获得了有助于加速单或双永磁同步电机 (PMSM) 设计的资源支持。这些资源包括:

  • 用于实现各种形式的电流环路控制的参考设计 IP。设计人员可利用此 IP 实现超过 20kHz 的 PWM 开关频率。

  • 内置支持通过工业以太网接口进行高速实时通信

此外,编码器制造商还为其产品接口提供 VHDL 和 Verilog 代码,从而简化了它们与基于 FPGA 的控制系统的集成。

总结

目前,国产FPGA厂商除了要规避传统FPGA厂商的专利壁垒,还能在各个领域不断创新,属实不容易,当然今天只是举例一款芯片,其他国内厂商应该也有类似产品,欢迎大家评论区补充~

相关推荐
szxinmai主板定制专家25 分钟前
面向虚拟电厂协调控制:RK3588+FPGA+AI边缘控制器设计思路与算力评估
人工智能·嵌入式硬件·fpga开发·机器人·jetson·zynq·振动采集
XMAIPC_Robot3 小时前
国产FPGA替代Xilinx在储能电力采集场景可行性评估与移植经验
人工智能·算法·机器学习·fpga开发·rk3588+fpga
星夜离尘564 小时前
Testbench不只看波形:用scoreboard抓住丢包、重复和乱序
fpga开发·verilog·testbench·scoreboard
狂奔蜗牛(bradley)4 小时前
EtherCAT 主站拓扑判定的三级防护:从去抖到振荡检测
人工智能·嵌入式硬件·fpga开发·架构
XMAIPC_Robot4 小时前
工商业储能EMS边缘计算:本地AI负荷预测,彻底摆脱云端依赖
人工智能·fpga开发·机器人·边缘计算·arm+fpga·rk3588+fpga
XMAIPC_Robot4 小时前
FPGA+ARM联合调试避坑:储能电力采样数据同步、丢包问题定位与根治方案,应用于储能EMS、微网控制器中
arm开发·人工智能·fpga开发·rk3588+fpga·rk3576+fpga
星夜离尘565 小时前
FIFO深度怎么定?用突发流量和背压算清缓存预算
缓存·fpga开发·verilog·fifo·背压
一口一口吃成大V1 天前
Fpga中常用器件
fpga开发
Riwuarua1 天前
从近似0基础开始FPGA开发——Part.23:AXI/AXIS 数据搬运、DMA 与 DDR 缓存架构设计
缓存·fpga开发
Jason_zhao_MR1 天前
电力数据采集核心板选型指南
linux·嵌入式硬件·fpga开发·嵌入式