fpu测试_浮点运算单元FPU能给电机控制带来什么?
編者按:在計算領域,例如三角函數以及時域頻域變換通常會用到浮點運算。當CPU執行一個需要浮點數運算的程序時,有三種方式可以執行:軟件仿真器(浮點運算函數庫)、附加浮點運算器和集成浮點運算單元。在控制應用中會有很多的坐標變換,PID運算,估算器等,浮點運算單元可以提高運算的效率和精度。過去這幾年,越來越多的MCU集成了硬件的浮點運算單元,比如TI的DSP/CLA,ARM的Cortex-M4F內核等。
下面這篇文章是瑞薩的RX V2內核中集成FPU的說明,有針對電機控制常用數學運算的對比數據,也系統闡述了FPU能夠給三相逆變這個應用帶來的好處。
過去幾年,瑞薩電子的 RX62T/RX63T 大獲成功,廣泛應用于同步和異步電機的三相逆變器中。這些系列已集成了浮點運算單元。在此基礎上,瑞薩電子決定改進整個 RX 內核,FPU 便是其中一項內容。
以下圖表列出了 RX V2 內核的指令,其中帶紅框的是在 V1 基礎上新增的指令。
基于新增的三條 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 版本進行了一些比較。
?
您可從上圖中看到,在使用快速傅立葉變換 (FFT)、無限脈沖響應 (IIR) 和矩陣乘法的各項濾波操作中,最新 RX v2 內核的速度至少增加一倍。該圖表在與 RX V1 內核進行比較的基礎上進行了標準化處理,數據表示與 RXv 1 內核的相對關系。此處未標明計時單位。
在二階濾波器 (IIR Biquad) 中,在相同的時鐘頻率下,由于采用了新指令,RX v2 內核的速度是 RX v1 內核的三倍。
?到目前為止,我們已經闡述了嵌入浮點運算單元模塊的原因及其在性能、代碼大小和整體代碼效率方面的效果。
?如何從定點運算過渡到浮點運算?
第一步是評估驅動現有永磁電機的可用三相逆變器參考平臺。使用基于 RX23T 的套件(例如 YROTATE-IT-RX23T),任何開發人員都能夠快速確認浮點型變量的使用情況。
以下網站提供與 RX23T 套件相關的完整資料:www.renesas.eu/motorcontrol
?首先,我們來了解逆變器的嵌入式軟件源代碼。
?在逆變器算法中使用的常量具有很高的分辨率和精確度。
這意味著對扭矩和速度的控制是精確的。
?使的嵌入式軟件的開發和維護變得更加簡單。
?此外,在固件中使用的變量直接表示實際單位,例如安培、伏特、赫茲、韋伯和亨利等。
在微控器上,使用浮點型變量是表示實數的一種方式。
?使用浮點,所有三相逆變器系統物理量的內部表示都非常簡單。無需對變量進行標準化或歸一化。
?憑借這些優點,代碼變得易于管理和閱讀。電機模型可以輕松創建,而無需對每個固有值進行歸一化。
?此外,我們再看一下如下所示的“磁鏈相位估算”模塊。
磁鏈相位估算方法的實現如下所示。三個主要低通濾波器的實現僅使用了三行代碼和幾個時鐘周期。
?與定點運算相比,使用 FPU 將會顯著降低錯誤和變量溢出的風險。
開發時間和測試過程也有所縮短。
最后,三角函數使用了實數值,不使用表格等,因而它可以確保高精確度。下面提供了用于 Park 和 Clarke 變換的軟件源代碼。
每次變換最多使用兩行代碼,不使用表格來管理 Cos 和 Sin。與使用整型運算的任何實現相比,Cos 表格使用 256 個字節,Sin 表格和反正切函數也是如此。
最后一點,整個實施過程的代碼大小顯著減小,更易于維護。通過使用 Simulink、Scilab 或任何建模工具,使用浮點運算的輸出模型可以直接重復應用于 RX23T 逆變器套件使用的 e2studio 項目。
將 FPU 用于三相逆變器有哪些具體優點?
?使用 FPU 可以高效地實施無感矢量控制算法,因為可以快速執行控制環路和變換,從而加快整體轉子位置的估算速度。
最后,FPU 保證了高動態算法,這種算法可在脈沖寬度調制頻率下以相同速度運行。對于 RX23T,這種實施可以確保高效的控制,控制頻率最高達到 22KHz(整個算法使用 40μs)。
這意味著,對于 22KHz 頻率以下的每個 PWM 周期,控制算法可在很高負載變化下快速反應來調節扭矩和電流。
?在 RX23T 套件中,全套軟件包將包括以下模塊。
通過將 RX 編譯器優化級別設置為“Max”,可以達到以下所示的性能。
在 RX23T 上運行的軟件消耗的資源非常有限:20KB 閃存和 2KB RAM,這意味著在具有 128KB 閃存的 RX23T 上,將有 108KB 的空閑空間可供應用程序使用。
?結論:
本文詳細介紹了使用 RX23T 浮點運算單元可在多大程度上改進逆變器算法的性能。
整體代碼有所減少,整個軟件執行速度顯著加快,因為不會發生歸一化或飽和。此外,與整型相比,它提供更高的精確度,因為在嵌入式軟件中使用了實際的物理單位。最后一點,FPU 可以保證 PI 控制器和估算器的計算速度更快。
免責聲明:本文部分內容來自網絡,版權歸原作者所有,如涉及作品版權問題,請與我聯系刪除。
如何配置C2000進入低功耗模式
使用CCS連接正在運行的C2000芯片
CCS奇怪現象如何解決
TMU介紹及使用方法
三相電機控制方式入門,看完這一篇就夠了
TI eSMO 庫 Fsmopos 和 Gsmopos 參數解析
增量式旋轉編碼器工作原理
總結
以上是生活随笔為你收集整理的fpu测试_浮点运算单元FPU能给电机控制带来什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【考研英语语法】被动语态练习题
- 下一篇: 2018 新一代人工智能院士高峰论坛 总