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.

[参考译文] TMS320F2808:Simulink&SPI通信

Guru**** 2574265 points
Other Parts Discussed in Thread: TMS320F2808

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/642987/tms320f2808-simulink-spi-communication

部件号:TMS320F2808

您好,

我目前正在研究一个项目,2 个TMS320F2808处理器应该使用SPI通信协议进行通信。 我正在使用Simulink作为我的软件工具。 此外,在Code Composer Studio的帮助下,Simulink生成的C代码嵌入到处理器中。 我遇到的问题是,当其中一个处理器用作主处理器,而另一个处理器用作从处理器(主处理器发送32字节常量数据,从处理器接收数据并将其发送给主处理器)时,从处理器的输出数据(SOMI/Miso)会在一段时间后被污染。 数据污染开始的时间与Simulink的解算器时间直接相关。  问题可能与哪些方面有关?

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

    感谢您的提问。 Mathworks的专家应尽快回复您。

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

    您好,Mert:

    您能否更好地解释数据污染与Simulink的关系?  您是将C代码导入到CCS中的项目中,还是使用Simulink下载代码(这会调用CCS子集来执行此操作)?

    我认为这个问题可能相当复杂。  联系MathWorks技术支持 并开一个TT,可能会为您提供最好的服务。

    谢谢,

    -Brian

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

    您好,Brian,

    首先,我将生成的C代码导入到CCS中的项目中。 让我详细解释一下这个问题。 主中继器传输32字节常量数据。 为了检查SPI数据,从属设备还传输相同的32字节常量数据。 我没有使用接收块。  没有任何其他变量。 只是恒定的块和传输块。  我在示波器的帮助下检查数据,以查看SPI线路上的数据。 在开始时,主输出和从属输出数据都是应有的。 但是,随着时间的推移,从属数据会发生变化,而另一方面,不会发生任何变化。 有趣的是,当我将解算器步长设置为1毫秒时,污染会在5分钟后发生,但是当我将解算器步长设置为10毫秒时,污染会在大约50分钟后发生。 这就是为什么我将问题与Simulink或Simulink生成的C代码相关联的原因。

    我将联系MathWorks技术支持,感谢您的回答。

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

    您好,Mert:

    请联系MathWorks技术支持-他们可能需要一份您的模型副本,以便他们可以尝试重现问题。

    谢谢!

    -Brian