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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

基于TMS320F2807x的IQmath的移植方法

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

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

一.測(cè)試相關(guān)環(huán)境

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

CCS Version

7.2.0.00013

Compiler Version

TI v16.9.3.LTS

IQmath Version

V1.6.0

測(cè)試芯片型號(hào)

TMS320F28075

您可以選擇任意示例工程,這里選擇的工程為 adc_soc_epwm_cpu01,它的工程文件的目錄為:

C:\ti\controlSUITE\device_support\F2807x\v210\F2807x_examples_Cpu1\adc_soc_epwm\cpu01

在CCS中import該工程后,右擊工程,選擇Properties,并打開(kāi)Build Configuration下的Set Active,選擇CPU1_FLASH,使程序在flash下運(yùn)行。

二. 工程修改步驟

1.在新的工程中添加IQmath庫(kù)文件,由于TMS320F2807x為浮點(diǎn)運(yùn)算的芯片,所以選擇IQmath_fpu32.lib這個(gè)庫(kù)。

2.在新的工程中添加IQmath函數(shù)庫(kù)的頭文件IQmathLib.h,并在原有工程中添加以下語(yǔ)句:

#include "IQmathLib.h";

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

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

C:\ti\controlSUITE\device_support\F2807x\v210\F2807x_common\cmd

選擇2807x_FLASH_IQMATH_lnk_cpu1.cmd,

在FLASHB和FLASHC中專(zhuān)門(mén)給IQmath和IQmathTables分配了空間:

4.為了保持一個(gè)工程中僅有一個(gè)CMD文件,將工程中自帶的Flash_lnk.cmd刪除。

右鍵工程文件,選擇properties,在CCS Build下選擇C2000 Linker,刪除2807x_Generic_FLASH_lnk.cmd文件。

當(dāng)然,您也可以選擇修改原有的CMD文件,只要在FLASH中給IQmath和IQmathTables分配足夠的空間即可。

5.移植完成以后,在程序中添加IQmath函數(shù)的測(cè)試代碼。

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

_iq IQresult =_IQ(1.0);

_iq IQsource;

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

IQresult =_IQsin(IQsource);

通過(guò)實(shí)際debug,計(jì)算結(jié)果與預(yù)期相符。

三. TMS320F2807x Piccolo系列芯片在運(yùn)算能力上的提升

1. 浮點(diǎn)運(yùn)算單元FPU

FPU全稱(chēng)Float Point Unit,即浮點(diǎn)運(yùn)算單元,是專(zhuān)用于浮點(diǎn)運(yùn)算的處理器。在大多數(shù)現(xiàn)在的通用計(jì)算機(jī)架構(gòu)中,會(huì)在CPU中集成一個(gè)或多個(gè)浮點(diǎn)運(yùn)算器,但許多嵌入式處理器沒(méi)有在硬件上支持浮點(diǎn)數(shù)運(yùn)算。

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

下表給出了與定點(diǎn)處理器相比,浮點(diǎn)處理器在計(jì)算能力上的提升:

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

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

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

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

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

1.Park和Inverse Park變換;

2.空間矢量控制;

3.dq0和Inverse dq0變換;

4.FFT幅度和相位計(jì)算。

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

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

審核編輯:何安

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

    關(guān)注

    0

    文章

    341

    瀏覽量

    10013
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AMC1306和tms320f28035之間如何連接?tms320f28035如何提取位流?

    您好, AMC1306M25資料上推薦使用TMS320F2807xTMS320F2837x 微控制器系列中的SDFM接口,并且使用TMS320F2807xTMS320F2837x
    發(fā)表于 12-05 06:15

    TMS320F2802xTMS320F2802xx微控制器TRM

    電子發(fā)燒友網(wǎng)站提供《TMS320F2802xTMS320F2802xx微控制器TRM.pdf》資料免費(fèi)下載
    發(fā)表于 11-22 15:39 ?0次下載
    <b class='flag-5'>TMS320F2802x</b>、<b class='flag-5'>TMS320F</b>2802xx微控制器TRM

    TMS320F28002xTMS320F280015xTMS320F280013x之間的遷移指南

    電子發(fā)燒友網(wǎng)站提供《TMS320F28002x、TMS320F280015xTMS320F280013x之間的遷移指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-09 14:51 ?0次下載
    <b class='flag-5'>TMS320F28002x</b>、<b class='flag-5'>TMS320F280015x</b>和<b class='flag-5'>TMS320F280013x</b>之間的遷移指南

    TMS320F2807x實(shí)時(shí)微控制器技術(shù)參考手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《TMS320F2807x實(shí)時(shí)微控制器技術(shù)參考手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 11-08 14:07 ?0次下載
    <b class='flag-5'>TMS320F2807x</b>實(shí)時(shí)微控制器技術(shù)參考手冊(cè)

    TMS320F2838xTMS320F28P65x之間進(jìn)行遷移

    電子發(fā)燒友網(wǎng)站提供《在TMS320F2838xTMS320F28P65x之間進(jìn)行遷移.pdf》資料免費(fèi)下載
    發(fā)表于 10-31 09:58 ?0次下載
    在<b class='flag-5'>TMS320F2838x</b>和<b class='flag-5'>TMS320F28P65x</b>之間進(jìn)行遷移

    TMS320F2837xTMS320F28P65x之間進(jìn)行遷移

    電子發(fā)燒友網(wǎng)站提供《在TMS320F2837xTMS320F28P65x之間進(jìn)行遷移.pdf》資料免費(fèi)下載
    發(fā)表于 10-30 09:54 ?3次下載
    在<b class='flag-5'>TMS320F2837x</b>和<b class='flag-5'>TMS320F28P65x</b>之間進(jìn)行遷移

    TMS320F2810、TMS320F2811、TMS320F2812 ADC校準(zhǔn)

    電子發(fā)燒友網(wǎng)站提供《TMS320F2810、TMS320F2811、TMS320F2812 ADC校準(zhǔn).pdf》資料免費(fèi)下載
    發(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校準(zhǔn)

    TMS320F2837xTMS320F2838x之間的移植應(yīng)用說(shuō)明

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

    TMS320F28x引導(dǎo)特性和配置

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

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

    電子發(fā)燒友網(wǎng)站提供《TMS320F2833x/2823xTMS320F2837xD/2837xS/2807x的遷移概述.pdf》資料免費(fèi)下載
    發(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ù)字信號(hào)控制器(DSC)TMS320C2834x Delfino微控制器數(shù)據(jù)表

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

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

    電子發(fā)燒友網(wǎng)站提供《TMS320F280x、TMS320C280x、TMS320F2801x數(shù)字信號(hào)處理器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(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ù)字信號(hào)處理器數(shù)據(jù)表

    TMS320F280xTMS320C280xTMS320F2801x數(shù)字信號(hào)處理器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMS320F280x、TMS320C280x、TMS320F2801x數(shù)字信號(hào)處理器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(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ù)字信號(hào)處理器數(shù)據(jù)表

    TMS320F2833x、TMS320F2823x實(shí)時(shí)微控制器數(shù)據(jù)表

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

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

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