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/TMS320C5515:将 CS0更改为 CS1

Guru**** 2553260 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/599125/ccs-tms320c5515-changing-cs0-to-cs1

器件型号:TMS320C5515

工具/软件:Code Composer Studio

你好

我无法在应用程序中将 CS0更改为 CS1。

我有两个与 SPI 的 IC 通信、但我只能在初始化时进行选择。  

我试了很多天安。  

例如,如果我只使用 LLC_SPI_SlaveSelect (0)来选择 CS0周期,CS0将始终保持低电平。

如果我使 LLC_SPI_SlaveSelect (1); 而不是 LLC_SPI_SlaveSelect (0);SPI 全部停止工作。

我读了 sprufo3。 我看到寄存器 确实更改了 SPICMD2 CSNUM。

我还尝试直接更改为 SPICMD2。

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

    我已将此内容转发给 C55x 专家。 他们的反馈应发布在此处。

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

    您好、Ferhat、

    您是否有机会在 C5515 EVM 上使用 ECG 板? 如果不是、这可能会有点令人困惑...

    LLC_SPI_SlaveSelect 例程是为几年前停产的医疗开发套件(MDK)编写的。

    无论如何、我怀疑使用的 EBSR 并行端口引脚多路复用模式不会从 C5515 DSP 路由 SPI_CS1。

    我深入了解了旧的 MDK 软件、发现模式5的默认引脚多路复用设置仅路由 SPI_CS0、不路由 SPI_CS1。

    您在软件中看到任何类似这样的代码吗? 这会将 EBSR 寄存器的 PPMODE 设置为模式5。

       CSL_fins ((* PERIPHSEL0_ADDR)、PERIPHSEL0_SEL_ParallelPort、0x5);

    但是、一个问题是、如果您使用的是 C5515 EVM、则该板仅将 SPI 信号从多路复用器模式5路由到模拟前端接头(J10、J13、J14)。 多路复用器模式6 SPI 信号路由到 P1和 J19 (LCD 带状连接器)。 遗憾的是、SPI_CS0未路由到 P2接头...

    因此、您可以在多路复用器模式5中使用 SPI、在 J13处使用 SPI_CS0 (并且 SPI_CS1未从 DSP 路由)、也可以在多路复用器模式6中使用 SPI、同时将 SPI_CS0和 CS1-3路由到 J19 LCD 色带连接器。

    希望这对您有所帮助、
    标记

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

    Mark、您好、感谢您的回复。

    我有自己的板。

    IM 已使用模式5、SPI 和 UART、它们工作正常。

    我与 ADS 与 CS0通信。 没关系。

    我在同一 SPI 上有一个存储器。 它的 CS 引脚连接到 GPIO 引脚、当我移除 ADS 时、也可以正常工作。

    问题是,在应用程序运行时,我必须随时更改为 CS1。 因此 ADS 不会响应、我可以真正与存储器通信。

    现在它从 ADS 和 Memory 损坏。 当我尝试读取存储器时、两个响应都必须停止 ADS、存储器没有问题、其 CS 引脚为 GPIO。

    我读了 sprufo3、我尝试了很多东西、但所有的停止或开始都不能正常工作。

     

    我看到寄存器确实更改了 SPICMD2 CSNUM。

    我直接通过寄存器进行了更改 、或使用了下面 SDK 中的方法。

    如果我只使用 LLC_SPI_SlaveSelect (0)定期取消选择 CS0、 则 CS0始终保持低电平。

    我尝试了 LLC_SPI_SlaveSelect (1); 而不是 LLC_SPI_SlaveSelect (0);SPI 全部停止工作。

    费尔哈特

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

    我仍然需要帮助。

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

    您好、Ferhat、

    很抱歉、E2E 出现登录问题。

    我刚刚尝试了 CSL_SPI_example (在此处下载 CSL: http://software-dl.ti.com/dsps/dsps_public_sw/dsps_swops_houston/C55X/latest/index_FDS.html)

    此示例使用 EBSR PPMODE 3、对于 SPI、该模式相当于模式5。

    我将示例更改为使用 CS1、这在模式3/5中不可用

    CSL_SPI_Example_Out/SPI_eepromApi.c @第127行

    从                   CSL_SPI_regs->SPICMD2 =(uint16) 0x0039; // 8位字,读取

    至                           CSL_SPI_regs->SPICMD2 =(uint16) 0x1039; // 8位字,读取,强制 CS1…    

    当我使用此修改运行 EEPROM 测试时、我没有观察到 CS0变为低电平、并且 EEPROM 没有响应 SPI 流量。

    我怀疑您的问题是您同时有2个芯片选择低电平。 在使用 SPI 进行写/读操作之前、请暂停程序并读取 SPICMD2寄存器、以验证 CS0的 CSNUM 域是否未设置为0。

    您的软件可能会为您将 CSNUM 改回0。 我不太熟悉这些 LLC_SPI_SlaveSelect 软件例程。 您能否尝试运行 CSL SPI 示例以查看是否可以调试您的问题?

    我还尝试在 PDINHIBR3中切换 PD9PD、从而启用 SPI_CS0 (MODE3/5)上的内部下拉电阻、但 CS0引脚保持高电平。 我通常建议在 CS 上使用上拉电阻、以避免在高阻抗状态下变为低电平、这可能会损坏东西。 但我不认为这是您的问题。

    如果您想积极主动、也可以使用该 GPIO 来驱动三态缓冲器、该缓冲器在 GPIO 为高电平时仅将 SPI_CS0传递到 ADS。 在这种情况下、您肯定需要 ADS…的 SPI_CS 上的上拉电阻

    希望这对您有所帮助、
    标记