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.

[参考译文] TMS320F28035:F28035 SPI 在两次/命令之间发出一定的延迟(us)、CS 总线会被异常拉至高电平

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1463287/tms320f28035-f28035-spi-issue-a-certain-delay-us-between-the-two-times-command-and-the-cs-bus-will-be-abnormally-pulled-high

器件型号:TMS320F28035

工具与软件:

尊敬的专家:

当28035芯片 SPI 模块运行外部闪存扩展时、指令+地址或者指令+数据被分成两次并从主机发送到从器件。 这两次之间存在一定的延迟(us)、CS 总线会异常拉高、导致闪存错误地将一条指令解释为两条指令。 然后、在 F28035器件期间会发生 SPI 通信问题。 您能明白为什么在两个命令之间延迟吗? 为什么 CS 信号在此处拉低?

e2e.ti.com/.../Greatwall-SPI-issue.pptx

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

    您好!

    CS 引脚的固件控制似乎是一个问题、在 C2000文档中也称为 STE 或 PTE 引脚。 没有该控制的任何详细信息(比如 TI 的示例、如果有)、我只能进行合理的猜测。

    1. 如果固件使用 SPISTE  F2838x 器件的功能 之后、SPI 外设应自动控制 STE 信号、在事务开始时将其拉低、在事务结束时将其拉高  要解决此问题、我建议不要使用 SPISTE 引脚、而是手动配置 CS 引脚以应对此特殊情况。
    2. 如果固件手动控制 GPIO 以用作 CS 引脚、则需要调整固件、以便在执行此指令后不会自动将 GPIO 拉至高电平。

    遗憾的是、关于延误、我无法根据这一信息知道。 我建议查看 FW 并确定用于写入 SPI 的函数是否与具有设定周期的触发器关联。

    此致、
    Jason Osborn

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

    尊敬的 Jason:

    客户使用 GPIO19控制 CS 信号、该问题可以解决、但如果他们使用选项1  固件使用 SPISTE  功能、如果两个命令的 延迟过长、CS 将上拉为高电平、如图.1所示。 您能否确认 SPI 模块将自动识别如果长时间未收到指令、CS 引脚将自动拉至高电平? 谢谢。

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

    请参阅器件 TRM SPI 部分的第11.3.2节主模式:

    C2000被设置为在通信后自动停止 SPICLK、并应相应地自动控制 SPISTE。

    如果用户尚未使用 SPI Tx FIFO 缓冲区、我建议他们这样做、因为上面的 TRM 摘录描述了此功能如何更改此行为。

    请告诉我这是否有帮助。

    此致、
    Jason Osborn