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.

[参考译文] 编译器/TMS320F2812:将 IQ 格式编号转换为浮点格式、需要将其发送到 Simulink 生成的 TwinCAT 模块

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/592544/compiler-tms320f2812-to-convert-iq-format-number-to-float-that-needs-to-be-sent-to-simulink-generated-twincat-module

器件型号:TMS320F2812

工具/软件:TI C/C++编译器

您好!

我有一个 Simulink 模型来添加两个浮点数。 构建此模型并生成代码(使用 Simulink 编码器)以在 TwinCAT 3.1中运行。 现在、浮点数字从我的 TI DSP 传输到 TwinCAT。 在我的 DSP 中、我将这些值存储为 IQ24格式的数字。  

起初、我尝试使用 C2000 Simulink 函数块、但无法生成代码。 现在、我意识到这些块只能在 DSP 上运行。 因此、代码生成失败是有道理的。

现在、我想知道如何从 TI DSP 将浮点值传输到 TwinCAT3.1环境。 我愿意在 DSP 端或 TwinCAT 端(Simulink)转换它们。

我尝试在 DSP 中将 IQ 数字转换为浮点值、但在 TwinCAT 环境中、它似乎不会显示为浮点值。 我是否做了一些错误、或者默认情况下、我无法从定点 IQ DSP 传输浮点值???
或者、我是否可以在 Simulink 模型本身中使用另一种方法将 IQ 数字转换为浮点值、并且仍然能够将该模型生成到 TwinCAT 环境中??  

此方面的任何帮助都很有用。

非常感谢:)  

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

    您的问题、我们可能会在以下部分提供帮助

    我尝试在 DSP 中将 IQ 数字转换为浮点值、但在 TwinCAT 环境中、它似乎不会显示为浮点值。 我是否做了一些错误、或者默认情况下无法从定点 IQ DSP 传输浮点值?

    1.您能否发布如何从 IQ24转换为浮点?
    2.我不知道您是如何转移到 TwinCAT 环境的? 我假设 DSP 在 SPI/SCI 上与支持 TwinCAT 的 MCU/Beckhoff IP 进行通信。 ?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Manish、您好!

    1.我使用    了 float 变量=_IQ24toF (_IQ24 A);

    2.是通过 SPI 传输到支持 TwinCAT 的 MCU、然后通过 EtherCAT 将该寄存器值传输到 PC。 第一部分更重要-通过 SPI 到支持 TwinCAT 的 MCU。

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

    转换对我来说看起来不错、

    我建议您一次一步调试系统、即确保通信链路正常工作。 即、将固定浮点从 MCU 传输到 TwinCAT 环境等。

    我已要求我的一位同事也查看它、以防我们提供任何更有用的信息。