1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
由于TMS320F28x7x系列芯片内部集成了TMU(Trigonometric Math Unit)专门用于加速常用的三角函数和算术运算的执行,可以5个cycles以内得到正弦/余弦/正切等运算结果,因此TMS320F28x7x系列芯片的ROM中不再固化IQmathTables和相关三角函数。同时,在新的设计中我们更推荐用户使用TMU去处理三角函数运算。为了兼容基于IQmath的程序的移植,本文给出了基于TMS320F2807x的IQmath的移植方法。 一。测试相关环境测试相关的软硬件环境如下表所列:您可以选择任意示例工程,这里选择的工程为 adc_soc_epwm_cpu01,它的工程文件的目录为:C:ticontrolSUITEdevice_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:ticontrolSUITEdevice_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. 浮点运算单元FPUFPU全称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系列芯片是您非常合适的选择。
|
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
3887 浏览 0 评论
自己设计的Arduino UNO R3主控板原理图+PCB源文件(可直接打样)
3862 浏览 0 评论
62313 浏览 1 评论
2835 浏览 2 评论
7130 浏览 0 评论
基于峰岹的FU6813L波轮洗衣机控制方案(原理图+PCB+源程序
91888浏览 4评论
2837浏览 2评论
5134浏览 1评论
62365浏览 1评论
7130浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 01:37 , Processed in 0.956289 second(s), Total 45, Slave 34 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号