在 SPI 模式下,SDNAND 通过 MOSI 和 MISO 引脚进行数据传输,时序图通常包含以下关键阶段:
命令阶段:
主机通过 MOSI 发送写命令(CMD24 - 单块写入 或 CMD25 - 多块写入)。
SDNAND 通过 MISO 应答(R1 响应码,表示命令是否接受)。
数据阶段:
主机通过 MOSI 发送起始标志(Data Token,通常为 0xFE
)。
主机发送要写入的数据块(通常 512 字节)。
主机发送 CRC 校验码(2 字节)。
状态阶段:
SDNAND 通过 MISO 返回写操作结果(如 Data Response 010
表示写入成功)。
如果写入完成,SDNAND 会发出忙信号(通过 MISO 持续输出低电平),表示正在内部完成擦写和数据写入。
命令阶段:
主机通过 MOSI 发送读命令(CMD17 - 单块读取 或 CMD18 - 多块读取)。
SDNAND 通过 MISO 应答(R1 响应码,表示命令是否接受)。
数据阶段:
SDNAND 在 MISO 上发送起始标志(Data Token,0xFE
)。
SDNAND 发送所请求的数据块(512 字节)。
SDNAND 发送 CRC 校验码(2 字节)。
SD 模式采用 4 条数据线(D0-D3),其时序图主要表现为更高的并行传输能力:
命令阶段:
主机通过 CMD 引脚发送写命令(如 CMD24)。
卡通过 CMD 引脚返回响应。
数据阶段:
数据通过 D0-D3 引脚并行传输,每个时钟周期传输 4 bit 数据。
起始标志和 CRC 校验通常嵌入数据流中。
命令阶段:
主机通过 CMD 引脚发送读命令(如 CMD17)。
卡通过 CMD 引脚返回响应。
数据阶段:
卡通过 D0-D3 并行发送数据块,每个时钟周期传输 4 bit 数据。
结束标志和 CRC 校验嵌入数据块中。
QSPI 模式使用 4 条 I/O 线(IO0-IO3),通常用于更高性能的应用,时序图复杂度较高:
命令阶段:
主机通过 IO0-IO3 发送命令(如 Page Program 命令)。
SDNAND 应答。
地址阶段:
主机通过 IO0-IO3 发送目标地址。
数据阶段:
主机通过 IO0-IO3 并行发送数据。
命令阶段:
主机通过 IO0-IO3 发送读命令。
地址阶段:
主机通过 IO0-IO3 发送目标地址。
数据阶段:
SDNAND 通过 IO0-IO3 并行发送数据。
初始化时序:
所有 SDNAND 模式都需要遵循标准的初始化流程(CMD0 复位 -> CMD8 检查电压 -> ACMD41 初始化 -> CMD58 获取 OCR 寄存器)。
CRC 校验:
在标准模式下,命令和数据传输通常会附带 CRC 校验码。
延迟和响应:
读写操作完成后,SDNAND 通常需要一段时间进行内部处理(如擦除或写入操作),此时会通过 MISO 或 D0 引脚发出忙信号。