0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

物联网行业存储方案详解_SPI NAND Flash

jf_94171069 来源:jf_94171069 作者:jf_94171069 2024-09-24 14:56 次阅读

物联网系统中为什么要使用SPI NAND flash

物联网系统中使用SPI NAND Flash的原因主要有以下几点:

高存储密度

SPI NAND Flash相比传统的NOR Flash,在同样的物理尺寸下能够提供更大的存储容量。这一特性使得SPI NAND Flash能够在有限的空间内存储更多的数据,非常适合物联网设备中对于存储容量的高需求。物联网设备通常需要存储大量的数据日志、传感器数据等,而SPI NAND Flash的高存储密度恰好满足了这一需求。

成本效益高

由于NAND Flash具有更高的存储密度,其生产成本相对较低。因此,SPI NAND Flash在提供高容量存储的同时,也具备较高的性价比。这对于物联网设备的制造商来说,是一个重要的考虑因素,因为物联网设备通常需要大规模部署,成本控制尤为重要。

接口简单且低功耗

SPI接口只需要少量的引脚(通常为6个:SCK、CS、MOSI、MISO、WP和HOLD),这使得硬件设计更加简单,减少了PCB空间和成本。同时,SPI NAND Flash的功耗通常较低,非常适合电池供电的便携设备和物联网设备。低功耗特性有助于延长设备的续航时间,减少更换电池或充电的频率,提高用户体验。

数据可靠性和读写性能

选择合适的SPI NAND Flash产品时,需要考虑数据可靠性和读写性能等因素。具备错误校正码(ECC)功能的SPI NAND Flash可以提高数据可靠性,减少数据错误和丢失的风险。同时,根据实际应用需求选择合适的读写性能,可以确保数据的快速访问和处理。

广泛的应用场景

SPI NAND Flash广泛应用于嵌入式系统、物联网设备、消费电子等领域。在物联网系统中,SPI NAND Flash常用于存储固件、配置数据和用户数据等关键信息。这些信息的可靠存储对于物联网设备的正常运行至关重要。 适用于嵌入式系统,尤其是对存储容量和成本敏感的应用,如一些物联网设备。选择合适的Flash类型应基于具体应用需求,考虑性能、功耗、寿命、成本和集成度等因素。

综上所述,物联网系统中使用SPI NAND Flash的原因主要包括高存储密度、成本效益高、接口简单且低功耗、广泛的应用场景以及数据可靠性和读写性能等方面的优势。这些优势使得SPI NAND Flash成为物联网系统中不可或缺的存储解决方案。

本文会再为大家详解存储器家族中的一员——SPI NAND flash。

1、SPI NAND flash的概念

在嵌入式系统领域,作为存储设备的NOR Flash和NAND Flash,而NAND Flash由于采用了地址数据线复用的方式,并且统一了接口标准规定(x 8 bit or x 16 bit),从而在不同容量的兼容性上面基本没有问题,所以这类封装及接口形式沿用了很多年。近些年随着产品小型化的需求越来越强烈,并且对方案成本的要求越来越高,SPI NAND Flash逐渐出圈。

SPI NAND Flash方案的主控(MCU)内可以不需要带有传统NAND的控制器,只需要有SPI的接口,再加入内置ECC,这样可以减少主控的成本,以及省掉MCU做为硬件或软件ECC的功能。

另外,SPI NAND Flash的封装形式多采用 WSON、TFBGA等封装,尺寸比传统的NAND Flash TSOP的封装要小很多,充分节省了PCB板的空间,较少的管脚数量,从而可以减小PCB的尺寸及层数,既满足了市场小型化的需求也降低了产品的成本。

wKgZombyYj6AG7GSAAAVY93h-BE373.png

2、SPI NAND flash的读写介绍

对flash芯片的操作,一般包括对flash芯片的擦除,编程和读取,各大厂商的SPI flash芯片都大同小异,操作命令基本是没什么变化的,当我们拿到一款芯片,要特别注意芯片的容量,操作分区等。

