继上一篇博客DSP_TMS320F28377D_算法加速方法1_拷贝程序到RAM运行_江湖上都叫我秋博的博客-CSDN博客之后,本文讲第二种DSP算法加速的方法,该方法的加速效果很明显,但是加速范围仅限于32位浮点数下面这几种函数:
1 工程师的关注点
下面稍微解释一下一些可能有疑问的点
1 电机控制中经常对同一个角度求sin和cos,我的测试程序结果是:1、sin和cos分开算,加速前(不添加这个库) 695.25us; 2、加速后590us; 3、sincos一起算410us。
void sincos(float32 X, float32* PtrSin, float32* PtrCos);
2 atan2是什么意思
float32 atan2 (float32 X, float32 Y)
返回浮点参数X/Y的四象限反正切
3 isqrt是什么意思
float32 isqrt (float32 X)
返回 1.0L/sqrt(X).
4 关于division(除法),我实测试了,div函数的时间是用“/”符号时间的10倍,以后还是直接用“/”符号。 另外,这个库是没有加速效果的。
5 亲测了tan函数,虽然没有包含在官方给的范围内,但是确实有加速效果。
2 添加步骤
要添加 rts2800_fpu32_fast_supplement.lib这个库,首先得有这个文件,TI官网下载controlSUITE里面有。
1、把这个文件拷到项目文件夹,必须在一级目录下,放到文件夹下不行,我测试过。
2、
3、
4、
步骤可用说是非常简单。不过我还是强调一下,我的测试代码是在28377D上跑的,我的CCS是7.4.0。 C2000系列其他的芯片的操作应该差不多。
3 关于是否可以方法1叠加
方法一链接:DSP_TMS320F28377D_算法加速方法1_拷贝程序到RAM运行_江湖上都叫我秋博的博客-CSDN博客
答:可以! 亲测可叠加!
4 中断中是否可用
答:可以! 亲测可用!
后续会再推出DSP算法加速的方法与大家探讨。感谢您的阅读,如果您有什么优化方法,欢迎留言分享、收藏、点赞。