【FLASH存储器系列五】SPI NOR FLASH芯片使用指导之一

这篇具有很好参考价值的文章主要介绍了【FLASH存储器系列五】SPI NOR FLASH芯片使用指导之一。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

👉个人主页: highman110
👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容

 

目录

1芯片简介

2引脚定义

3功能框图

4器件操作

4.1操作框图

4.2标准SPI

4.3DaulSPI

4.4QaudSPI

4.5QPI

4.6DTR(W25Q128不支持)

4.73-字节/4-字节地址模式(W25Q128只支持3字节)

4.8保持功能

4.9软复位和硬复位

4.10XIP


    

        当下的norflash芯片外部一般都是采用SPI串行接口,并口的用的比较少,后续有机会再分享。下面以常用的华邦W25Q128FV为例,分享下这颗spinorflash的相关特性。

1芯片简介

        这是一片128Mbitnorflash,整片包括65536个256字节的可编程page,支持4KB的sector扇区(16个page组成)擦除、32KB(128个page组成)/64KB(256个page组成)的block区块擦除或整片擦除。外部接口支持SPI、DaulSPI、QuadSPI、DPI。

2引脚定义

        芯片有多种不同封装形式,这个不列了,大家自行查阅数据手册。常用的是宽体SOIC-8208mil,引脚定义如下:

No.

PINNAME

I/O

FUNCTION

1

CS#

I

片选使能

2

DO(DQ1)

I/O

串行数据输出(数据输入输出端口DQ1)(1)

3

WP#(DQ2)

I/O

写保护输入(数据输入输出端口DQ2)(2)

4

VSS

-

5

DI(DQ0)

I/O

串行数据输入(数据输入输出端口DQ0)(1)

6

CLK

I

串行时钟输入

7

HOLD#/RESET#(DQ3)

I/O

保持/复位(数据输入输出端口DQ3)(2)

8

VCC

-

电源输入

注:

1、DQ1~0在DualSPI指令有效。
2、DQ3~0在QuadSPI/QPI指令有效。
 

3功能框图

【FLASH存储器系列五】SPI NOR FLASH芯片使用指导之一

1、SPIcommand&controlLogic:进行SPI串行数据解析,得到得到页地址(可以理解为选中字线)、字节地址(业内偏移地址,可以理解为选中位线)、数据、命令;

2、StatusRegister:片内的状态寄存器;

3、WriteControlLogic:写保护控制逻辑;

4、HighVoltageGenerators:电荷泵生成内部高压,用于存储单元的擦除和读写;

5、PageAddressLatch:页地址锁存

6、ByteAddressLatch:字节地址锁存

7、WriteProtectLogicandrowdecode:写保护逻辑和行解码,行即为字线。

8、Columndecodeand256bytepagebuffer:列解码和256KB页buffer,列即为位线,从这可以看出flash内部的读写是以page为单位。我理解为一页即为一根字线下挂的256*8个存储单元,也即256*8根位线。

9、存储阵列:一共256个64KBblock,每个block有16个4KB的sector。

10、SFDPregister:256字节串行Flash可发现参数(SFDP)寄存器,包含器件配置信息、可用指令和其他特性。

11、Securityregister:芯片提供3个256字节的安全寄存器,用于存储制造信息或其他重要信息,此寄存器可以单独编程或擦除。

4器件操作

4.1操作框图

【FLASH存储器系列五】SPI NOR FLASH芯片使用指导之一

        这是从另一款芯片手册上截下来的图,W25Q128这款不支持4字节地址模式,所以换了这个图能更全面的说明spinorflash的操作特性。

4.2标准SPI

        标准SPI接口总线通过CLK、CS#、DI和DO进行访问。W25Q128支持SPI模式0和模式3的操作。当SPI总线控制器处于待机状态不传送数据时,模式0下的时钟信号SCK为低,而模式3下的时钟信号CLK为高。在两种模式下,DI上的数据都是在时钟上升沿被采样,DO上的数据在时钟下降沿输出。如下图所示:

【FLASH存储器系列五】SPI NOR FLASH芯片使用指导之一

4.3DaulSPI

        支持DualSPI操作指令包括“双口输出快速读(3Bh)”、“双口I/O快速读(BBh)”、“4-字节双口输出快速读(3Ch)”、“4-字节双口I/O快速读(BCh)”、“双口输出DTR快速读(3Dh)”、“双口I/ODTR快速读(BDh)”、“4-字节双口输出DTR快速读(3Eh)”、“4-字节双口I/ODTR快速读(BEh)”。这些指令允许数据输入或输出达到普通SPI两倍的速度。双口读指令是快速下载数据到RAM或直接从SPI总线上本地执行非关键速度代码的理想操作。当使用双口SPI指令时,DI和DO引脚成为双向I/O引脚DQ0和DQ1。

        以上4字节命令和DTR命令,W25Q128不支持。