其实,无论是对芯片的擦除,编程还是读取操作,我们大致可以按照以下的套路来:写命令---写地址---写(读)数据。正如以下的时序图一样清晰明了,我们先把片选信号拉低,再依次写指令,地址和数据,就可以对FLASH芯片进行操作。

wKgaombyYoKAJR18AAA-Mc4_byE671.jpg

掌握以上方法,就可以轻松操作SPI flash芯片了,当然,对时序这种底层的操作,还需要不断学习和积累,不论是用FPGA还是MCU,最终都是为了产生时序信号,只要静下来认真理解了它,一切问题就迎刃而解了。

3、SPI NAND flash使用注意事项

3.1.不同的SPI FLASH芯片可能会提供的擦除方式:扇区擦除(4KBytes),半块擦除(32KBytes),块擦除(64KBytes),片擦除。

3.2.不同的SPI FLASH芯片可能会提供的编程方式(也就是写数据):页编程(256Bytes),扇区编程(4KBytes)。

3.3.SPI FLASH如果擦除过,在往里面写0xFF这样的数据意义不大,因为它的特性就是擦除后数据就是0xFF。

3.4.写入flash时,只能把数据(bit)从1改为0。

3.5.传统的EEPROM的特点就是可以随机访问和修改任何一个字节,可以往每个bit中写入0或1。而写入flash时,只能把数据(bit)从1改为0。但是传统的EEPROM容量因成本的缘故收到限制,绝少有超过有512K的。

3.6.Nor Flash容量相对小,成本高,基本没坏块,数据线和地址线分开,可以实现随机寻址,读取任何一个字节,擦除任然要按块来擦。NAND FLASH容量大,成本低,坏块经常出现,但可以标记坏块,使软件跳过,数据线和地址线复用,按块擦除按页读取。

4、SPI NAND flash接口介绍

SPI NAND接口

一般来说,SPI的接口就是6个IO,CS, CLK, SI, SO, WP, HOLD。

wKgZombyYoOAUFHZAADlv5_JaZE026.jpg

wKgaombyYoSAdM5HAAA027ar0Sw308.jpg

基本上接口跟Quad SPI FLASH是一样的。支持一根线,两根线和四根线的模式。

下面是MX35LF1GE4AB 这片SPI NAND 的verilog module的定义

wKgZombyYoWAJO_PAACxsnluU3E259.jpg

寻址

SPI NAND最大存储单元是PLANE,一个PLANE有多个block,一个block有多个PAGE,PAGE是SPI NAND最小的存储单元。

这里以MX35LF1GE4AB为例,

一个PLANE有2048个block。

一个block有64个page

一个page中2111个byte。

wKgaombyYoqAXAgRAAF-b_rIFbo339.jpg

RA是行地址,行地址的16:6位用来寻址Block,行地址的5:0位用来寻址PAGE。CA为列地址,一共12位,寻址空间是4096。但是SPI NAND中只有一部分是可用的,这里只有0到2112个byte是可用的,其余的地址空间都是out of bound。

常用型号

wKgZombyYouANZvoAAAykizxP3A451.jpg

Feature寄存器

Feature寄存器每个芯片的定义都不一样,这里以MX35LFxGE4AB为例

wKgaombyYoyALDj7AAK5WzQt9TM249.jpg

MX35LFxGE4AB一共有三个feature寄存器。

A0 寄存器用做一些Block的写保护

B0寄存器是Secure OTP。QE表示使能Quad模式, ECC表示使能ECC。

C0寄存器是状态寄存器,一般用于查询以下

OIP: FLASH是否处于操作模式,1: Busy, 0: Ready

WEL: 是否写使能,1: write enable, 0: not write enable

E_FAIL: 擦除错误,0: Passed, 1: Failed

P_FAIL:编程错误, 0: Passed, 1: Failed

ECC_S0, ECC_S1,ECC状态,00b = 0 bit error,01b = 1 to 4 bits error corrected,10b = More than 4-bit error not corrected,11b = Reserved

时序

wKgZombyYo2AWlnBAASSjEzmasU506.jpg

5、优劣势

- 优点: - 相对较大的存储容量。 - 相对较低的成本。 - 缺点: - 速度较慢,不适合高速读取。 - 对比SPI NOR Flash,寿命较短。

