硬件系统工程师宝典(34)-----FLASH电路如何设计?

news2024/11/16 17:30:15

各位同学大家好,欢迎继续做客电子工程学习圈,今天我们继续来讲这本书,硬件系统工程师宝典。

上篇我们了解了存储器可分为RAM和ROM,根据不同特性也可以逐级细分,并且简单介绍了EEPROM。今天我们讲一讲FLASH有哪几种?

NOR FLASH

目前常用的FLASH主要有NOR FLASH和NAND FLASH两种

NOR技术(也称Linear技术)源于传统的EEPROM器件,具有高可靠性、随机读取速度快的优势,用于擦除和编程操作较少、直接执行代码的场合,如PC的BIOS固件等。

NOR技术的Flash Memory具有以下特点。

1.程序和数据可存放在同一芯片,拥有独立的数据总线和地址总线,能快速随机读取,允许系统直接从Flash中读取代码执行,无须先将代码下载至RAM中再执行。

2.可以单字节或单字编程,但不能单字节擦除,必须以块为单位或整片擦除,由于采用NOR技术的Flash Memory擦除和编程速度较慢,在纯数据存储和文件存储的应用中,NOR技术显得力不从心。

下面以S29GL128P为例说明,NOR FLASH的引脚定义和设计描述。

S29GL128P电路设计

查阅S29GL128P的Datasheet可知:

1.A25~A0是地址信号输入通道,需与CPU的存储专用地址总线相连

2.DQ15,DQ14~DQ0是数据信号,需要与CPU的存储数据总线相连

3.CE为片选信号

4.OE为输出使能信号

5.WE写使能

6.VCC电源输入引脚

7.VIO通用I/O口的供电引脚,接VCC电源输入端

8.VSS低信号引脚

9.NC为不连接的引脚

10.RY/BY为输出信号,当输出低电平时表示器件在进行写入或擦除工作,当输出高电平时表示器件已准备就绪。11.BYTE为输入信号,用于设置输入数据信号的宽度8bit或16bit

12.WP/ACC为写保护或编程加速控制,当为低电平时为写保护功能,当为高电平时为编程加速,在设计时一般都上拉处理。

13.RFU为保留引脚不连接。

NAND FLASH

采用NAND技术的Flash Memory的特点

1.NAND FLASH以页为单位进行读和编程操作,1页为256B或512B,因此NAND FLASH不用来直接运行程序,需将代码下载到RAM中再运行。NAND FLASH以块为单位进行擦除操作,1块为4KB、8KB或16KB;具有快编程和快擦除的功能,块擦除时间是2ms,而NOR技术的块擦除时间是几百ms。

2.数据、地址采用同一总线,实现串行读取,随机读取速度慢且不能按字节随机编程。

3.芯片尺寸小,成本低4.芯片包含失效块,其最大数目可达到3~35块取决于存储器密度。失效块不会影响有效块的性能。设计者需要将失效块在地址映射表中屏蔽起来。

从存储单元的角度考虑,NAND FLASH可分为SLC(Single Level Cell,单层单元)和MLC(Multi-Level Cell,多层单元)。SLC的特点是成本高、容量小、速度快,而MLC的特点是容量大、成本低,但是速度慢。MLC由于存储单元中存放资料较多,结构相对复杂,出错的概率增加,必须进行错误修正,这个修正的动作使得MLC的性能大幅落后于SLC闪存。实际使用时,需要根据程序运行的机制及需求选择合适的Flash存储。

下面作者举例了K9F2G08U0C的引脚和电路设计

K9F2G08U0C-S NAND FLASH的电路设计

K9F2G08U0C是Samsung的一款采用SLC架构的2GB NAND FLASH,如上所示为K9F2G08U0C的电路设计:1.I/O[7:0]:数据的输入/输出引脚,输入数据的内容包含命令、地址和数据,当进行读取操作时向外输出数据。

2.CLE:命令加载使能,CLE高电平有效,当写使能有效时,通过I/O[7:0]将命令加载到NAND FLASH。

3.ALE:地址加载使能,CLE高电平有效,当写使能有效时,通过I/O[7:0]将地址加载到NAND FLASH。

