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

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

3天内不再提示

ROMRAMFlash的一些零碎知识点

MCU开发加油站 来源:博客园 2020-05-13 17:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这一篇主要讲讲ROMRAMFlash的一些零碎知识点,网上也能找到很多资料。

1、ROM1.1 概述只读存储器(Read-only memory, ROM),当然从广义上来讲,也有一些器件,例如Flash,EPROM等等,通过某种手段可以编程的,也属于ROM的范畴的。ROM一般用在一些程序的存储和数据的存储,这里程序多半是比较固定的程序(Firmware,固件,一种跟硬件强相关的程序,例如驱动等等),这里的数据多半是固化的表项,查找表等等不会怎么改变的表项。1.2 基本原理HDL设计中,对于小ROM,深度和位宽都不大,一般使用组合逻辑就可以做一个ROM。如果数据比较大,比如1K*4B这种,就换一种ROM,使用标准单元Mask ROM,来做存储,如下图所示。百度百科对MASK ROM的定义,是制造商为了要大量生产,事先制作一颗有原始数据的ROM或EPROM当作样本,然后再大量生产与样本一样的 ROM,这一种做为大量生产的ROM样本就是MASK ROM,而烧录在MASK ROM中的资料永远无法做修改。

1.3 分类

一种是真的写了就没法改的ROM;一种是可以写一次的ROM(one-time Programmable read-only memory),使用的高压反熔丝技术;一种是可擦出的能、能写多次的ROM(Erasable programmable read only memory),使用紫外线擦除;一种是电擦除的EEPROM(Electrically Erasable programmable read only memory,EEPROM),再到后来东芝搞的Flash。工业界第一种ROM和最后一种的Flash用的比较多。

二、Flash1.1 原理非遗失性的存储,是在ROM的基础上演进出来的。目前主流是NAND和NOR。模拟的团队来做flash。可以任意地址访问。对于连续地址读访问,NAND和NOR的带宽差距不大。NAND是存储块访问,NOR可以Byte访问。总的来说,NOR特点就是比较细的访问,基本启动程序放NOR中,稳定性和可靠性也稍微高一些;NAND访问数据块比较好,通常数据放NAND中,而且成本也较低。

图:NOR Flash的时序

ale: address lock enable;一般Flash不会直接集成到芯片中,如果集成在芯片外面,IO数量增加,NOR解决办法就是数据和地址复用,当ale为高的时候,addr上走的是地址,当ale为低且csn为低的时候,addr上走的是数据。 wen:write enable;用于指示读还是写。 rdy:对于芯片和FLash分离,因为是异步接口,所以使用rdy信号用来握手。对于MCU来讲,如果把小的NOR flash集成到芯片内部,就可以直接使用同步接口,也就是SRAM的接口。

图:NAND Flash时序

CLE:Chip Lock Enable;

可以看到NAND也是数据和地址线复用的。NAND可以大块的数据读写,多了些Command。NAND Flash在MCU中的比较少。Flash跟ROM和RAM不同,不想数字的可以直接用工具生成,这个需要模拟团队自己做。

3、RAM 1.1 基本概念Static Random Access Memory,静态的,随机的访问。静态的,不用刷新,不像DRAM需要随时刷新,但是SRAM没有DRAM的集成度高,面积比较大。另外,速度和功耗比DRAM好一些。

图:存储一个bit的SRAM的结构

6个CMOS管子组成一个SRAM单元,Q1和Q3组成反相器,Q2和Q4组成反相器,两个反相器组成一个环路,这样,只要不掉电,这个逻辑环就不会变,跟触发器原理有点类似。Q5用于控制输入,Q6用于控制输出,两个管子相当于输入和输出的开关。1.2 分类single port SRAM:不会发生读写冲突,因为之后一个端口,要么读,要么写;尽量做到先写后读,或者初始化再读,否则读出来的数据有可能不对(原因是SRAM的软失效)。对于软失效,可以加一个ECC校验,例如寸10bir,其中2bit是校验位。 Two port SRAM:FOGA的读写冲突允许,但是ASIC不可以,在同一个时刻,读地址和写地址不要一样。FIFO一般是TP SRAM。 Dual port SRAM:也是两个端口A、B,可以A读B写,也可以A写B读,不在局限于只能谁读谁写。可靠性,面积和率都不是很好。 工程上,使用两个SRAM,做乒乓操作,实现TP SRAM的功能,一个读的时候,另外一个写。两个SRAM加起来面积可能比TP SRAM小一些。对于几百几K的bit位,直接用D触发器来存储比较好。1.3 接口SRAM有一个需要注意下,就是Redundancy接口,用于扩展SRAM的,在比较的大的memory中会用,例如cache,这个接口可选的。用法的话,举个例子这个就是说,当SRAM中有一块坏掉了,这个时候就在尾部在接一块SRAM存储,就把坏块的地址映射到新加的存储块中,这个时候就要用的Redundancy了。1.4 时序对于Single port SDRAM的时序,如下图:

读是在一个时钟周期完成,如果是连续写,红点处,write enable是可以一直拉低的;读的话,是要在下一个时刻才能采到数据,注意下。

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

    关注

    16

    文章

    1747

    浏览量

    140453
  • 存储器
    +关注

    关注

    39

    文章

    7715

    浏览量

    170869
  • ROM
    ROM
    +关注

    关注

    4

    文章

    578

    浏览量

    88558

