0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于TMS320F2807x的IQmath的移植方法

電子設計 ? 來源:網(wǎng)友電子設計發(fā)布 ? 作者:網(wǎng)友電子設計發(fā)布 ? 2021-12-28 17:43 ? 次閱讀
由于TMS320F28x7x系列芯片內(nèi)部集成了TMU(Trigonometric Math Unit)專門用于加速常用的三角函數(shù)和算術運算的執(zhí)行,可以5個cycles以內(nèi)得到正弦/余弦/正切等運算結果,因此TMS320F28x7x系列芯片的ROM中不再固化IQmathTables和相關三角函數(shù)。同時,在新的設計中我們更推薦用戶使用TMU去處理三角函數(shù)運算。

為了兼容基于IQmath的程序的移植,本文給出了基于TMS320F2807x的IQmath的移植方法。

一.測試相關環(huán)境

測試相關的軟硬件環(huán)境如下表所列:

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函數(shù)庫的頭文件IQmathLib.h,并在原有工程中添加以下語句:

#include "IQmathLib.h";

以上兩均添加好的工程的文件列表如下:

3.由于IQmathTables不再固化在芯片的ROM中,需要將這一部分的程序拷貝到FLASH中,則要修改CMD文件,增加了IQmath和IQmathTables的內(nèi)存分配。這個CMD文件在TI官方的軟件包controlSUITE中已經(jīng)提供,地址如下:

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函數(shù)的測試代碼。

首先在main函數(shù)前增加IQ格式的變量定義:

_iq IQresult =_IQ(1.0);

_iq IQsource;

在main函數(shù)調(diào)用IQmath庫中的任意函數(shù),這里我調(diào)用了IQsin()函數(shù)進行測試:

IQresult =_IQsin(IQsource);

通過實際debug,計算結果與預期相符。

三. TMS320F2807x Piccolo系列芯片在運算能力上的提升

1. 浮點運算單元FPU

FPU全稱Float Point Unit,即浮點運算單元,是專用于浮點運算的處理器。在大多數(shù)現(xiàn)在的通用計算機架構中,會在CPU中集成一個或多個浮點運算器,但許多嵌入式處理器沒有在硬件上支持浮點數(shù)運算。

TMS320F2807x Piccolo系列芯片使用C28x+FPU的架構,在原有的C28x定點CPU的基礎上加入了一些寄存器和指令,來支持IEEE 單精度浮點數(shù)的運算。對于在定點微處理器上編寫的程序,浮點C2000也完全兼容,不需要對程序做出改動。

下表給出了與定點處理器相比,浮點處理器在計算能力上的提升:

可見,與定點處理器相比,浮點處理器不但在程序編寫上更加簡潔,性能上也有了很大的提升,在進行除法,開方,F(xiàn)FT和IIR濾波等算法等指令中效率更高。

2. 三角函數(shù)運算單元TMU

與此同時,該系列芯片內(nèi)部還集成了浮點三角函數(shù)運算單元TMU,它增強了C28-FPU的指令集。通過提供以單周期高效方式執(zhí)行某些三角函數(shù)和算術函數(shù)的指令,減少了常見復雜函數(shù)運算的處理延遲,進一步提高了實時控制算法的性能。

帶有TMU單元和沒有TMU單元的CPU在一些常見函數(shù)的執(zhí)行周期的對比情況如下表:

TMU可以對許多常用的實時控制算法有極大的優(yōu)化,常見的有以下幾種:

1.Park和Inverse Park變換;

2.空間矢量控制;

3.dq0和Inverse dq0變換;

4.FFT幅度和相位計算。

以Park變換為例,使用FPU來執(zhí)行,通常需要80到100多個周期來,而集成了TMU單元的CPU僅需13個指令周期即可完成,與沒有TMU相比,性能提高了85%。

因此,針對復雜且對實時控制要求高的控制算法中,相信集成了FPU和TMU的TMS320F2807x Piccolo系列芯片是您非常合適的選擇。

審核編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式處理
    +關注

    關注

    0

    文章

    341

    瀏覽量

    9984
