MPC5777C AMMCLIB 使用教學

1.  概述

1.1     功能描述

本範例將使用 S32DS 添加 NXP 車用馬達 / 數學程式庫 AMMCLIB,並示範如何在城市中使用 AMMCLIB。

1.2     硬體工具

MPC5777C-DEVB 評估板

PEmicro Multilink Universal 燒錄器

1.3     軟體工具

S32 Design Studio IDE for Power Architecture , 版本 2017.R1 , Build id: 171018

AMMCLIB , 版本 1.1.15

1.4     相關範例程式

..\MPC5777C_AMMCLIB.zip


 

2.  AMMCLIB 簡介

2.1     概述

AMMCLIB 全稱為 Automotive Math and Motor Control Library Set,是用於實現電機控制或運算的現成程式庫,具有可量產,高度優化的優點,提供快速的程式開發,支援 16-bit定點、32-bit定點與單精度浮點數的小數運算。

2.2     MLIB

MLIB 包含了多種不同功能的加減乘除、絕對值、乘法累加、負數、四捨五入……等等,一共數十種基礎數學運算函式。

2.3     GFLIB

提供了特殊的數學函數 ( Limit、Integrator、Log、平方 ……)、三角函數、基礎控制器 ( PI、PID、Hysteresis、Ramp ……)等等,一共數十種運算函數。

2.4     GMCLIB

空間矢量調變,轉換和電機控制的特定功能。

2.5     GDFLIB

各種數位濾波器 ( FIR、IIR、Moving Average ……) 可以提供信號處理使用。

2.6     AMCLIB

Sensor-less 電機使用的 BEMF 觀測器、PMSM 弱磁控制的控制器等等特定應用的 Library。


 

3.  AMMCLIB 文檔

3.1     說明文檔

使用 S32DS PA 的 AMMCLIB 說明文件標準位置為

"(S32DS 安裝路徑)" \AMMCLIB_ "(Library 版本)" \ "(MCU 名稱)"_AMMCLIB_ "(Library 版本)" \doc

以預設安裝路徑的 MPC5777C AMMCLIB v 1.1.15為例,路徑如下:

C:\NXP\S32DS_Power_v2017.R1\S32DS\AMMCLIB_1.1.15\MPC577xC_AMMCLIB_v1.1.15\doc

 

3.2     模擬模型 ( bam 格式 )

以預設安裝路徑的 MPC5777C AMMCLIB v 1.1.15為例,路徑如下:

C:\NXP\S32DS_Power_v2017.R1\S32DS\AMMCLIB_1.1.15\MPC577xC_AMMCLIB_v1.1.15\bam

3.3     Header 檔案

以預設安裝路徑的 MPC5777C AMMCLIB v 1.1.15為例,路徑如下:

C:\NXP\S32DS_Power_v2017.R1\S32DS\AMMCLIB_1.1.15\MPC577xC_AMMCLIB_v1.1.15\include

3.4     SWLIBS_Config.h 檔案

在使用 AMMCLIB 以前,必須要針對數學的運算進行設置。

資料夾中存有樣板檔案,當 AMMCLIB 被添加到專案時會複製到專案的 include 資料夾中。以預設安裝路徑的 MPC5777C AMMCLIB v 1.1.15為例,路徑如下:

C:\NXP\S32DS_Power_v2017.R1\S32DS\AMMCLIB_1.1.15\MPC577xC_AMMCLIB_v1.1.15\SWLIBS_Config

 


 

4.  為專案添加 AMMCLIB

4.1     添加 AMMCLIB 到專案中

  • 選取 Project -> Properties
  • 選取
    C/C++ Build -> Settings -> Target Processor -> generate SPE SIMD instructions
  • 選取 SDKs -> MPC577xC_AMMCLIB_s32ds 1.1.15 -> Attach/Detach
  • 點擊圖中  的位置,在出現  符號後按 OK
  • OK 設置並關閉專案選項頁面

4.2     透過 SWLIBS_Config.h 設置 AMMCLIB

  • 在專案資料夾 Include 下找到檔案,雙擊打開。
  • 設置16-bit、32-bit 定點小數運算或浮點運算 (FLT) 的支援

    SWLIBS_STD_ON 為啟用,SWLIBS_STD_OFF 為關閉。
  • 設置預設的支援
    此處要輸入欲設置為預設值的選項,範例如下:

4.3     AMMCLIB 使用範例

使用前需要先 #include 相應的 header 檔案,各 Library 的 header 如下:

  • MLIB : mlib.h
  • GFLIB : gflib.h
  • GMCLIB : gmclib.h
  • GDFLIB : gdflib.h
  • AMCLIB : amclib.h

完成 include 動作後便可以呼叫 header 中的函數使用。

 

#include “mlib.h”

 

int main(void)

{

    tFrac16 a = FRAC16(0.125);

    tFrac16 b = FRAC16(0.25);

    a = MLIB_Add_F16(a,b);

    b = MLIB_Div_F16(a,b);

}

 

5.  參考資料

技術文檔

類型標題檔案
軟件Software

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能