原文标题:MCU存储系统

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    贴片电容精度J±5%的一些详细知识

    贴片电容精度J±5%表示电容的实际值与标称值之间的偏差范围在±5%以内 ,以下是关于贴片电容精度J±5%的一些详细知识、精度等级含义 J±5% :字母“J”在贴片电容的标识中通常表示标称精度
    的头像 发表于 11-20 14:38 159次阅读
    贴片电容精度J±5%的<b class='flag-5'>一些</b>详细<b class='flag-5'>知识</b>

    Vivado浮点数IP核的一些设置注意

    Vivado浮点数IP核的一些设置注意 我们在vivado2018.3中使用了Floating-point(7.1)IP核,可以自定义其计算种类及多模式选择。有时多种计算可以用同个IP核实
    发表于 10-24 06:25

    关于芯片设计的一些基本知识

    芯片的设计理念众所周知,芯片拥有极为复杂的结构。以英伟达的B200芯片为例,在巴掌大的面积上,塞入了2080亿个晶体管。里面的布局,堪称个异次元空间级的迷宫。英伟达B200芯片如此复杂的架构
    的头像 发表于 06-11 12:16 796次阅读
    关于芯片设计的<b class='flag-5'>一些</b>基本<b class='flag-5'>知识</b>

    C51单片机及C语言知识点必备秘籍

    单片机关键知识点览: 系列 1:单片机简叙 2:单片机引脚介绍 3:单片机存储器结构 4:第个单片机小程序 5:单片机延时程序分析 6:单片机并行口结构 7:单片机
    发表于 05-15 14:00

    Debian和Ubuntu哪个好一些

    兼容性对比Debian和Ubuntu哪个好一些,并为您揭示如何通过RAKsmart服务器释放Linux系统的最大潜能。
    的头像 发表于 05-07 10:58 860次阅读

    电机选型计算公式与知识点汇总

    纯分享帖,需要者可点击附件获取完整资料~~~*附件:电机选型计算公式与知识点汇总.pdf 【免责声明】内容转自今日电机,因转载众多,无法确认真正原始作者,故仅标明转载来源。版权归原出处所有,纯分享帖,侵权请联系删除内容以保证您的权益。
    发表于 04-29 16:10

    电气工程师必知必会的100个电⽓知识点分享

    电⽓⼯程师也都是从电⽓学徒⼯⼀步⼀步积累成长起来的。积跬步⾄千⾥,汇细流成江海!朋友们,现在让我们⾛⼀个捷径,花半个⼩时的时间来积累100个必知必会的电⽓知识点吧!
    的头像 发表于 03-14 11:05 1513次阅读

    Linux常用命令行总结

    学习了段时间的linux之后,开始着手基本命令的学习,这里主要记录一些学习过程中重要的知识点供以后查阅。
    的头像 发表于 03-03 10:40 813次阅读
    Linux常用命令行总结

    华邦电子安全闪存关键知识点

    黑客攻击?高温考验?驾驶安全?通通没在怕的!1月15日,华邦电子举办了“安全闪存强化车用电子安全性”为主题的线上研讨会。为了让没能参加这场线上研讨会的邦友们也可以清晰 Get 安全闪存关键知识点,邦
    的头像 发表于 02-12 18:15 1111次阅读

    Kaggle知识点:7种超参数搜索方法

    问题。一些常见的超参数例子包括梯度基算法中的学习率,或者决策树算法中树的深度,这些可以直接影响模型准确拟合训练数据的能力。超参数调优涉及在复杂的、高维的超参数空间中
    的头像 发表于 02-08 14:28 1707次阅读
    Kaggle<b class='flag-5'>知识点</b>:7种超参数搜索方法

    Docker-镜像的分层-busybox镜像制作

    docker hub里面查看busybox的Dockerfile, 知识点4:bootfs 和 rootfs  知识点5:为什么Docker镜像要采用这种分层结构? 如果多个容器共享份基础镜像,当某个
    的头像 发表于 01-15 10:44 1012次阅读
    Docker-镜像的分层-busybox镜像制作

    Aigtek功率放大器应用:电感线圈的知识点分享

    电磁驱动是功率放大器的大基础应用领域,其中我们最常见的就是用功放来驱动电感线圈,那么关于电感线圈的这10大知识点你都知道吗?今天Aigtek安泰电子来给大家介绍下电感线圈的基础知识
    的头像 发表于 01-07 15:43 1198次阅读
    Aigtek功率放大器应用:电感线圈的<b class='flag-5'>知识点</b>分享

    串口设计一些关键注意!千万别踩雷!

    本文将以Air700ECQ/EAQ/EMQ为例,带你从硬件设计的角度,起来了解串口设计中的一些关键注意;软件开发或者AT设置方面不做深入探讨。   、串口相关管脚 Air700E
    的头像 发表于 12-25 17:01 982次阅读
    串口设计<b class='flag-5'>一些</b>关键注意<b class='flag-5'>点</b>!千万别踩雷!

    文详解信号的回流路径

    最近在看JT大佬出的本高速PCB设计书籍,看到回流路径这里,让我想到最近两个群里都提到关于这个知识点的问题。书籍很好,但是也会有一些疑问,带着这些疑问我也查找了相关资料,我想着尽可能的结合书中
    的头像 发表于 12-25 10:17 3760次阅读
    <b class='flag-5'>一</b>文详解信号的回流路径

    后悔没有早点看到:天线设计中的知识点

    Cat.1 bis R13架构,天线架构精简为单天线架构,去掉了分集接收天线,因此只需要根天线。   知识点: Cat.1 bis相对于Cat.1的区别是,后者为两根天线(根主天线,
    的头像 发表于 12-24 17:11 1597次阅读
    后悔没有早点看到:天线设计中的<b class='flag-5'>知识点</b>!