单板硬件设计:存储器SD卡( NAND FLASH)

news2024/10/5 13:33:23

在单板设计中,无论是涉及到一个简易的CPU、MCU小系统或者是复杂的单板设计,都离不开存储器设计:

1、存储器介绍

存储器的分类大致可以划分如下:

ROM和RAM指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。

 

 1.1 存储器ROM介绍

rom最初不能编程,出厂什么内容就永远什么内容,不灵活。后来出现了prom,可以自己写入一次,要是写错了,只能换一片,自认倒霉。人类文明不断进步,终于出现了可多次擦除写入的EPROM,每次擦除要把芯片拿到紫外线上照一下,想一下你往单片机上下了一个程序之后发现有个地方需要加一句话,为此你要把单片机放紫外灯下照半小时,然后才能再下一次,这么折腾一天也改不了几次。历史的车轮不断前进,伟大的EEPROM出现了,拯救了一大批程序员,终于可以随意的修改rom中的内容了。

EEPROM的全称是“电可擦除可编程只读存储器”,即Electrically Erasable Programmable Read-Only Memory。是相对于紫外擦除的rom来讲的。但是今天已经存在多种EEPROM的变种,变成了一类存储器的统称。

狭义的EEPROM:

这种rom的特点是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。这是最传统的一种EEPROM,掉电后数据不丢失,可以保存100年,可以擦写100w次。具有较高的可靠性,但是电路复杂/成本也高。因此目前的EEPROM都是几十千字节到几百千字节的,绝少有超过512K的。

flash:

flash属于广义的EEPROM,因为它也是电擦除的rom。但是为了区别于一般的按字节为单位的擦写的EEPROM,我们都叫它flash。

flash做的改进就是擦除时不再以字节为单位,而是以块为单位,一次简化了电路,数据密度更高,降低了成本。

flash 分为 nor flash 和 nand flash:

nor flash 数据线和地址线分开,可以实现ram一样的随机寻址功能,可以读取任何一个字节。但是擦除仍要按块来擦。NOR FLASH的主要供应商是INTEL ,MICRO等厂商。

nand flash 同样是按块擦除,但是数据线和地址线复用,不能利用地址线随机寻址。读取只能按页来读取。(nandflash按块来擦除,按页来读,norflash没有页),NAND FLASH的主要供应商是SAMSUNG和东芝。

由于nandflash引脚上复用,因此读取速度比nor flash慢一点,但是擦除和写入速度比nor flash快很多。nand flash内部电路更简单,因此数据密度大,体积小,成本也低。因此大容量的flash都是nand型的。小容量的2~12M的flash多是nor型的。

使用寿命上,nand flash的擦除次数是nor的数倍。而且nand flash可以标记坏块,从而使软件跳过坏块。nor flash 一旦损坏便无法再用。

因为nor flash可以进行字节寻址,所以程序可以在nor flash中运行。嵌入式系统多用一个小容量的nor flash存储引导代码,用一个大容量的nand flash存放文件系统和内核。

 1.2 存储器RAM介绍

RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。

DRAM:

DRAM利用MOS管的栅电容上的电荷来存储信息,一旦掉电信息会全部的丢失,由于栅极会漏电,所以每隔一定的时间就需要一个刷新机构给这些栅电容补充电荷,并且每读出一次数据之后也需要补充电荷,这个就叫动态刷新,所以称其为动态随机存储器。由于它只使用一个MOS管来存信息,所以集成度可以很高,容量能够做的很大。SDRAM比它多了一个与CPU时钟同步。

DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。

DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。

内存工作原理:内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。

SRAM:

SRAM利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,只要供电,它的资料就会一直存在,不需要动态刷新,所以叫静态随机存储器。

3.产品应用

最近有幸获得了由深圳雷龙提供的两款FLASH产品样品,目前雷龙已经成功量产了如下几款FLASH产品;

并且提供了方便验证的PCB板提供产品的验证:

 这里以雷龙CSNP32GCR01-AOW 4GByte NANDFLASH产品为例,该产品可适用于CPU的外挂使用:

与STM32 参考配套例程如下获得:

 https://mp.csdn.net/mp_download/manage/download/UpDetailed

————————————————

【本文转载自CSDN,作者:焊武大帝】

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

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

相关文章

防火墙可以“阻挡”黑客的进攻吗?

"防火墙"这个词大家应该都听说过或者应用过,每个人的电脑、手机几乎都会安装一些的主流的防火墙软件,工作的企事业单位网络里都会安装硬件防火墙。那么这些防火墙能阻挡住黑客的攻击吗? 一、首先我们需要知道防火墙的原理或者说主…

vue项目启动出现可选链?:操作符解析失败

问题描述:vue项目中引入了其他npm包,包中使用可选链操作符?:,本地npm run serve启动时,之前都正常,这次报错了,无法启动。 解决步骤(2步): 1. 安装:&#…

【算法思维】-- KMP算法

