This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320F28075:使用 SINCOS()函数时计算错误

Guru**** 2546020 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/626783/ccs-tms320f28075-calculation-error-when-use-sincos-function

器件型号:TMS320F28075

工具/软件:Code Composer Studio

您好!

我想使用 fastRTS 库并按照说明进行安装。 代码很简单、如下所示:

#include "F28x_Project.h"//设备头文件和示例 include 文件
#include "C28x_FPU_FastRTS.h"
#include "math.h"

float theta、sin_theta、sin_theta_1、cos_theta、cos_theta_1;

void main (void)

Theta = 0.0143617708;

SinCos (theta、&Sin_theta、&Cos_theta);
Sin_theta_1 = sinf (theta);
cos_theta_1 = cosf (theta);

while (1){}

但是 sincos()函数不能正确派生 sine_theta 和 cos_theta。 (与 sinf()和 cosf()结果相比较)

以下是与 fastRTS 库相关的 CMD 文件和设置。

随附的文件是我的项目文件。 请帮我找出问题所在。 提前感谢您!

e2e.ti.com/.../28075_5F00_TEST_5F00_fastRTS.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、微晶、

    我刚刚浏览了 C28x 浮点单元 fastRTS 库的用户指南、我在这个库中找不到 sinf 或 cosf 函数。 您可以使用 cotrolsuite 中的最新库吗?

    我认为正弦或正弦函数可以满足您的要求。

    - SIN 单精度浮点 SIN (弧度)
    说明使用表返回浮点参数 X (以弧度为单位)的正弦值
    查找表条目之间的查找和泰勒级数扩展。
    头文件#include
    声明 float32 sin (float32 X)

    -正弦单精度浮点正弦和余弦(弧度)
    说明返回浮点参数 X (在中)的正弦和余弦
    弧度)在之间使用表格查找和泰勒级数扩展
    查找表条目。
    头文件#include“C28x_FPU_FastRTS.h”
    声明 void sincos (float32 X、float32* PtrSin、
    float32* PtCos);
    X 以弧度为单位的输入参数
    指向正弦结果的 PtrSin 指针
    指向余弦结果的 PtrCos 指针

    此致、
    插孔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此主题可能对您有所帮助。 e2e.ti.com/.../625383

    此致、
    插孔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复!

    sinf()和 cosf()位于 math.h 中 在这里、我只使用这些函数进行比较。

    我检查了 fastRTS 指令、对于2833x、FPUTABLES 位于引导 ROM 中。 但在28075 cmd 文件中、没有这样的段、我自己添加了它。 我想可以添加该部分、但其中没有表格。 这也许是我的 sincos()函数不能正常工作的原因。 您知道在28075中使用 fastRTS 库的任何方法吗? 如何将表加载到 MCU?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    哦,哇哦。。。

    F28075具有 TMU、因此您无需为正弦和余弦函数以及 TMU 支持的其他函数提供快速 RTS。 因此、我们不会在 CMD 文件中添加 FPUTables。 使用 TMU 是在 C2000 MCU 上执行 TRIG 运算的最快方法。

    启用 TMU 并使用优化并选择浮点作为放松、TMU 将自动启动、或者您也可以使用内在函数

    www.ti.com/.../spru514n.pdf

    www.ti.com/.../spry288a.pdf


    此致
    Manish
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复!