4.CE:片选信号,低电平有效,当不片选芯片时,I/O口的逻辑状态为高阻态。

5.RE:读取数据使能,低电平有效。

6.WE:写数据使能,低电平有效。

7.WP:写保护,在电路设计中一般上拉处理。

8.R/B:可以输出两种状态,用于指示芯片工作或禁止状态。

9.VCC/VSS:电源网络/地网络10.NC:没有连接。


另外,整理了一些电子工程类的资料,分享给大家,目前有模拟电路、单片机、C语言、PCB设计、电源相关、FPGA、EMC、物联网、Linux相关学习资料,还有针对大学生的资料包,后续还会有更多资料分享给大家,助力大家学习,成就梦想~

关注同名公众号领取资料~

链接也可在往期文章中找(在文章的最后有链接)~

模拟电路设计的九个级别,你是模电几段?

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试四年,总结下功能测试用例设计思路

我们为什么要写好一份测试用例呢?测试同学应该都知道测试用例的重要性,测试用例就是我们测试的依据,也是测试过程中不能缺少的测试文档。 一、用例编写规范目的: 1、提高测试用例的可读性,可执行性、合理性。 2、测…

【论文阅读】通过解缠绕表示学习提升领域泛化能力用于主题感知的作文评分

摘要 本文工作聚焦于从领域泛化的视角提升AES模型的泛化能力,在该情况下,目标主题的数据在训练时不能被获得。本文提出了一个主题感知的神经AES模型(PANN)来抽取用于作文评分的综合的表示,包括主题无关(pr…

Lambda表达式常见的Local variable must be final or effectively final原因及解决办法

目录 Local variable must be final or effectively final错误原因 解决办法按照要求定义为final(不符合实情,很多时候是查库获取的变量值)使用原子类存储变量,保证一致性AtomicReference常用原子类 其它 Local variable must be …

(树) 剑指 Offer 07. 重建二叉树 ——【Leetcode每日一题】

❓剑指 Offer 07. 重建二叉树 难度:中等 输入某二叉树的 前序遍历 和 中序遍历 的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 1: Input: preorder [3,9,20,15,7], inorder [9,3,15,20,7] …

8.11 PowerBI系列之DAX函数专题-TopN中实现N的动态

需求 实现 1 ranking by amount rankx(allselected(order_2[产品名称]),[total amount]) 2 rowshowing_boolean var v_ranking [ranking by amount] var v_topN-no [topN参数 值] var v_result int( v_ranking < v_topN_no) return v_result 3 将度量值2放入视觉对象筛…

spinal HDL语法学习

1 赋值语句 用来声明变量 : 用来对变量进行赋值 2 when otherwise前面是否有"."与otherwise是否换行有关系 3 case class 对Bundle进行扩展时&#xff0c;需要case class case class和class主要有两点区别&#xff1a; &#xff08;1&#xff09;case class不需…

会议OA项目之会议发布(一)

目录 前言&#xff1a; 会议发布的产品原型图&#xff1a; 1.会议发布 1.1实现的特色功能&#xff1a; 1.2思路&#xff1a; 使用的数据库&#xff1a; 我们要实现多功能下拉框的形式选择可以参考原文档&#xff1a;https://hnzzmsf.github.io/example/example_v4.html#down…

运算放大器--------加减运算电路

反向求和运算电路 电路 公式 同向加法运算电路 电路 公式 加减运算电路 分别求正向输入的输出和反相输入的输出&#xff0c;然后求和就可以得到到最终的输出。 切记&#xff0c;虚短虚断不是真正的断路和短路。

antDesign的a-select数据回显选中initialValue问题解决方法

在开发过程中表单中的【学习专业】下拉列表项需要数据回显&#xff0c;设置了initialValue&#xff0c;但只显示下拉选项的majorId值, 没有显示具体的专业名称&#xff0c;经排查发现是majorId数据类型导致的&#xff0c;下拉选项majorList数组中的id是数值类型&#xff0c;而在…

LeetCode|backtracking|review:40. 131. 93. 47. 332. | 37. Sudoku Solver

复习&#xff1a; 40. Combination Sum II [1,1,2,3]中&#xff0c;答案里有[1,1,2], 但是不能有两个[1,2,3] 131. Palindrome Partitioning 每个for都是在给定的start之后找一个palindrome。当start 93. Restore IP Addresses forloop每次loop都是在给定的start的后三个数…

Redis三种模式——主从复制,哨兵模式,集群

目录 一、主从复制 1.1主从复制的概念 1.2Redis主从复制作用 1.2.1数据冗余 1.2.2故障恢复 1.2.3负载均衡 1.2.4高可用基石 1.3Redis主从复制流程 1.4部署Redis 主从复制 1.4.1.环境部署 1.4.2.所有服务器都先关闭防火墙 1.4.3.所有服务器都安装Redis 1.4.4修改Master主节点R…

IFIX5.8安装教程

管理员身份运行&#xff1a; 安装&#xff1a; 下次安装的时候选择SCADA服务器&#xff0c;独立。然后下图就不会出现了。 重启电脑&#xff1a;

【2050. 并行课程 III】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个整数 n &#xff0c;表示有 n 节课&#xff0c;课程编号从 1 到 n 。同时给你一个二维整数数组 relations &#xff0c;其中 relations[j] [prevCoursej, nextCoursej] &#xff0c;表示课程…

SkyEye与Jenkins的DevOps持续集成解决方案

在技术飞速发展的当下&#xff0c;随着各行各业的软件逻辑复杂程度提升带来的需求变更&#xff0c;传统测试已无法满足与之相对应的一系列测试任务&#xff0c;有必要引入一个自动化、可持续集成构建的DevOps平台来解决此类问题。本文将主要介绍SkyEye与Jenkins的持续集成解决方…

MySQL基础扎实——Like声明中的%什么意思

语意讲解 在MySQL的LIKE语句中&#xff0c;%是一个通配符&#xff0c;用于匹配任意长度&#xff08;包括零长度&#xff09;的字符序列。 具体来说&#xff0c;当使用%放置在LIKE语句中的模式中时&#xff0c;它表示可以匹配任意字符的序列。这个字符序列可以是零个字符、一个…

VOC 格式与 YOLO 格式的相互转换

目录 数据集介绍VOC 格式转换为 YOLO 格式YOLO 格式转换为 VOC 格式 数据集介绍 本文使用的数据集是自制的安全帽数据集&#xff0c;共含有 6696 张图片&#xff0c;部分图片如下&#xff1a; 以及对应的 6696 个 VOC 格式的 xml 标注文件&#xff0c;部分文件如下&#xff1a…

[Linux]进程间通信

[Linux]进程间通信 文章目录 [Linux]进程间通信进程间通信什么是进程间通信进程间通信的目的进程间通信的本质为什么存在进程间通信进程间通信的分类 管道什么是管道匿名管道本质pipepipe的使用匿名管道读写情况匿名管道的特征 命名管道本质命令行创建命名管道创建和删除命名管…

SolidWorks绘制Maxwell仿真用带桥接的三维平板螺旋线圈

文章目录 前言一、建立涡状线二、拉伸方法1&#xff08;建立工作面&#xff0c;较复杂&#xff09;三、拉伸方法2&#xff08;穿透&#xff0c;较简单&#xff09;四、建立桥接 前言 在使用Maxwell进行电磁场仿真时&#xff0c;经常需要绘制各种异形线圈&#xff0c;由于Maxwel…

5.定时器-间歇函数

网页中经常会需要一种功能&#xff1a;每隔一段时间需要自动执行一段代码&#xff0c;不需要我们手动去触发 例如&#xff1a;网页中的倒计时 ●要实现这种需求&#xff0c;需要定时器函数 5.1开启定时器 语法 setInterval(函数,间隔时间)作用&#xff1a;每隔一段时间调用这…

Spring 6【单例设计模式、bean标签的scope属性、Spring 循环注入问题】(八)-全面详解(学习总结---从入门到深化)

目录 十五、单例设计模式 十六、bean标签的scope属性 十七、Spring 循环注入问题 十五、单例设计模式 设计模式&#xff1a;根据面向对象五大设计思想衍生出的23种常见代码写法&#xff0c;每种写法可以专门解决一类问题。 单例设计模式&#xff1a;保证某个类在整个应用程…