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.

[参考译文] AM2431:SPI 单主器件使用针对(4) NOR 闪存器件的多芯片选择不起作用

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1127249/am2431-spi-single-master-using-multiple-chip-selects-for-4-nor-flash-parts-does-not-work

器件型号:AM2431
Thread 中讨论的其他器件:SysConfig

我们使用 SPI1接口,CS0、CS1、CS2 ,CS3每个接口都连接到不同的 SPI NOR 闪存部件。

显然、SysConfig 仅允许我们在  多主控模式下使用多芯片选择配置 SPI 端口。

当我们配置为多主器件并进行传输时、TI 器件上的 SPI 接口将仅允许传输一个帧(字节)、然后 CS 线路将停用。  这是与 NOR 闪存部件通信时的问题、因为在写入命令字节后、您随后会发送一段数据或等待闪存部件的读取应答。 但由于芯片选择在第一个字节后停用、NOR 闪存无法理解、并假定它在命令之后是中止。

如果将 SysConfig 配置为单主模式并具有一条芯片选择线路, 则允许 CS 保持活动状态,从而使芯片选择正常工作。 假设我们要传输8个字节、通常会加载缓冲区、周期从我们说开始开始。 芯片选择变为低电平、然后发送全部8个字节、然后芯片选择变为高电平。 这不是在多主模式下发生的情况、我们无法使用 四个芯片选择将 SysConfig 配置为单主器件。

我们无法将 AM2431配置为具有四个芯片选择的单主器件、它仅允许我们将其配置为多主器件模式。 在多主控模式下、芯片选择在每个字节被发送后被禁用、然后为下一个字节重新激活。

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

    您好 Iance、

    这听起来像是 McSPI 的 SYSCFG 设置中的一个错误。 对于单个主器件、您仍应能够使用最多4个 CS (而不是限制为1个)。 我已为此问题提交了 JIRA TT (MCUSDK-7340)。 非常感谢您提供这一重要反馈。

    此致、

    Ming

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

    请保持此 TT 打开、直到我们解决此问题的 JIRA TT (MCUSDK-7340)

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

    这不是错误。 McSPI 单主器件模式用于支持单从器件、这允许手动 CS 控制在 SPI 事务中保持有效。 McSPI 多主控模式是通过不同的 CS 线路支持多个从器件、这不允许手动控制 CS、根据任何通道上可用的数据、相应的 CS 会自动置位、因此这会切换每个字的 CS。

    SysConfig 定义符合 McSPI IP 功能

    我想 我们可以支持连接到不同 CS 线路的多个闪存、如下所示-

    • 将 McSPI 配置为3引脚模式(CS 不由 McSPI IP 切换)。McSPI 仅使用/切换其他3条线路
    • 使用 GPIO 切换连接到闪存 CS 的引脚
    • CS 置位由应用使用 GPIO 完成、具体取决于通过 McSPI 传输函数访问和调用哪个闪存。
    • 对于任何闪存器件、通常使用相同的 API 启动 McSPI 事务。