收藏 人收藏

    評論

    相關推薦

    TMS320C621x/TMS320C671x EDMA架構

    電子發(fā)燒友網(wǎng)站提供《TMS320C621x/TMS320C671x EDMA架構.pdf》資料免費下載
    發(fā)表于 10-17 10:50 ?0次下載
    <b class='flag-5'>TMS320C621x</b>/<b class='flag-5'>TMS320C671x</b> EDMA架構

    TMS320F2810、TMS320F2811、TMS320F2812 ADC校準

    電子發(fā)燒友網(wǎng)站提供《TMS320F2810、TMS320F2811、TMS320F2812 ADC校準.pdf》資料免費下載
    發(fā)表于 10-17 10:33 ?0次下載
    <b class='flag-5'>TMS320F</b>2810、<b class='flag-5'>TMS320F</b>2811、<b class='flag-5'>TMS320F</b>2812 ADC校準

    TMS320C64x遷移到TMS320C64x+

    電子發(fā)燒友網(wǎng)站提供《從TMS320C64x遷移到TMS320C64x+.pdf》資料免費下載
    發(fā)表于 10-16 10:26 ?0次下載
    從<b class='flag-5'>TMS320C64x</b>遷移到<b class='flag-5'>TMS320C64x</b>+

    TMS320DM35x遷移到TMS320DM36x器件

    電子發(fā)燒友網(wǎng)站提供《從TMS320DM35x遷移到TMS320DM36x器件.pdf》資料免費下載
    發(fā)表于 10-15 11:50 ?0次下載
    從<b class='flag-5'>TMS320DM35x</b>遷移到<b class='flag-5'>TMS320DM36x</b>器件

    TMS320C64x+和TMS320C674x的檢錯糾錯機制

    電子發(fā)燒友網(wǎng)站提供《TMS320C64x+和TMS320C674x的檢錯糾錯機制.pdf》資料免費下載
    發(fā)表于 10-12 11:27 ?0次下載
    <b class='flag-5'>TMS320C64x</b>+和<b class='flag-5'>TMS320C674x</b>的檢錯糾錯機制

    TMS320F28xx和TMS320F28xxx DSP電源參考設計

    電子發(fā)燒友網(wǎng)站提供《TMS320F28xx和TMS320F28xxx DSP電源參考設計.pdf》資料免費下載
    發(fā)表于 10-10 09:53 ?0次下載
    <b class='flag-5'>TMS320F</b>28xx和<b class='flag-5'>TMS320F</b>28xxx DSP電源參考設計

    TMS320F28xx和TMS320F28xxx DSC硬件設計指南

    電子發(fā)燒友網(wǎng)站提供《TMS320F28xx和TMS320F28xxx DSC硬件設計指南.pdf》資料免費下載
    發(fā)表于 09-19 10:59 ?0次下載
    <b class='flag-5'>TMS320F</b>28xx和<b class='flag-5'>TMS320F</b>28xxx DSC硬件設計指南

    TMS320F2837xTMS320F2838x之間的移植應用說明

    電子發(fā)燒友網(wǎng)站提供《TMS320F2837xTMS320F2838x之間的移植應用說明.pdf》資料免費下載
    發(fā)表于 09-14 09:58 ?1次下載
    <b class='flag-5'>TMS320F2837x</b>與<b class='flag-5'>TMS320F2838x</b>之間的<b class='flag-5'>移植</b>應用說明

    TMS320F28x引導特性和配置

    電子發(fā)燒友網(wǎng)站提供《TMS320F28x引導特性和配置.pdf》資料免費下載
    發(fā)表于 09-04 10:57 ?0次下載
    <b class='flag-5'>TMS320F28x</b>引導特性和配置

    TMS320F2833x/2823xTMS320F2837xD/2837xS/2807x的遷移概述

    電子發(fā)燒友網(wǎng)站提供《TMS320F2833x/2823xTMS320F2837xD/2837xS/2807x的遷移概述.pdf》資料免費下載
    發(fā)表于 09-04 10:52 ?0次下載
    <b class='flag-5'>TMS320F2833x</b>/2823<b class='flag-5'>x</b>至<b class='flag-5'>TMS320F</b>2837xD/2837xS/<b class='flag-5'>2807x</b>的遷移概述

    TMS320F2833x、TMS320F2823x數(shù)字信號控制器(DSC)TMS320C2834x Delfino微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMS320F2833xTMS320F2823x數(shù)字信號控制器(DSC)TMS320C2834x Delfino微控制器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-03 11:14 ?0次下載
    <b class='flag-5'>TMS320F2833x</b>、<b class='flag-5'>TMS320F2823x</b>數(shù)字信號控制器(DSC)<b class='flag-5'>TMS320C2834x</b> Delfino微控制器數(shù)據(jù)表

    TMS320F280x、TMS320C280x、TMS320F2801x數(shù)字信號處理器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMS320F280xTMS320C280x、TMS320F2801x數(shù)字信號處理器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-03 09:34 ?0次下載
    <b class='flag-5'>TMS320F280x</b>、<b class='flag-5'>TMS320C280x</b>、<b class='flag-5'>TMS320F2801x</b>數(shù)字信號處理器數(shù)據(jù)表

    TMS320F280x、TMS320C280x、TMS320F2801x數(shù)字信號處理器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMS320F280x、TMS320C280xTMS320F2801x數(shù)字信號處理器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-03 09:28 ?0次下載
    <b class='flag-5'>TMS320F280x</b>、<b class='flag-5'>TMS320C280x</b>、<b class='flag-5'>TMS320F2801x</b>數(shù)字信號處理器數(shù)據(jù)表

    TMS320F2833xTMS320F2823x實時微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMS320F2833x、TMS320F2823x實時微控制器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-31 10:11 ?0次下載
    <b class='flag-5'>TMS320F2833x</b>、<b class='flag-5'>TMS320F2823x</b>實時微控制器數(shù)據(jù)表

    TMS320F2807x微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMS320F2807x微控制器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-31 09:18 ?0次下載
    <b class='flag-5'>TMS320F2807x</b>微控制器數(shù)據(jù)表