供应商A:江波龙

https://cn.longsys.com/product/industrialstorage/spinandflash.html

1、产品能力

(1)选型手册

wKgaombyYo2AUX_UAAGceYHj5tg634.jpg

(2)主推型号1:FS35ND02G-s3Y2QWFI000

对应的产品详情介绍

wKgZombyYo6AUOVkAAIgUJK-EiA380.jpg

2、支撑

(1)技术产品

技术资料

M-00138FORESEE_SPINAND_FS35ND02G-S3Y2_Datasheet_1648692137.pdf

供应商B:博雅

http://www.boyamicro.com/

1、产品能力

(1)选型手册

wKgaombyYo-AIEZLAAE6U2vRtik931.jpg

wKgZombyYo-AKH70AAD5UU6_1Gk792.jpg

(2)主推型号1:BY25Q01GFS

对应的产品详情介绍

wKgaombyYpCABC8BAAOJURPppSU726.jpg

wKgZombyYpGAN33TAAIZnH0gD3A859.jpg

(3)主推型号2:BY25Q512FSEIG

对应的产品详情介绍

wKgaombyYpKAZaKvAARlZuVcvmI364.jpg

wKgZombyYpOAfLxSAAKnKd1HVRg282.jpg

2、支撑

(1)技术产品

技术资料

BY25Q01GFS

BY25Q512FSEIG

供应商C:华邦电子

https://www.winbond.com/hq?__locale=zh

1、产品能力

(1)选型手册

https://www.winbond.com/hq/product/code-storage-flash-memory/qspinand-flash/?__locale=zh

(2)主推型号1:W25N01GVZEIG

对应的产品详情介绍

说明

W25N01GV(1G位)串行SLC NAND闪存为具有空间、引脚和电源有限。w25nsipflash系列集成了流行的SPI接口和传统的大NAND非易失性存储空间。他们是理想的代码跟踪到内存,执行直接从双/四SPI(XIP)编码并存储语音、文本和数据。这个装置在一个单独的机器上工作2.7V至3.6V电源,电流消耗低至25mA,有效电流为10µA待命。全部W25N W25N01GV 1G位内存阵列被组织成65536个可编程页,每个页2048字节。 整个页面可以使用2048字节内部缓冲区的数据一次编程。也可按64组擦除(128KB块擦除)。W25N01GV有1024个可擦除块。 W25N01GV支持标准串行外围接口(SPI)、双/四路I/O SPI:串行时钟,芯片选择、串行数据I/O0(DI)、I/O1(DO)、I/O2(/WP)和I/O3(/HOLD)。SPI时钟频率高达 支持104MHz,允许双I/O和416MHz的等效时钟速率为208MHz(104MHz x 2)(104MHz x 4)用于使用快速读取双/四路I/O指令时的四路I/O。 W25N01GV提供了一种新的连续读取模式,可以有效地访问整个系统具有单个读取命令的内存阵列。此功能非常适合代码阴影应用程序。 一个保持引脚,写保护引脚和可编程写保护,提供进一步的控制灵活性。此外,该设备支持JEDEC标准制造商和设备ID,一个2048字节的唯一ID页,一个2048字节的参数页和十个2048字节的OTP页。提供更好的NAND闪存内存可管理性,用户可配置的内部ECC,坏块管理也可以在W25N01GV。

特征 新的W25N系列SpiFlash存储器 –W25N01GV:1G位/128M字节 –标准SPI:CLK,/CS,DI,DO,/WP,/保持 –双SPI:CLK,/CS,IO0,IO1,/WP,/Hold –四SPI:CLK,/CS,IO0,IO1,IO2,IO3

 最高性能串行NAND闪存 –104MHz标准/双/四SPI时钟 –208/416MHz等效双/四SPI –50MB/S连续数据传输速率 –快速编程/擦除性能 –超过100000次擦除/编程周期 –超过10年的数据保留期

 低功耗,宽温度范围 –单2.7至3.6V电源 –25mA有效,10µ备用电流 – -40°C到+85°C工作范围

 具有128KB块的灵活体系结构 –统一128K字节块擦除 –灵活的页面数据加载方法

 高级功能 –用于存储阵列的片上1位ECC –ECC状态位表示ECC结果 –错误的块管理和LUT访问 –软件和硬件写保护 –电源锁定和OTP保护 –2KB唯一ID和2KB参数页 –10个2KB OTP页面

 节省空间的包装 –8垫WSON 8x6毫米 –16针SOIC 300密耳 –24球TFBGA 8x6毫米 –联系Winbond获取其他套餐选项

