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.

[参考译文] TMS320F28388D:当在 CPU2内核中配置时、SPI B 通道未提供正确的时钟和数据宽度。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1517657/tms320f28388d-spi-b-channel-is-not-giving-correct-clock-and-data-width-when-configured-in-cpu2-core

器件型号:TMS320F28388D

工具/软件:

 您好、
我正在为 TMS320F28388D 微控制器开发 SPI 驱动器模块、
在一个应用中、我需要 使用 CPU2内核来使用 SPI、因此根据指导原则、我在 CPU1中配置了 SPI GPIO 引脚22、23、24和25、还将 SPIB 外设主内核设置为 CPU2、
CPU1中的时钟配置:  
 CPU1 Sysctrl 模块中的 CPU2主器件选择设置。
完成这些步骤后、我使用 CPU2中的系统配置模块配置了 SPIB、如下所示:
目前我遇到 SPI 数据宽度的问题、这里的时钟配置我期望根据 sys 配置16位数据宽度和50KHz 应该是时钟频率、但它绝不会提供连续时钟以在 CPU2中显示16位帧格式。 如果进行了相同的系统配置设置、则在 CPU1内核中都可以按照预期正常工作。
从逻辑分析仪附加的捕捉、对应在硬件上观察到的 SPI 信号、请参阅这些捕捉。
使用 CPU2内核进行 SPI 通信。
使用 CPU1内核进行 SPI 通信。
任何人都可以帮助我使用 CPU2内核持续运行 SPI 模块吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此主题中的信息是否有帮助?

    此致、
    Jason Osborn

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

    尊敬的 Jason、我已经提到此线程并为 CPU2配置了 SPI、 但我期待16位数据信号具有不同的时钟、但分析器工具中并没有反映这一点、但 CPU1中可以使用相同的配置设置。

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

    对延迟响应表示歉意。

    如何确定要传输的数据?  如果 SPI 配置正确、那么 CPU2是否可能存在无法访问所需数据的问题?

    此致、
    Jason Osborn

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

    尊敬的 Jason、我已在 CPU2中创建了一个 uint16数据类型的数组、该数组还通过在串行端口的调试窗口中打印该变量来检查所需数据 、它显示所需的值已发送到 SPI_writeDataNonBlocking 函数、为了进行测试、我已取出逻辑分析仪上的所有引脚以检查 SPI 上传输的内容。

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

    您好 Jason、我们是否有在 CPU2中工作的 SPI 示例代码、我可以验证这些代码并将按照这些步骤更改我的配置。

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

    我一直在查找、但我认为 CPU2中没有明确显示此器件的相关信息。 我将继续查看并尝试查找可能存在问题的任何其他问题。 它在我引用的线程中、但只是为了仔细检查、您是否使用过  gpio_setMasterCore ()函数将正确的内核分配给每个 SPI 引脚?

    此致、
    Jason Osborn

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

    您好、Jason、

    我使用 sys config 工具生成了代码、没有、我没有直接使用函数  gpio_setMasterCore ()、但 insted sys config 生成了 sysctrl init 函数、该函数将 SPI B 内核设置为 CPU2 、如下面的 SNAP 所示。

     

    还在 CPU1 sys 配置中配置了对 SPIB 通道和所选时钟的完全访问。

    时钟选择为:

    我是否需要手动配置而不是系统配置?

    您能在 CPU2内核中分享任何 SPI 示例代码吗?

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

    遗憾的是、我无法找到任何 CPU2 SPI 示例。

    请注意、GPIO 和 SYSCTL 功能是 MCU 两个不同方面的配置功能。 我相信你可能需要两者。 除了已存在的函数之外、还请添加 GPIO 配置函数。

    此致、
    Jason Osborn