嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

RX23T 逆变器套件 - 什么使您能够在运动控制算法中使用浮点运算?

159_8068e59a68f41e9bbbec1e18408545e48331a0dd.jpg

简介:
新微控制器系列 RX23T 和 RX24T 采用了新的 RX v2 内核,在运动控制领域提供高性能和成本的最佳平衡。对于 RX23T,最新的Benchmarks测试表明,该产品在 40MHz 工作频率下的性能达到 80DMIPs。对于 RX24T,该 MCU 在 80MHz 工作频率下的性能达到 160DMIPs。根据 EEMBC 认证评分,RX23T/24T 两款内核的基准测试结果均达到了 4.25 CoreMark/MHz。

有关更多详细信息,请参考官方网站:www.eembc.org/coremark/

此外,这几款 MCU 的工作电压为 5V,以确保提供最高的抗噪声能力,并且采用了一些关键硬件模块,例如浮点运算单元 (FPU)。FPU 将是本文讨论的主题,因为对于软件工程师而言,该运算单元不可或缺,它有助于提供最先进的软件,并且易于维护和测试。

为什么瑞萨电子在最新 RX23T/RX24T 系列中集成浮点运算单元?

过去几年,瑞萨电子的 RX62T/RX63T 大获成功,广泛应用于同步和异步电机的三相逆变器中。这些系列已集成了浮点运算单元。在此基础上,瑞萨电子决定改进整个 RX 内核,FPU 便是其中一项内容。

以下图表列出了 RX V2 内核的指令,其中带红框的是在 V1 基础上新增的指令。
247_4c62dc5c843b7e62df0bd2463cd4ed6086083e87.png

基于新增的三条 FPU 指令(详见下表)以及十四条 DSP 新指令,RX v2 内核可通过单个指令执行 32 位乘法实现更高的计算精确度。此外,还有特定的指令用于管理累加器和舍入处理,确保获得较高的整体性能。新的 RX v2 提供高达 2 DMIPs/MHz 的性能,而 RX v1 的性能仅为 1.65 DMIPs/MHz。

新增 RX v2 指令

功能

FSQRT

浮点开方

FTOU

浮点型至整型转换

UTOF

整型至浮点型转换


 通过对比同一微控制器 RX23T 上实现的三分流器无感矢量控制算法,片上 FPU 模块可将处理时间减少 27%,将 CPU 负载降低 28%,因而具有显著优势。

 

RX23T

性能
差异

CPU 时钟

40MHz,V2 内核

运算方式

定点

浮点

控制循环时间

51µs

40µs

27%

闪存使用量

26KB

20KB

30%

RAM 使用量

3KB

2KB

50%

CPU 负荷@16KHz PWM/控制环路

82%

64%

28%

 

以上测量是基于运行在RX23T 套件上的逆变软件,套件名是“YROTATE-IT-RX23T”。该套件软件包括以下模块:

  • 比例-积分电流控制器
  • 比例-积分速度控制器
  • 钳位脉冲宽度调制
  • Clarke 和 Park 变换
  • 磁链相位估算器
  • 速度估算
  • 三分流器电流采样

 我们免费提供用于Benchmarks测试的软件的完整源代码。

 此外,在很多运动控制应用中,最基本的就是对传感器信号与数据的滤波处理。

 瑞萨电子在不同的滤波操作中,对 RX V1 和 V2 版本进行了一些比较。

 344_7d7c70c765875583bde95e22db4ab7d5b0461916.png

 

您可从上图中看到,在使用快速傅立叶变换 (FFT)、无限脉冲响应 (IIR) 和矩阵乘法的各项滤波操作中,最新 RX v2 内核的速度至少增加一倍。该图表在与 RX V1 内核进行比较的基础上进行了标准化处理,数据表示与 RXv 1 内核的相对关系。此处未标明计时单位。

在二阶滤波器 (IIR Biquad) 中,在相同的时钟频率下,由于采用了新指令,RX v2 内核的速度是 RX v1 内核的三倍。

 到目前为止,我们已经阐述了嵌入浮点运算单元模块的原因及其在性能、代码大小和整体代码效率方面的效果。

 如何从定点运算过渡到浮点运算?