2、支撑

(1)技术产品

技术资料

C907680_NAND+FLASH_W25N01GVZEIG_规格书_WINBOND(华邦)NAND+FLASH规格书.PDF

本文章源自奇迹物联开源的物联网应用知识库Cellular IoT Wiki,更多技术干货欢迎关注收藏Wiki:Cellular IoT Wiki 知识库(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf)

欢迎同学们走进AmazIOT知识库的世界!

这里是为物联网人构建的技术应用百科,以便帮助你更快更简单的开发物联网产品。

Cellular IoT Wiki初心:

在我们长期投身于蜂窝物联网 ODM/OEM 解决方案的实践过程中,一直被物联网技术碎片化与产业资源碎片化的问题所困扰。从产品定义、芯片选型,到软硬件研发和测试,物联网技术的碎片化以及产业资源的碎片化,始终对团队的产品开发交付质量和效率形成制约。为了减少因物联网碎片化而带来的重复开发工作,我们着手对物联网开发中高频应用的技术知识进行沉淀管理,并基于 Bloom OS 搭建了不同平台的 RTOS 应用生态。后来我们发现,很多物联网产品开发团队都面临着相似的困扰,于是,我们决定向全体物联网行业开发者开放奇迹物联内部沉淀的应用技术知识库 Wiki,期望能为更多物联网产品开发者减轻一些重复造轮子的负担。

Cellular IoT Wiki沉淀的技术内容方向如下:

wKgaombqoM2AYL2RAAQrZ8e-uz8392.jpg

奇迹物联的业务服务范围:基于自研的NB-IoT、Cat1、Cat4等物联网模组,为客户物联网ODM/OEM解决方案服务。我们的研发技术中心在石家庄,PCBA生产基地分布在深圳、石家庄、北京三个工厂,满足不同区域&不同量产规模&不同产品开发阶段的生产制造任务。跟传统PCBA工厂最大的区别是我们只服务物联网行业客户。

连接我们,和10000+物联网开发者一起降低技术和成本门槛

让蜂窝物联网应用更简单~~

哈哈你终于滑到最重要的模块了,

千万不!要!划!走!忍住冲动!~

欢迎加入飞书“开源技术交流群”,随时找到我们哦~

