為了兼容基于IQmath的程序的移植,本文給出了基于TMS320F2807x的IQmath的移植方法。
一.測試相關環境
測試相關的軟硬件環境如下表所列:
CCS Version |
7.2.0.00013 |
Compiler Version |
TI v16.9.3.LTS |
IQmath Version |
V1.6.0 |
測試芯片型號 |
TMS320F28075 |
您可以選擇任意示例工程,這里選擇的工程為 adc_soc_epwm_cpu01,它的工程文件的目錄為:
C:\ti\controlSUITE\device_support\F2807x\v210\F2807x_examples_Cpu1\adc_soc_epwm\cpu01
在CCS中import該工程后,右擊工程,選擇Properties,并打開Build Configuration下的Set Active,選擇CPU1_FLASH,使程序在flash下運行。
二. 工程修改步驟
1.在新的工程中添加IQmath庫文件,由于TMS320F2807x為浮點運算的芯片,所以選擇IQmath_fpu32.lib這個庫。
2.在新的工程中添加IQmath函數庫的頭文件IQmathLib.h,并在原有工程中添加以下語句:
#include "IQmathLib.h";
以上兩均添加好的工程的文件列表如下:
3.由于IQmathTables不再固化在芯片的ROM中,需要將這一部分的程序拷貝到FLASH中,則要修改CMD文件,增加了IQmath和IQmathTables的內存分配。這個CMD文件在TI官方的軟件包controlSUITE中已經提供,地址如下:
C:\ti\controlSUITE\device_support\F2807x\v210\F2807x_common\cmd
選擇2807x_FLASH_IQMATH_lnk_cpu1.cmd,
在FLASHB和FLASHC中專門給IQmath和IQmathTables分配了空間:
4.為了保持一個工程中僅有一個CMD文件,將工程中自帶的Flash_lnk.cmd刪除。
右鍵工程文件,選擇properties,在CCS Build下選擇C2000 Linker,刪除2807x_Generic_FLASH_lnk.cmd文件。
當然,您也可以選擇修改原有的CMD文件,只要在FLASH中給IQmath和IQmathTables分配足夠的空間即可。
5.移植完成以后,在程序中添加IQmath函數的測試代碼。
首先在main函數前增加IQ格式的變量定義:
_iq IQresult =_IQ(1.0);
_iq IQsource;
在main函數調用IQmath庫中的任意函數,這里我調用了IQsin()函數進行測試:
IQresult =_IQsin(IQsource);
通過實際debug,計算結果與預期相符。
三. TMS320F2807x Piccolo系列芯片在運算能力上的提升
1. 浮點運算單元FPU
FPU全稱Float Point Unit,即浮點運算單元,是專用于浮點運算的處理器。在大多數現在的通用計算機架構中,會在CPU中集成一個或多個浮點運算器,但許多嵌入式處理器沒有在硬件上支持浮點數運算。
TMS320F2807x Piccolo系列芯片使用C28x+FPU的架構,在原有的C28x定點CPU的基礎上加入了一些寄存器和指令,來支持IEEE 單精度浮點數的運算。對于在定點微處理器上編寫的程序,浮點C2000也完全兼容,不需要對程序做出改動。
下表給出了與定點處理器相比,浮點處理器在計算能力上的提升:
可見,與定點處理器相比,浮點處理器不但在程序編寫上更加簡潔,性能上也有了很大的提升,在進行除法,開方,FFT和IIR濾波等算法等指令中效率更高。
2. 三角函數運算單元TMU
與此同時,該系列芯片內部還集成了浮點三角函數運算單元TMU,它增強了C28-FPU的指令集。通過提供以單周期高效方式執行某些三角函數和算術函數的指令,減少了常見復雜函數運算的處理延遲,進一步提高了實時控制算法的性能。
帶有TMU單元和沒有TMU單元的CPU在一些常見函數的執行周期的對比情況如下表:
TMU可以對許多常用的實時控制算法有極大的優化,常見的有以下幾種:
1.Park和Inverse Park變換;
2.空間矢量控制;
3.dq0和Inverse dq0變換;
4.FFT幅度和相位計算。
以Park變換為例,使用FPU來執行,通常需要80到100多個周期來,而集成了TMU單元的CPU僅需13個指令周期即可完成,與沒有TMU相比,性能提高了85%。
因此,針對復雜且對實時控制要求高的控制算法中,相信集成了FPU和TMU的TMS320F2807x Piccolo系列芯片是您非常合適的選擇。
審核編輯:何安
-
嵌入式處理
+關注
關注
0文章
341瀏覽量
10012
發布評論請先 登錄
相關推薦
評論