串行Nor Flash的结构和参数特性

文章目录

  • 引言
  • 1、Nor Flash的结构
  • 2、Nor Flash的类别
  • 3.标准Serial Nor Flash的特征属性
    • 1.Wide Range VCC Flash
    • 2.Permanent Lock
    • 3.Default Lock Protection
    • 4.Standard Serial Interface
    • 5.Multi-I/O
    • 6.Multi-I/O Duplex (DTR)
    • 7.XIP(片上执行)
  • 4.标准Serial Nor Flash的结构
  • 5.标准Serial Nor Flash的接口
    • 1.标准SPI
    • 2.Multi I/O SPI
    • 3.QPI
    • 4.其它类型Serial Nor Flash


引言

串行Nor Flash是一类使用比较多的存储器件,在特殊应用场景中具有不可替代的地位,本节介绍串行Nor Flash的结构和参数特性。

1、Nor Flash的结构

Nor Flash的结构原理图见图1-1,可见每个Bit Line下的基本存储单元是并联的,当某个字节线被选中后,就可以实现对该字节的读取,也就是可以实现位读取(即Random Access),且具有较高的读取速率,图1-1是一个3*8bit的Nor Flash的原理结构图(图中Bit位标识错误,实际为Bit0-Bit7)

在这里插入图片描述
基本存储单元的并联结构决定了金属导线占用很大的面积,因此Nor Flash的存储密度较低,适合关键代码存储,而不适用于诸如数据存储这样需要大容量存储的应用场合,此外Nor Flash写入速率较低,不适用于频繁擦除/写入场合。

2、Nor Flash的类别

在这里插入图片描述

3.标准Serial Nor Flash的特征属性

1.Wide Range VCC Flash

Serial Nor Flash可节省60%以上的功耗,并具有宽VCC电压特性,支持3V、2.5V和1.8V(1.65V-3.6V)。

2.Permanent Lock

具有永久锁定功能的Nor Flash提供了极端的写保护机制,此安全功能可以将闪存的块或扇区永久设置为只读,可用于保护系统操作免受故意篡改。

3.Default Lock Protection

默认的锁定保护功能针对参数保护应用程序进行了优化,这些产品利用BP易失性保护位来保护选定的内存启动区域,防止程序被滥用,并擦除受保护区域中的指令。

4.Standard Serial Interface

在单个3V或2.5V电源电压下提供标准串行接口SPI-X1、SPI-X2、QSPI,频率从33MHZ-166MHZ。

5.Multi-I/O

Multi-I/O提供两种多输入/输出接口:提供多输入/多输出接口或者提供单输入/多输入接口,并且都可用于Quad I/O操作,使得应用程序的系统读取性能提高了四倍。

6.Multi-I/O Duplex (DTR)

Multi-I/O Duplex (DTR)提供具有DTR(双传输速率)模式操作的四输入/输出接口,SPI DTR允许在较低时钟频率下运行的同时实现高数据吞吐量。SPI DTR Read模式使用时钟的上升沿和下降沿来驱动输出,从而将输入和输出周期减少一半。

数据传输速率最高可达800MHz,为了扩展Multi-I/O双工类型的I/O选择,还有具有DTR(双传输速率)模式操作的双四路I/O接口,高达1600MHz的数据传输速率,并且还在引导扇区提供独立的块锁定保护。

7.XIP(片上执行)

Nor Flash存储单元的并联结构决定了其读取和我们常见的SDRAM的读取一样,可独立寻址且读取效率高,因此适用于代码储存,且程序可以直接在Nor Flash中运行,即具有RAM的特性。用户可以直接运行装载在Nor Flash里面的代码,这样可以减少SRAM的容量从而节约了成本,Nor Flash需要较长的时间进行擦写,但它提供完整的寻址与数据总线,并允许随机动态存取器件上的任何区域,使得它可以支持XIP,取代老式的ROM芯片(存储几乎不需更新的代码),例如BIOS。

4.标准Serial Nor Flash的结构

在这里插入图片描述

在这里插入图片描述

5.标准Serial Nor Flash的接口

1.标准SPI