430_dbdfe74af916e7d1548e2ec0bcc17cbc38a577d6.png

第一步是评估驱动现有永磁电机的可用三相逆变器参考平台。使用基于 RX23T 的套件(例如 YROTATE-IT-RX23T),任何开发人员都能够快速确认浮点型变量的使用情况。

以下网站提供与 RX23T 套件相关的完整资料:www.renesas.eu/motorcontrol

 首先,我们来了解逆变器的嵌入式软件源代码。

 在逆变器算法中使用的常量具有很高的分辨率和精确度。

这意味着对扭矩和速度的控制是精确的。

 使的嵌入式软件的开发和维护变得更加简单。

 此外,在固件中使用的变量直接表示实际单位,例如安培、伏特、赫兹、韦伯和亨利等。

在微控器上,使用浮点型变量是表示实数的一种方式。
531_63456c135300840c89c73142b0db2e2a2d432d05.png

 

 使用浮点,所有三相逆变器系统物理量的内部表示都非常简单。无需对变量进行标准化或归一化。

 凭借这些优点,代码变得易于管理和阅读。电机模型可以轻松创建,而无需对每个固有值进行归一化。

 此外,我们再看一下如下所示的“磁链相位估算”模块。

623_4863c121eec7d2fb063ff42997600158994a3195.png

磁链相位估算方法的实现如下所示。三个主要低通滤波器的实现仅使用了三行代码和几个时钟周期。

 与定点运算相比,使用 FPU 将会显著降低错误和变量溢出的风险。

开发时间和测试过程也有所缩短。

724_d0bf4d056ea0ff7fba3f95ec27b9f6082e6c14c7.png

最后,三角函数使用了实数值,不使用表格等,因而它可以确保高精确度。下面提供了用于 Park 和 Clarke 变换的软件源代码。

每次变换最多使用两行代码,不使用表格来管理 Cos 和 Sin。与使用整型运算的任何实现相比,Cos 表格使用 256 个字节,Sin 表格和反正切函数也是如此。

最后一点,整个实施过程的代码大小显著减小,更易于维护。通过使用 Simulink、Scilab 或任何建模工具,使用浮点运算的输出模型可以直接重复应用于 RX23T 逆变器套件使用的 e2studio 项目。

822_efb05d440a95d4da34997fe1947f55e6bb38f27f.png

FPU 用于三相逆变器有哪些具体优点?

 使用 FPU 可以高效地实施无感矢量控制算法,因为可以快速执行控制环路和变换,从而加快整体转子位置的估算速度。

最后,FPU 保证了高动态算法,这种算法可在脉冲宽度调制频率下以相同速度运行。对于 RX23T,这种实施可以确保高效的控制,控制频率最高达到 22KHz(整个算法使用 40µs)。

这意味着,对于 22KHz 频率以下的每个 PWM 周期,控制算法可在很高负载变化下快速反应来调节扭矩和电流。

 在 RX23T 套件中,全套软件包将包括以下模块。

913_b3c61fc9248c2626567b1e58d90abb403a286041.png

通过将 RX 编译器优化级别设置为“Max”,可以达到以下所示的性能。

1012_90d99dbf436de6906659047c59d38bd7a35d6f5e.png

在 RX23T 上运行的软件消耗的资源非常有限:20KB 闪存和 2KB RAM,这意味着在具有 128KB 闪存的 RX23T 上,将有 108KB 的空闲空间可供应用程序使用。

 结论:

1125_af863e86e1343e9cd7f65744f459e31865def9d5.png

本文详细介绍了使用 RX23T 浮点运算单元可在多大程度上改进逆变器算法的性能。

整体代码有所减少,整个软件执行速度显著加快,因为不会发生归一化或饱和。此外,与整型相比,它提供更高的精确度,因为在嵌入式软件中使用了实际的物理单位。最后一点,FPU 可以保证 PI 控制器和估算器的计算速度更快。

Renesas China 还没写个人简介...
DesignSpark Electrical Logolinkedin