OJ须知: 一般而言,OJ在1s内能接受的算法时间复杂度:10e8 ~ 10e9之间(中值5*10e8)。在竞赛中,一般认为计算机1秒能执行 5*10e8 次计算。 时间复杂度取值范围o(log2n)大的离谱O(n)10e8O(nlog(n))10e6O(nsqrt(…

某神QQ机器人BOT搭建教程win系统

某神QQ机器人BOT搭建教程win系统 大家好我是艾西,今天跟大家分享的是某神qi鹅群机器人bot搭建方式以及详细的操作步骤。跟上艾西的节奏准备发车啦! 前言:(xxxx即为https)(zzz即为com) qi鹅群…

geoserver发布矢量切片服务理论与实战

geoserver发布矢量数据服务前几篇文章已经分享过了,但是在实际业务中,矢量数据shp文件有时候比较大,包含上百万完个点,发布完整的服务后,有时候,前端显示还是有点慢,毕竟是一次加载完成&#xf…

Verilog语法概述二:何为仿真?仿真可以在几个层面上进行?

Verilog 是一种用于数字逻辑电路设计的硬件描述语言,可以用来进行数字电路的仿真验证、时序分析、逻辑综合。 既是一种行为级(可用于电路的功能描述)描述语言又是一种结构性(可用于元器件及其之间的连接)描述语言。 …

day34_js

今日内容 零、 复习昨日 一、JS 零、 复习昨日 一、引言 1.1 JavaScript简介 JavaScript一种解释性脚本语言,是一种动态类型、弱类型、基于原型继承的语言,内置支持类型。它的解释器被称为JavaScript引擎,作为浏览器的一部分,广泛…

数据分类分级 数据识别-excel分类分级模版文件导入、解析

前面讲了数据分类分级 数据识别-实现部分敏感数据识别,本次针对模版导入展开,excel导入采用的是easyexcel 目录 easyexcel介绍easyexcel实战添加依赖读取数据监听器的实现数据读取方法读取结果上面图片是AI创作生成!如需咒语可私戳哦! easyexcel介绍 之前的excel导入解析…

全网最可”铐“最可“刑”的fiddler抓包教程

Fiddler 下载: https://telerik-fiddler.s3.amazonaws.com/fiddler/FiddlerSetup.exe 浏览器f12 选择“网络”,点选“保留日志” Fiddler 浏览器执行“去缓存刷新”:shiftf5 会话 即是 包 har文件在测试当中有什么作用?:h…

存储卡格式化后如何找回数据?一招轻松恢复数据

存储卡内存不足、存储卡中毒、存储卡损坏这几种情况都会导致我们把存储卡格式化操作,存储卡格式化后所有数据都会清空,这是众所皆知的,存储卡不小心格式化了怎么办? 其实是有方法恢复格式化的数据,我们可以通过专业的数…

香橙派4和树莓派4B构建K8S集群实践之五:端口公开访问配置

1. 应用场景说明 - 我们需用k8s集群提供开放特别的端口访问服务,如一些微服务端口 - 在团队开发环境中,通常要访问公共数据库,集群需提供统一的接口给大伙 接下来以实践四中设置的mariadb-galera为基础,公开端口3306&#xff0…

银豆信息张雪灿:钻石级合作伙伴的增长秘诀

编者按: 杭州银豆信息技术有限公司(简称“银豆”),是一家专注于云计算服务的高科技企业,目前已为2000家企业级客户提供了专业的行业解决方案, 与人民网、光大银行、长安汽车金融、vivo金融、浙江省农科院、淄博市大数…

django部署在Centos7+python3+apache上教程

django在本地环境非常好配置使用自带的web服务就可以了但是部署到服务器上再使用自带的web就不方便了 一般是配合nginx或apache来使用。 这篇文章主要是教如何搭配apache的 1.升级sqlite3(高版本django高版本不支持低版本sqlite3) #一定要在安装python…

[ACTF新生赛2020]easyre 题解

1.查壳 32位文件,加了UPX壳 2.手动脱壳 使用Ollydbg UPX是一个压缩壳,运行了UPX将我们要运行的已经压缩的程序解压,才是真正的程序入口点OEP 我们需要将跟着汇编代码,找到程序真正的入口点 使用ESP定律可以快速定位 按下F7&…

Git设置代理

有时会国内会因为github克隆速度非常慢,中途各种错误断开造成克隆项目失败,可以尝试设置代理解决。 1、http、https协议 //设置全局代理 //http git config --global https.proxy http://127.0.0.1:1080 //https git config --global https.proxy http…

图神经网络:(节点分类)在KarateClub数据集上动手实现图神经网络

文章说明: 1)参考资料:PYG官方文档。超链。 2)博主水平不高,如有错误还望批评指正。 3)我在百度网盘上传了这篇文章的jupyter notebook。超链。提取码8888。 文章目录 文献阅读:代码实操: 文献阅读: 参考文…

一个由“API未授权漏洞”引发的百万级敏感数据泄露

2023年4月的某一天,腾讯安全专家Leo正在为某家医院的重保防护做第一轮的安全风险排查。 医院的专用APP是外部网络访问最高的,也就是最大的风险敞口,需要重点排查。 Leo下载APP进行测试后,发现该医院存在一个严重的问题&#xff…

图像复原与重建MATLAB实验

文章目录 一、实验目的二、实验内容1. 噪声图像及其直方图。2. 空间噪声滤波器。3. 逆滤波。 一、实验目的 了解一些常用随机噪声的生成方法。掌握根据指定退化函数对图像进行退化的方法。掌握当模糊图像只存在噪声时的几种滤波复原方法。掌握当模糊图像同时存在线性退化和噪声…

学会搭建小程序生鲜商城,开启生鲜电商新模式

电商平台的出现,为人们带来了极大的便利。然而,传统的电商平台已经不能满足消费者对于购物体验的要求。如今,小程序生鲜商城因其轻量化、高效率等特点,成为了众多卖家的首选。本文将介绍如何学会搭建小程序生鲜商城,并…