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.

[参考译文] TMS320F28388S:MX25L25645G SPI - MISO 在 0x90 后立即变为低电平、而不是在虚拟字节之前保持高阻态

Guru**** 2535750 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1553259/tms320f28388s-mx25l25645g-spi-miso-goes-low-right-after-0x90-instead-of-staying-high-z-until-dummy-bytes

器件型号:TMS320F28388S


工具/软件:

您好、

我使用的是 TI MCU、具有以下 SPIA 引脚配置:

  • GPIO32→SPIA SIMO(输出)

  • GPIO33→SPIA SOMI(输入)

  • GPIO34→SPIA CLK(输出)

  • GPIO35→GPIO 输出、用于手动 CS#控制(初始设置为高电平)

配置上拉和异步鉴定、并手动将 CS#驱动为低电平/高电平。

我正在测试 REMS (0x90) 上的命令 Macronix MX25L25645G 用于读取制造商和器件 ID 的闪存。

预期顺序(每个数据表):

  1. 将 CS#拉至低电平

  2. 发送0x90(REMS 操作码)

  3. 发送两个虚拟字节

  4. 发送一个地址字节(首先发送制造商 ID、首先发送器件 ID) 0x000x01

  5. 闪存应将 MISO 保持在高阻态、直到虚拟+地址字节之后、然后发送 ID。

我在逻辑分析仪捕获结果中看到的内容:

  • MOSI 正确: 0x90 0x00 0x00 0x01

  • 发送后0x90MISO 立即被驱动为低电平 而不是保持高阻态

  • 返回的数据0x00 0x00 ...不是制造商/器件 ID。

我正在试穿 SPI 模式 0 、接线已经过验证、我正在通过 GPIO35 手动控制 CS#。

问题:

  • 在虚拟字节期间、该闪存不会将 MISO 保持在高阻态吗?

  • 这可能是由于 CS#低电平和第一个字节之间的时序引起的、还是由字节之间的时序引起的?

  • 发送 REMS 之前、我是否需要将闪存从深度断电状态唤醒?

随附逻辑分析仪屏幕截图+数据表摘录以供参考。

谢谢!

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

    嗨、Ninad、

    PICO 和 POCI 行为在事务之间是确定的。 下图说明了这种行为、我们也在使用此信息更新 TRM:

    消耗量

    控制器/外设

    比值

    行为引起的

    相位= 0 和

    极性= 0 或 1

    控制器

    Pico(皮)

    反映了为通过 PICO 传输而写入的 SPIDAT [0]

    在一起

    POCI

    反映了为通过 POCI 传输而写入的 SPIDAT [0]

    相位= 1 &

    极性= 0 或 1

    控制器

    Pico(皮)

    反映了通过 POCI 接收到的 SPIDAT [15]

    在一起

    POCI

    反映通过 PICO 接收到的 SPIDAT [15]

    此致、

    Aishwarya