4.4QaudSPI

        支持QuadSPI操作指令包括“四口输出快速读(6Bh)”、“四口I/O快速读(EBh)”、“4-字节四口输出快速读(6Ch)”、“4-字节四口I/O快速读(ECh)”、“四口输出DTR快速读(6Dh)”、“四口I/ODTR快速读(EDh)”、“4-字节四口输出DTR快速读(6Eh)”、“4-字节四口I/ODTR快速读(EEh)”。QuadSPI读指令在连续和随机访问速度有极大提高,允许快速代码映射到RAM或直接从SPI总线上执行代码(XIP)。当使用QuadSPI指令时,DI、DO、WP#和HOLD#引脚成为双向I/O引脚DQ0、DQ1、DQ2、DQ3。QuadSPI模式要求状态寄存器2中的“QE位”必须设置为1。

        以上4字节命令和DTR命令,W25Q128不支持。

4.5QPI

        支持完全的四口模式(QuadPeripheralInterface-QPI),即所有指令、地址输入、数据输入输出都为四口。“启用QPI(35h)”指令可以使器件从标准/Dual/QuadSPI模式切换到QPI模式,SPI模式和QPI模式不会同时生效。由于QPI模式下只需要2个时钟输入指令,在XIP应用中可提升系统性能。SPI和QPI模式间通过“启用QPI(35h)”指令和“禁用QPI(35h)”进行切换,也可以通过NVCR和ENVCR寄存器中的“QPI模式位”进行设置.上电、硬件复位或软件复位后,器件的默认模式受NVCR寄存器中的“QPI模式位”控制。当使用QPI指令时,DI、DO、WP#和HOLD#引脚成为双向I/O引脚:DQ0、DQ1、DQ2、DQ3。QPI模式要求状态寄存器2中的“QE位”必须设置为1。

4.6DTR(W25Q128不支持)

        为了在不增加时钟频率时有效提高读操作数据带宽,支持标准/Dual/QuadSPI和QPI模式的DTR读操作。DTR读操作时的指令输入和正常的SPI/QPI模式一样,只在时钟上升沿采样指令,一旦DTR指令生效,地址输入和数据输出同时在时钟上升沿和下降沿有效。

4.73-字节/4-字节地址模式(W25Q128只支持3字节)

        3-字节地址模式用于兼容256M位容量以下串行SPINORFLASH存储器。为了在3-字节地址模式访问128M位容量以上地址,必须联合使用“扩展地址寄存器(ExtendedAddressRegister)”。4-字节地址模式可以支持256M位到32G位容量,而不需要设置“扩展地址寄存器(ExtendedAddressRegister)”。器件在上电后由“NVCR寄存器”中的“ADP位”确定地址模式处于3-字节地址模式或4-字节地址模式。如果ADP=0,器件工作在3-字节地址模式;如果ADP=1,器件工作在4-字节地址模式。出厂时ADP=0。可通过“进入4-字节地址模式”或“退出4-字节地址模式”进行3-字节和4-字节地址模式切换。标志寄存器(FlagRegister)中的“ADS位”表示器件当前所处的地址模式,“ADS=0”指示3-字节地址模式,“ADS=1”指示4-字节地址模式。

4.8保持功能

        在标准/DualSPI模式下,HOLD#信号允许在片选有效时(CS#=0)暂停操作。HOLD功能可以用于器件的数据和时钟管脚与其它器件共享的情况。比如,执行页编程指令过程中仅将部分数据写入缓冲区时,系统中产生了一个更高优先级的中断要求使用SPI总线。在这种情况下,HOLD#功能可以保存当前指令的执行状态以及缓冲区中的数据,当总线可用时恢复指令写入。要进入HOLD状态,CS#必须为低。如果此时CLK信号为低,则芯片会在HOLD#的下降沿进入HOLD状态,否则芯片在下一个时钟的下降沿进入HOLD状态。如果HOLD#的上升沿时CLK为低,则芯片结束HOLD状态,否则芯片在下一个下降沿时结束HOLD状态。在HOLD状态下,串行数据输出脚(DO)为高阻态,串行数据输入脚(DI)和串行时钟脚(CLK)被忽略。片选信号(CS#)在整个HOLD期间必须为低以避免芯片内部逻辑状态被复位。