4线标准SPI接口,由串行数据输入(SI)、串行数据输出(SO)、串行时钟(SCK)和芯片启用(CE#)引脚组成。指令通过SI引脚发送,以在SCK的上升沿对指令、地址或输入数据进行编码。SO引脚用于读取数据或检查设备的状态。该设备支持SPI总线操作模式(0,0)和(1,1)。SPI产品一般以串行的方式读取信息,也就是每次1比特,它要求的连接较少,所以要求的引脚数也较少。这一更低的成本简化了许多嵌入式设计的电路板设计并降低了外形尺寸。总的针脚数从典型的并行Nor Flash上的47个有效引脚降低到了SPI闪存上的8个有效引脚。

在这里插入图片描述

2.Multi I/O SPI

除了标准的4线配置之外,多输入/输出操作利用增强的SPI协议,将SPI扩展为包括各种IO标准,包括用于减少引脚数的单路和在标准SPI基础上增加了额外的数据线,用于提高吞吐量的双或四路I/O(若配置为四路,则称为QSPI)。

1:双输出

2:双输入和双输出

3:四输出

4:四输入和四输出

在3线模式下,MOSI和MISO线合并为一条双向数据线,如图1-6所示,半双工模式支持双向通信,但减少数据线的数量并以半双工模式运行会降低最大可能的吞吐量。
在这里插入图片描述
当与高速设备通信时,Quad I/O设备可以提供的性能是标准SPI的4倍,图1-8显示了支持Quad IO设备的配置示例。
在这里插入图片描述
通过SPI模式执行这些指令将实现READ和PROGRAM操作的传输带宽的两倍或四倍。有了Multi-I/O,器件能够同时传输和接收1bit、2bit或4bit的数据,实现了更快的速度,并且只需要8个引脚或者只需要4个有效引脚就能维持单I/O SPI原来的好处。

提升的性能意味着能够支持更快的XIP代码执行,能够降低采用较慢的SPI解决方案的系统中所需的RAM数量,还能够实现更快的系统启动速度。利用多种I/O模式的组件可以与并行设备的读取速度相媲美,同时可以减少引脚数。

3.QPI

只有当设备从标准/双路/四路SPI模式切换到QPI模式时,设备才支持四路外围接口(QPI)操作。

QPI(Quad Peripheral Interface,四外设接口)支持2周期指令,进一步减少指令时间。页面可以按4K字节扇区、32K字节块、64K字节块和/或整个芯片的组擦除。统一的扇区和块架构允许高度的灵活性,因此支持QPI器件可以用于需要可靠数据保留的各种应用。

典型的SPI协议要求字节长的指令代码仅通过八个串行时钟中的SI引脚转移到设备中。QPI模式利用所有四个I/O引脚来输入指令代码,因此只需要两个串行时钟,这可以显著减少SPI指令开销并提高系统性能。在任何给定时间,只有QPI模式或SPI/双路/四路模式可以激活。特定指令用于在这两种模式之间切换,而不考虑状态寄存器中的非易失性Quad Enable(QE)位状态,电源重置或软件重置将使设备返回到标准SPI模式。在QPI模式期间,SI和SO引脚变为双向I/O0和I/O1,WP#和HOLD#引脚分别变为I/O2和I/O3。
在这里插入图片描述
传输速度和容量:

Serial Nor Flash容量覆盖512Kb至2Gb,即64KB至256MB(1B=1Byte=8b=8bit),支持3V、2.5V和1.8V供电。

4.其它类型Serial Nor Flash

1.Serial Nor Flash with ECC

带ECC校验的串行Nor Flash,其容量均比较大,一般为128Mb和256Mb容量居多,每64位长度的边界会追加1位错误检测和校正(带ECC),速率为50MHZ-166MHZ。

2.Twin Quad Serial Nor Flash (x8 SPI)

如图1-10所示,即两片支持X4 SPI的Flash叠封在一起,扩展成为X8接口。例如512Mb=256Mb×2;256Mb=128Mb×2,速率80MHZ/166MHZ。
在这里插入图片描述
3.Security Flash

安全闪存,Security Flash支持RPMC(Replay Protection Monotonic Counter,重放保护单调计数器)功能作为额外的安全措施,可以检测硬件攻击,另外还有易失HMAC密钥寄存器、非易失性根密钥寄存器、四个32位单调计数器,同样,带安全保护机制的串行Nor Flash,其容量均做的比较大,一般128Mb起步至2Gb,速率80M-166MHZ。

版权声明:本文为电子发烧友博主「Timothy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.elecfans.com/consume/2210476.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/318282.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java SE入门及基础(11)

程序调试 1. 什么是程序调试 当程序出现问题时,我们希望程序能够暂停下来,然后通过我们操作使代码逐行执行,观察整个过程中变量的变化是否按照我们设计程序的思维变化,从而找问题并解决问题,这个过程称之为程序调试…

Openstack组件glance对接swift

2、glance对接swift (1)可直接在数据库中查看镜像存放的位置、状态、id等信息 (2)修改glance-api的配置文件,实现对接swift存储(配置文件在/etc/glance/glance-api.conf,建议先拷贝一份&#x…

基于反卷积方法的重大突破:结构光系统中的测量误差降低3倍

作者:小柠檬 | 来源:3DCV 在公众号「3DCV」后台,回复「原论文」可获取论文pdf 结构光三维测量技术在工业自动化、逆向工程和图形学领域越来越受欢迎。然而,现有的测量系统在成像过程中存在不完美,会导致在不连续边缘周…

nuxt pm2使用、启动、问题解决方案

pm2简介 pm2是一个进程管理工具,可以用它来管理node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能,在前端和nodejs的世界中用的很多 pm2安装 安装pm2: $ npm install -g pm2查看pm2的安装…

Kafka基本介绍

消息队列 产生背景 消息队列:指的数据在一个容器中,从容器中一端传递到另一端的过程 消息(message): 指的是数据,只不过这个数据存在一定流动状态 队列(queue): 指的容器,可以存储数据,只不过这个容器具备FIFO(先进…

Linux技术,winSCP连接服务器超时故障解决方案

知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系! 故障现象 使用 sftp 协议连接主机时, 明显感觉缓慢且卡顿,并且时常出现如下报错: 点击重新连接后,又有概率重新连接上; 总之在"连接上"和&…

蓝桥杯练习题(六)

📑前言 本文主要是【算法】——蓝桥杯练习题(六)的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 …

分布式系统的三字真经CAP

文章目录 前言C(Consistency 数据一致性)A(Availability 服务可用性)P(Partition Tolerance 分区容错性)CAP理论最后 前言 你好,我是醉墨居士,我一起探索一下分布式系统的三字真经C…

Linux完全卸载Anaconda3和MiniConda3

如何安装Anaconda3和MiniConda3请看这篇文章: 安装Anaconda3和MiniConda3_minianaconda3-CSDN博客文章浏览阅读474次。MiniConda3官方版是一款优秀的Python环境管理软件。MiniConda3最新版只包含conda及其依赖项如果您更愿意拥有conda以及超过720个开源软件包&…

怎么安装es、kibana(单点安装)

1.部署单点es 1.1.创建网络 因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络: docker network create es-net1.2.加载镜像 这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大&#xff0c…

增删改查管理系统 总结1

//提醒: 管理员也要有增删改查 新增员工代码完善2可能需要用到 目录 细节1 pom文件出现奇怪页面? 细节2 如何联系DataGrip与idea? 细节3 Yapi?接口文档?如何有以下画面? ​细节4 如何将时间转化为好看的时间&…

PostgreSQL认证考试PGCA、PGCE、PGCM

PostgreSQL认证考试PGCA、PGCE、PGCM 【重点!重点!重点!】PGCA、PGCE、PGCM 直通车快速下正,省心省力,每2个月一次考试 PGCE考试通知 (2024) 一、考试概览 (一) 报名要…

必练的100道C语言程序设计练习题(上)

前言: 在计算机编程的世界中,C语言一直是一门备受推崇的语言。它的简洁性、高效性以及广泛应用使得学习C语言成为每一位程序员的必由之路。然而,掌握这门语言并不是一蹴而就的事情,它需要不断的练习和实践。为了帮助各位编程爱好者更好地理解…

kafka之java客户端实战

1. kafka的客户端 Kafka提供了两套客户端API,HighLevel API和LowLevel API。 HighLevel API封装了kafka的运行细节,使用起来比较简单,是企业开发过程中最常用的客户端API。 而LowLevel API则需要客户端自己管理Kafka的运行细节,Pa…

通过shell脚本确定当前平台

shell中的变量OSTYPE存储操作系统的名称,也可以使用uname命令来确认当前所在的平台。 shell中的变量HOSTTYPE存储操作系统的架构。 测试代码如下所示: #! /bin/bashecho "use OSTYPE:" if [[ "$OSTYPE" "linux-gnu&quo…

canvas设置渐变色文字(线性、径向)

查看专栏目录 canvas示例教程100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

ssm基于JAVA的酒店客房管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本酒店客房管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

JAVA实现循环日期加一天

一、业务背景 现在数据库新增字段需要区分平日(0)和假期(1)的数据,之前有一批去年的数据都没有算过,所以得用日期循环来根据实际的时间来修改对应的数值,废话不多说看具体操作方法。 二、操作方法 // 初始日期 String dateString "20…

谷粒商城项目|es的应用场景及常见问题

es是什么 es多被用于搜索聚合分析引擎 是分布式的可以高性能查询的引擎 es应用场景 为什么不用MYSQL而用es es将数据存在内存中且可以分布式的存储数据 商品上架 商品在es中的保存 1.在es中建立索引 spu sku spu sku保存在一起防止分布查询 为了防止对象数组扁平化&#xff…

NetDevOps:华三交换机通过Netmiko或者Nornir获取接口信息通过TextFSM解析报错问题

python代码:实现功能获取交换机接口信息并通过TextFSM进行解析。 from netmiko import Netmiko import textfsm show_intf_cmd_mapping {hp_comware: display interface, }def ssh_device_2_get_intfs(device_type, host, username, password, port):dev_info {d…