1、串行flash简介
串行flash是用串行接口进行连续数据存取的小尺寸,低功耗的flash memory。串行flash比并行flash用更少的线从系统中传送数据。对于引脚数目少的串行flash来讲它的优势是减少了系统板的空间,功耗和成本。
2、串行flash引脚定义
本文的技术细节基于SST公司的SST25VF032B型号的串行flash。其引脚定义如表1所示。
表1 SST25VF032B引脚定义
引脚符号 |
引脚名称 |
引脚功能 |
SCK |
串行时钟 |
提供串行数据的时钟,命令、地址和输入数据在该时钟上升沿采样,输出数据在该时钟下降沿移位输出。 |
SI |
串行数据输入 |
以串行方式输入命令、地址和数据,在SCK上升沿采样。 |
SO |
串行数据输出 |
以串行方式输出数据,在SCK下降沿移位输出。 在AAI模式下,SO管脚可配置为BY/RY#模式。 |
CE# |
片选 |
片选信号,低有效。 |
WP# |
写保护 |
写保护信号,用来使能、去使能状态寄存器中的BPL位,低有效。 |
HOLD# |
保持信号 |
在不复位芯片的情况下,暂时停止串行传输,低有效。 |
VDD |
电源 |
2.7-3.6V供电管脚 |
VSS |
地 |
|
3、SST25VF032B支持的SPI协议介绍
SST25VF032B通过SPI协议进行数据、地址和命令的传输,SPI协议包括4个信号:
片选(CE#)
串行时钟(SCK)
输入数据(SI)
输出数据(SO)
SST25VF032B支持mode0和mode3 SPI模式。二者的区别如图1所示,当总线上没有数据传输且进入standby状态,在mode0模式下,SCK保持为低,在mode3模式下,SCK保持为高。在两种模式下,SI的信号都是在SCK上升沿采样,SO的信号都是在下降沿跳变。
图1 SST25VF032B支持的SPI协议
4、HOLD、写保护操作
HOLD操作为在不复位芯片的情况下,暂时停止串行传输。
写保护操作由WP#管脚、状态寄存器中的BPL位和BP0-4位共同完成。
本设计未用到HOLD和写保护操作操作,暂不详述,具体请参见SST25VF032B芯片手册。
5、状态寄存器
8bits的状态寄存器可提供芯片读写过程中需要查询的各种状态信息,如表2所示。
表2 状态寄存器
Bit |
名称 |
功能 |
默认值 |
Read/Write |
0 |
BUSY |
1:芯片忙,正在执行操作 0:芯片空闲,未执行操作 该位表示芯片内部是否有写或擦除操作正在进行。在擦除和写入之前都要查询此位,空闲时可执行下一步操作。 |
0 |
R |
1 |
WEL |
1:芯片写使能 0:芯片写未使能 该位在以下情况下会被清0: ·掉电 ·写去使能(WRDI)命令执行 ·Byte编程模式执行完成 ·AAI编程模式执行完成,且到达最高的未被写保护的地址 ·Sector擦除完成 ·Block擦除完成 ·Chip擦除完成 ·写状态寄存器完成 |
0 |
R |
2 |
BP0 |
对应block的写保护 |
1 |
R/W |
3 |
BP1 |
对应block的写保护 |
1 |
R/W |
4 |
BP2 |
对应block的写保护 |
1 |
R/W |
5 |
BP3 |
对应block的写保护 |
0 |
R/W |
6 |
AAI |
1:AAI编程模式 0:Byte编程模式 |
0 |
R |
7 |
BPL |
1:BP3-BP0只读 0:BP3-BP0可读可写 |
0 |
R/W |
6、串行flash操作命令
表3串行flash操作命令
这一篇先到这了,下一篇讲解串行flash的操作时序,渐渐深入了哦!
用户1852891 2015-9-6 21:21
用户402158 2015-7-17 15:53