【FLASH存储器系列五】SPI NOR FLASH芯片使用指导之一

4.9软复位和硬复位

        在SPI或QPI模式下,都可以通过软复位指令序列(包含2个连续指令:使能复位指令“66h”和复位指令“99h”)、硬件复位(HOLD#/RESET#引脚)可以把器件初始化成上电状态。复位过程中除了读状态寄存器,其他指令无效。状态寄存器2中的“HOLD/RST位”可以把HOLD#引脚配置为HOLD#功能或者硬件复位功能。当HOLD/RST=0(出厂默认),HOLD#已经作为HOLD功能引脚;当HOLD/RST=1时,HOLD#作为硬件复位RESET#引脚。维持RESET#低约1us可以把器件复位为上电后的初态。复位可以终止任何的编程、擦除操作,如果编程、擦除中被复位,被操作区域的数据可能会被破坏,需要重新进行编程或擦除操作。当RESET#维持低时,器件不接受任何指令。如果状态寄存器2中的“QE位”为1时,HOLD#将作为DQ3,“HOLD/RST位”无意义。

注意:

1.当RESET#维持低电平小于1us时(几百ns),也可能会触发复位,但是为了稳定可靠复位,建议RESET#维持低电平不小于1us。

2.当器件在擦除、编程过冲中或挂起时接受到复位操作,数据可能会收到破坏。建议复位前先检查状态寄存器1的“WIP位”和标志寄存器中的编程和擦除“SUS位”。

4.10XIP

        XIP模式只需要输入地址(不需要指令)就可访问特定地址读出数据,减少随机访问时间,所有的快速读操作都支持XIP操作。为了灵活性,支持多种进入、退出XIP模式。如果需要上电后立即进入XIP模式,需要设置NVCR寄存器中的“XIP模式位”。

        为了启用XIP模式,需要2个步骤。首先设置VCR寄存器的“XIP位”(bit3)为0,然后在读操作阶段设置“XIP确认位”(bX)为0,之后XIP模式生效。一旦进入XIP模式,CS#变低后马上跟随地址(不接受指令)。通过设置“XIP确认位”为1退出XIP模式。退出XIP模式时,VCR寄存器的“XIP位”(bit3)会自动恢复到默认状态1。JFM25QL256/EFM25QL256支持上电立即进入XIP模式,需要通过NVCR的“上电XIP位”(bit[11:9])设置,只支持QuadIO模式。跟正常读操作XIP模式一样,上电后进入的XIP模式可通过“XIP确认位”(bX)维持或退出XIP模式。

【FLASH存储器系列五】SPI NOR FLASH芯片使用指导之一

注:bX是XIP确认位,设置为0保持XIP模式,设置为1则退出XIP模式回到标准的读操作模式(CS#变低后需要读指令进行读操作)。
“XIP确认位”在设置为0或1后可进入或退出XIP模式,位于快速读操作的DUMMY时钟阶段第一拍DQ0数据,时钟上升沿锁存XIP配置。

        XIP确认位说明:

XIP确认位

说明

0

进入或维持XIP,即下次读操作仍在XIP模式,不需要指令。

1

退出XIP模式,即下次读操作需要在CS#变低后,输入读指令

        不同协议下,XIP的影响:

协议

说明

DualSPI

DUMMY时钟阶段第一拍DQ1无意义。

QuadSPI或QPI

DUMMY时钟阶段第一拍DQ3~1无意义。

        在控制器或存储器复位后退出XIP模式:

        如果控制器或存储器异常复位,且存储器是否处于XIP模式,为了退出XIP模式回到待机状态,需进行以下操作:

        在QuadSPI或QPI模式下,CS#变低后维持DQ0=1至少7个时钟(3-字节地址模式)或9个时钟(4-字节地址模式),之后CS#变高回到待机状态。

        在DualSPI模式下,CS#变低后维持DQ0=1至少13个时钟(3-字节地址模式)或17个时钟(4-字节地址模式),之后CS#变高回到待机状态。

        在标准SPI模式下,CS#变低后维持DQ0=1至少25个时钟(3-字节地址模式)或33个时钟(4-字节地址模式),之后CS#变高回到待机状态。

        这些序列可以设置“XIP确认位”为1,从而退出XIP模式,器件回到待机状态。

        下一讲继续分享这款芯片的寄存器、写保护操作、指令集等内容,敬请期待!文章来源地址https://www.toymoban.com/news/detail-417918.html

到了这里,关于【FLASH存储器系列五】SPI NOR FLASH芯片使用指导之一的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【FLASH存储器系列八】ONFI数据接口详述之一

    👉个人主页: highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 目录 1.1 数据接口类型概览 1.2 信号功能分配 1.3 接口模式切换         ONFI目前支持5中不同的数据接口类型:SDR,NV-DDR,NV-DDR2、NV-DDR3和NV-LPDDR4。SDR是传统的NAND接口,使

    2024年02月13日
    浏览(67)
  • [深入理解NAND Flash (原理篇)] Flash(闪存)存储器底层原理 | 闪存存储器重要参数

    传送门 总目录  所在专栏   《 深入理解SSD》 个人辛苦整理,付费内容,禁止转载。 内容摘要 从底层物理原理上了解 Nand Flash。 现代计算机构想是基于冯 · 诺依曼架构的图灵计算机设备,图灵从理论上去论证了现代计算机可以实现,也就是给现代计算机注入了灵魂,而冯

    2024年02月06日
    浏览(47)
  • ROM、RAM、内存、内存条、外存、内部存储器、外部存储器、FLASH等之间的关系

    ​   各位看到这一系列的名词,是否也曾感受到一头雾水?研究了一上午终于理清了它们之间的关系,直接上图说明,相信你看完也能恍然大悟!若有错误麻烦在评论区指出。 这里有几点需要明确: 存BOIS的ROM也属于内存(因为CPU也可以对其直接寻址),但我们生活中常说

    2023年04月26日
    浏览(55)
  • 单板硬件设计:存储器SD卡( NAND FLASH)

    在单板设计中,无论是涉及到一个简易的CPU、MCU小系统或者是复杂的单板设计,都离不开存储器设计: 1、存储器介绍 存储器的分类大致可以划分如下: ROM和RAM指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的

    2024年02月05日
    浏览(35)
  • IC设计-存储器分类汇总(区别RAM、ROM、SRAM、 DDR、EEPROM、FLASH)

    1、存储器分类图 2、用分类对比的方法介绍不同的存储器特点 2.1  存储器按照用途分类 :        可以分为 主存储器(内部存储)和辅助存储器(外部存储) 。主存储器是指CPU能直接访问的,有内存、一级/二级缓存等,一般采用半导体存储器;辅助存储器包括软盘、硬盘

    2024年02月02日
    浏览(36)
  • 【基于FPGA的芯片设计】32位RISC-V存储器

    实验板卡 :xc7a100tlc sg324-2L,共20个开关 实验要求    

    2024年02月15日
    浏览(37)
  • 计算机组成原理第五章----存储器容量的扩展与芯片连接

    目录 存储器芯片与CPU的连接 典例 典例二 主存储器容量的扩展与连接方法 位拓展  字拓展  例题 主存大小计算 总结: 1. 确定所需芯片的 数量 (可以通过计算得出) 2. 确定每个芯片的分配地址 (区分最大地址还是最小地址,容量) 3. 确定每个芯片 片选信号CS 的产生方式

    2024年02月11日
    浏览(56)
  • 【计算机三级嵌入式】考试自学笔记(三)——嵌入式系统硬件组成、嵌入式处理芯片以及存储器介绍

    常考知识点: 嵌入式最小硬件组成 嵌入式处理芯片 嵌入式系统的存储器 I/O接口及常用I/O设备 ARM内核典型嵌入式处理芯片 嵌入式系统外部通信接口 嵌入式最小硬件系统的组成如下: 嵌入式硬件系统≠嵌入式最小硬件系统 电源电路 :为整个嵌入式系统提供能量 时钟电路 :

    2023年04月12日
    浏览(88)
  • STM32F407单片机通用24CXXX读写程序(KEIL),兼容24C系列存储器(24C01到24C512),支持存储器任意地址跨页连续读写多个页

    原文链接:https://blog.csdn.net/ba_wang_mao/article/details/108318633 AT24C01,AT24C02,AT24C04,AT24C08,AT24C16,AT24C32,AT24C64,AT24C128,AT24C256…不同的xxx代表不同的容量。 总容量(Byte容量) = 页数 × 页内字节单元数。 对AT24CXXX进行读写操作时,都得先访问存储地址、比如AT24C01写一个字节的I

    2024年04月11日
    浏览(65)
  • STC单片机存储器介绍和使用

    🌿STC15F2K60S2系列内部结构框图 🌿STC12C5A60S2系列内部结构框图 📑程序存储器(ROM/Flash) 🔖STC单片机ROM容量大小可以根据其型号和命名规则了解到。 🌿STC15

    2024年02月09日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包