点击链接如何加入奇迹物联技术话题群(https://rckrv97mzx.feishu.cn/docx/Xskpd1cFQo7hu9x5EuicbsjTnTf)可以获取加入技术话题群攻略

Hey 物联网从业者,

你是否有了解过奇迹物联的官方公众号“eSIM物联工场”呢?

这里是奇迹物联的物联网应用技术开源wiki主阵地,欢迎关注公众号,不迷路~

及时获得最新物联网应用技术沉淀发布

(如有侵权,联系删除)

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2897

    文章

    43633

    浏览量

    368180
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1677

    浏览量

    90930
  • Nand flash
    +关注

    关注

    6

    文章

    240

    浏览量

    39691
收藏 人收藏

    评论

    相关推荐

    并行Nand Flash的结构和基本工作过程

    引言:并行Nand Flash是中等容量存储方案的理想选择,相比于SPI Nand
    发表于 08-11 15:50 2194次阅读
    并行<b class='flag-5'>Nand</b> <b class='flag-5'>Flash</b>的结构和基本工作过程

    CS 创世SD NAND FLASH 存储芯片,比TF卡更小巧轻便易用的大容量存储,TF卡替代方案

    /6196382.html   下图是大小比对,可以看到 创世SD NAND的尺寸非常小,而且是一种可以表贴的存储芯片。 []()   SD NAND FLASH是第二代产品,无需安装
    发表于 01-24 18:30

    SPI NAND FLASH 的简介和优点

    了很多年,近些年随着产品小型化的需求越来越强烈,并且对于方案成本的要求越来越高,SPI NAND flash逐渐进入了很多工程师的眼中。如果采用SP
    发表于 08-07 17:01

    SPI NAND FlashSPI NOR Flash的区别在哪里?

    Flash按照内部存储结构的不同,可以分为哪几种?Nor FlashNand Flash有什么区别?
    发表于 06-18 08:46

    SPI Nand Flash 简介

    WL= 4 Pages目前 SPI NAND flash的使用在网通类,消费类的市场多了;因为nor flash 可以被SPI
    发表于 07-01 10:28

    如何存储MQX web page到NAND FLASH

    如何存储MQX web page到NAND FLASH
    发表于 11-26 14:51 0次下载

    SPI flash是什么,关于SPI FLASH的读写问题

    SPI一种通信接口。那么严格的来说SPI Flash是一种使用SPI通信的Flash,即,可能指NOR也可能是
    的头像 发表于 09-18 14:38 10.3w次阅读
    <b class='flag-5'>SPI</b> <b class='flag-5'>flash</b>是什么,关于<b class='flag-5'>SPI</b> <b class='flag-5'>FLASH</b>的读写问题

    SPI flash如何运行程序,SPI flash有哪些应用

    SPI一种通信接口。那么严格的来说SPI Flash是一种使用SPI通信的Flash,即,可能指NOR也可能是
    的头像 发表于 09-19 10:54 1.9w次阅读
    <b class='flag-5'>SPI</b> <b class='flag-5'>flash</b>如何运行程序,<b class='flag-5'>SPI</b> <b class='flag-5'>flash</b>有哪些应用

    NAND Flash存储结构以及NAND Flash的接口控制设计

    Nand flashflash存储器的其中一种,Nand flash其内部采用非线性宏单元模式
    发表于 11-03 16:12 4296次阅读
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b> 的<b class='flag-5'>存储</b>结构以及<b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>的接口控制设计

    Nand Flash文件系统解决方案

    Nand Flash文件系统解决方案(嵌入式开发一般考什么证书)-ST提供适用于SLC的NFTL(NAND Flash Translatio
    发表于 07-30 10:41 9次下载
    <b class='flag-5'>Nand</b> <b class='flag-5'>Flash</b>文件系统解决<b class='flag-5'>方案</b>

    常见flash讲解——NANDSPI、EMMC

    目录存储颗粒与外部控制器常见的flash对比内置还是外接Flash使用难度flash选择总结NAND F
    发表于 12-01 19:51 25次下载
    常见<b class='flag-5'>flash</b>讲解——<b class='flag-5'>NAND</b>、<b class='flag-5'>SPI</b>、EMMC

    SPI Nand Flash简介

    1.SPI Nand Flash简介SPI Nand Flash顾名思义就是串行接口的
    发表于 12-02 10:51 34次下载
    <b class='flag-5'>SPI</b> <b class='flag-5'>Nand</b> <b class='flag-5'>Flash</b>简介

    一文了解SPI NAND FlashSPI NOR Flash的区别

    在嵌入式系统领域,作为存储设备的NOR FlashNAND Flash,大家应该不陌生。早期NOR Flash的接口是并行口的形式,也就是
    的头像 发表于 03-06 09:49 6477次阅读

    SD NANDSPI NAND的区别

    SD NANDSPI NAND各有优缺点,适用于不同的应用场景。SD NAND提供更高的读写速度和大容量存储,适合需要高性能和大容量
    的头像 发表于 06-04 14:26 1347次阅读

    联网行业存储方案详解_SPI NOR Flash

    SPI NOR FLASH存储器在初始响应和启动时提供高可靠性,并具有低时延。这一特性对于联网设备至关重要,因为
    的头像 发表于 09-24 14:39 118次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>行业</b><b class='flag-5'>存储</b><b class='flag-5'>方案</b><b class='flag-5'>详解</b>_<b class='flag-5'>SPI</b> NOR <b class='flag-5'>Flash</b>