工具/软件:
您好、
我使用的是 TI MCU、具有以下 SPIA 引脚配置:
-
GPIO32→SPIA SIMO(输出)
-
GPIO33→SPIA SOMI(输入)
-
GPIO34→SPIA CLK(输出)
-
GPIO35→GPIO 输出、用于手动 CS#控制(初始设置为高电平)
配置上拉和异步鉴定、并手动将 CS#驱动为低电平/高电平。
我正在测试 REMS (0x90) 上的命令 Macronix MX25L25645G 用于读取制造商和器件 ID 的闪存。
预期顺序(每个数据表):
-
将 CS#拉至低电平
-
发送
0x90(REMS 操作码) -
发送两个虚拟字节
-
发送一个地址字节(首先发送制造商 ID、首先发送器件 ID)
0x000x01 -
闪存应将 MISO 保持在高阻态、直到虚拟+地址字节之后、然后发送 ID。
我在逻辑分析仪捕获结果中看到的内容:
-
MOSI 正确:
0x90 0x00 0x00 0x01 -
发送后
0x90、 MISO 立即被驱动为低电平 而不是保持高阻态 -
返回的数据
0x00 0x00 ...不是制造商/器件 ID。
我正在试穿 SPI 模式 0 、接线已经过验证、我正在通过 GPIO35 手动控制 CS#。
问题:
-
在虚拟字节期间、该闪存不会将 MISO 保持在高阻态吗?
-
这可能是由于 CS#低电平和第一个字节之间的时序引起的、还是由字节之间的时序引起的?
-
发送 REMS 之前、我是否需要将闪存从深度断电状态唤醒?
随附逻辑分析仪屏幕截图+数据表摘录以供参考。
谢谢!


