久久精品人妻一区二区蜜桃-欧美精品人妻一区二区免费视频-久久精品免费一区二区喷潮-久久精品中文闷骚内射-精品bbw-精品久久无码中文字幕-小小水蜜桃3视频高清在线观看-日韩免费一级aaa片毛太久-欧美激情肉欲高潮无码鲁大师-欧美影片一区二区三区-亚洲精品无码av无码专区一本,波多野吉衣一区二区三区在线观看,囯精品人妻无码一区二区三区99,包哟哟在线观看免费观看

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數據分類:
FFC連接器

在TMS320F28x7x中使用IQmath

發布日期:2022-04-28 點擊率:39

Other Parts Discussed in Post: TMS320F28075, CONTROLSUITE

作者:Emma Wang 華北區工程師

引言

由于TMS320F28x7x系列芯片內部集成了TMU(Trigonometric Math Unit)專門用于加速常用的三角函數和算術運算的執行,可以5個cycles以內得到正弦/余弦/正切等運算結果,因此TMS320F28x7x系列芯片的ROM中不再固化IQmathTables和相關三角函數。同時,在新的設計中我們更推薦用戶使用TMU去處理三角函數運算。

為了兼容基于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: icontrolSUITEdevice_supportF2807xv210F2807x_examples_Cpu1adc_soc_epwmcpu01

在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: icontrolSUITEdevice_supportF2807xv210F2807x_commoncmd

選擇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系列芯片是您非常合適的選擇。

 

References

[1].IQmath_Quickstart. (SPRC990)

[2].Accelerators: Enhancing the Capabilities of the C2000? MCU Family. (SPRY288A)

 

下一篇: PLC、DCS、FCS三大控

上一篇: 有效降低傳導輻射干擾

推薦產品

更多