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.

[参考译文] TMS320F28069:SCI 和 SPI 无法一起工作

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1368060/tms320f28069-sci-and-spi-not-working-together

器件型号:TMS320F28069

工具与软件:

您好、TI 团队:

我使用 TMS320F280069M 进行开发。

我使用 SCI 和 SPI 进行通信。 SCI 用于将数据发送到其他设备。 用于 SD 卡数据记录的 SPI。

SCI 和 SPI 通信可以单独正常工作。

SCI 和 SPI 通信无法正常工作、SCI TX 引脚上有垃圾数据。 SPI 那时工作正常。

如何调试此问题?

提前感谢  

Nitish  

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

    尊敬的 Nitish:

    您能否详细说明:

    SCI 和 SPI 通信无法协同工作、

    应用的上下文是什么? SCI 和 SPI 通信是如何一起使用的? 在我提供建议之前、我需要更多地了解您正在尝试做的事情。 如果它们单独工作、这很好;这表明单独使用 SPI 或 SCI 配置可能不会有特定问题-我想知道一起使用时需要更改什么。

    此致、

    Allison

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

    您好、Allison、

    我们一直在开发名为"X"的应用。在该应用中、我们通过 FAT 文件系统使用 SPI 将数据记录到 SD 卡中。

    在测试过程中、我们遇到问题。 当我们启用 SPI 日志记录和 UART (波特率为9600)来将数据记录到 SD 卡上并向外部器件发送命令时、我们注意到外部器件只接受一半的传输字节(例如:TX 8字节 Rx 4字节、Tx 10字节 Rx 5字节等)。

    为解决此问题、我们暂时禁用了 SPI 日志记录。 令人惊讶的是、这样外部器件就能够正确接收整组字节。

    通过进一步的调查、我们使用逻辑分析仪检查 UART 信号。 我们发现、当启用 SPI 和 UART 时、UART 波特率加倍、从9600到19200。 奇怪的是、寄存器值仍然与我们为 UART 波特率设置的值相同。

    非常感谢您提出任何见解或建议。

    谢谢!

    Nitish Sharma

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

    尊敬的 Nitish:

    感谢您的答复。 我可以问您要将哪些时钟设置用于 SPI 和 UART 吗? LSPCLK 设置/分频器是什么?您的 SPI 和 SCI 时钟分频器设置为什么?

    为了澄清一下、当您谈论外部器件时、您指的是非 C2000器件、对吗? 您是说 C2000正在发送完整数据(您在示波器/分析仪上看到该数据)、但另一个器件仅接收一半的数据吗? 这一半数据只能在使用 UART 时发生、对吧(但仅在与 UART 同时使用 SPI 时发生)?  

    此致、

    Allison

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

    您好、Allison、

    感谢您的支持。 我们修复了这个问题。 我是因为闪存等待状态、我们只配置闪存控制寄存器。

    谢谢

    Nitish Sharma