为什么单片机会用EEPROM作为data memory而不用flash

发布者:太白山人最新更新时间:2015-08-17 来源: eefocus关键字:单片机  EEPROM  data  memory  flash 手机看文章 扫描二维码
随时随地手机看文章
受单片机成本限制,用flash的话比如我要对某字节存储,那么就需要把整页都擦除,其他地方的数据要保留就得进行缓存,占用RAM资源较多。而用EEPROM就要方便操作,有能够节省本来就不多的单片机资源。

EEPROM,EPROM,FLASH 都是基于一种浮栅管单元(Floating gate transister)的结构。 EPROM 的浮栅处于绝缘的二氧化硅层中,充入的电子只能用紫外线的能量来激出,EEPROM 的单元是由FLOTOX(Floating- gate tuneling oxide transister)及一个附加的Transister 组成,由于FLOTOX 的特性及两管结构,所以可以单元读/写。技术上,FLASH 是结合EPROM 和EEPROM 技术达到的,很多FLASH 使用雪崩热电子注入方式来编程,擦除和EEPROM 一样用 Fowler-Nordheim tuneling。但主要的不同是,FLASH 对芯片提供大块或整块的擦除,这就 降低了设计的复杂性,它可以不要 EEPROM 单元里那个多余的Tansister,所以可以做到高集成度,大容量,另FLASH 的浮栅工艺上也不同,写入速度更快。

其实对于用户来说,EEPROM 和FLASH 的最主要的区别就是

1。EEPROM 可以按“位”擦写,而FLASH 只能一大片一大片的擦。

2。EEPROM 一般容量都不大,如果大的话,EEPROM 相对与FLASH 就没有价格上的优势了。 市面上卖的stand alone 的EERPOM 一般都是在64KBIT 以下,而FLASH 一般都是8MEG BIT 以上(NOR 型)。

3。读的速度的话,应该不是两者的差别,只是(硕士论文)EERPOM 一般用于低端产品,读的速度不需要那么快,真要做的话,其实也是可以做的和FLASH 差不多。

4。因为EEPROM 的存储单元是两个管子而FLASH 是一个(SST 的除外,类似于两管), 所以CYCLING 的话,EEPROM 比FLASH 要好一些,到1000K 次也没有问题的。

总的来说,对与用户来说,EEPROM 和FLASH 没有大的区别,只是EEPROM 是低端产品, 容量低,价格便宜,但是稳定性较FLASH 要好一些。 但对于EEPROM 和FLASH 的设计来说,FLASH 则要难的多,不论是从工艺上的还是从外围 电路设计上来说。

Flash memory 指的是“闪存”,所谓“闪存”,它也是一种非易失性的内存,属于EEPROM 的改进产品。它的最大特点是必须按块(Block)擦除(每个区块的大小不定,不同厂家的产品 有不同的规格), 而EEPROM 则可以一次只擦除一个字节(Byte)。目前“闪存”被广泛用在 PC 机的主板上,用来保存BIOS 程序,便于进行程序的升级。其另外一大应用领域是用来作 为硬盘的替代品,具有抗震、速度快、无噪声、耗电低的优点,但是将其用来取代RAM 就显 得不合适,因为RAM 需要能够按字节改写,而Flash ROM 做不到。

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

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

DRAM 分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、 SGRAM 以及WRAM 等,这里介绍其中的一种DDR RAM。DDR RAM(Date-Rate RAM)也称作DDR SDRAM, 这种改进型的RAM 和SDRAM 是基本一样的,不同之处在于它可以在一个时钟读写两次数据, 这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势, 事实上击败了Intel 的另外一种内存标准-Rambus DRAM。在很多高端的显卡上,也配备了高 速DDR RAM 来提高带宽,这可以大幅度提高3D 加速卡的像素渲染能力。

ROM 也有很多种,PROM 是可编程的ROM,PROM 和EPROM(可擦除可编程ROM)两者区别是, PROM 是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能 使用了,而EPROM 是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种 EEPROM 是通过电子擦出,价格很高,写入时间很长,写入很慢。举个例子,手机软件一般放在EEPROM 中,我们打电话,有些最后拨打的号码,暂时是存在SRAM 中的,不是马上写入通过记录(通话记录保存在EEPROM 中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。

FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦出可编程(EEPROM) 的性能,还不会断电丢失数据同时可以快速读取数据 (NVRAM 的优势),U 盘和MP3 里用的就 是这种存储器。在过去的20 年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备, 然而近年来 Flash 全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader 以 及操作系统或者程序代码或者直接当硬盘使用(U 盘)。

目前Flash 主要有两种NOR Flash 和NADN Flash。NOR Flash 的读取和我们常见的SDRAM 的读取是一样,用户可以直接运行装载在NOR FLASH 里面的代码,这样可以减少SRAM 的容量 从而节约了成本。NAND Flash 没有采取内存的随机读取技术,它的读取是以一次读取一快的 形式来进行的,通常是一次读取512 个字节(我要论文),采用这种技术的Flash 比较廉价。用户不能直 接运行NAND Flash 上的代码,因此好多使用NAND Flash 的开发板除了使用NAND Flah 以外, 还作上了一块小的NOR Flash 来运行启动代码。

一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而 大容量的用NAND FLASH,最常见的NAND FLASH 应用是嵌入式系统采用的DOC(Disk On Chip) 和我们通常用的"闪盘",可以在线擦除。目前市面上的FLASH 主要来自Intel,AMD,Fujitsu 和Toshiba,而生产NAND Flash 的主要厂家有Samsung 和Toshiba。

SRAM 是Static Random www.wylunwen.com Access Memory 的缩写,中文含义为静态随机访问存储器,它是 一种类型的半导体存储器。"静态"是指只要不掉电,存储在SRAM 中的数据就不会丢失。这一点与动态RAM(DRAM)不同,DRAM 需要进行周期性的刷新操作。 然后,我们不应将SRAM 与只读存储器(ROM)和Flash Memory 相混淆,因为SRAM 是一种易失性存储器,它只有在电源保持连续供应的情况下才能够保持数据。"随机访问"是指存储器的内容可以以任何顺序访问,而不管前一次访问的是哪一个位置。

SRAM 中的每一位均存储在四个晶体管当中,这四个晶体管组成了两个交叉耦合反向器。 这个存储单元具有两个稳定状态,通常表示为0 和1。另外还需要两个访问晶体管用于控制读或写操作过程中存储单元的访问。因此,一个存储位通常需要六个MOSFET。对称的电路结构使得SRAM 的访问速度要快于DRAM。

SRAM 比DRAM 访问速度快的另外一个原因是SRAM (免费论文)可以 一次接收所有的地址位,而DRAM 则使用行地址和列地址复用的结构。 SRAM 不应该与SDRAM 相混淆,SDRAM 代表的是同步DRAM(Synchronous DRAM),这与SRAM 是完全不同的。SRAM 也不应该与PSRAM 相混淆,PSRAM 是一种伪装成SRAM 的DRAM。

从晶体管的类型分,SRAM 可以分为双极性与CMOS 两种。从功能上分,SRAM 可以分为异 步SRAM 和同步SRAM(SSRAM)。异步SRAM 的访问独立于时钟,数据输入和输出都由地址的变 化控制。同步SRAM 的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信 号均于时钟信号相关。

OM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。 RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。 DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。 ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。

FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦出可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。目前Flash主要有两种NOR Flash和NADN Flash。NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一快的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。 一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的“闪盘”,可以在线擦除。目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Toshiba,而生产NAND Flash的主要厂家有Samsung和Toshiba。

Flash和EEPROM的区别 大概翻译 The primary difference between EEPROM and FLASH is the removal of the ability to erase at the byte level. EEPROM和FLASH的主要区别是以字节为单位擦除内存的能力。 FLASH erases in much larger chunks of memory commonly referred to as sectors. Depending on the array size and the technology chosen, the sector size can vary significantly and therefore there is not a standard erase sector size across the industry and even within a product family. FLASH通常是按照扇区来擦除整块的数据。根据不同的工艺和技术的选择,扇区的大小差别很大,因此扇区的大小是没有标准的,每个厂家甚至每个系列产品的扇区大小都不见得一样。 The main point to remember is that the array is erased in large pieces as opposed to byte erase found in full featured EEPROM. 主要需要记住的是:EEPROM是按照字节擦除的,而FLASH是按照块擦除的。 Almost all commercially available FLASH memories utilized Fowler-Nordheim tunneling for the erase operation. 几乎所有的商业用FLASH都用一种叫(Fowler-Nordheim tunneling)的技术进行擦除操作。 The second major difference relates to programming and the programming size but here again there is not a clear standard across the industry. 第二个主要的区别在于编程,但同时和擦除相同的是,针对不同的厂家,编程的块大小也是不同的。 Some FLASH memories will do away with byte programming all together and will program in large sections referred to as pages. 一些FLASH内存废除了字节编程,只能按照块的大小进行编程写入。 Other FLASH memories still retain the ability to program in byte wide increments. The choice in programming width is mostly determined by the throughput of erasing the memory and completely reprogramming the array. 另一些FLASH内存还保留着字节编程的能力,这些能力取决于。。。(一些不重要的信息)。 There is also some diversity among FLASH memory products with respect to the programming method. 另外还有一些FLASH的差异,即写入的方式。 For example, some FLASH products use CHE and others use Fowler-Nordheim tunneling. As has been previously described in the EPROM and EEPROM overviews, each method has pros and cons, and it is these limitations that drive the programming size of the array. 例如,一些FLASH用CHE方式,另一些用(Fowler-Nordheim tunneling)方式。正如在EPROM和EEPROM中描述的,每种方法都有优缺点,这些优缺点限制了编程块的大小。 Remember from the discussion of EPROM that CHE requires a relatively high current, especially when compared to Fowler-Nordheim tunneling. 记住,EPROM中使用CHE需要高电流,尤其是和Fowler-Nordheim tunneling相比较的时候。 However, Fowler-Nordheim tunneling requires more time to program a memory location than does CHE. Therefore, to compensate for the longer time required per programming location using Fowler-Nordheim tunneling, the programming size is larger than that used with CHE. 然而,Fowler-Nordheim tunneling需要大量的时间写入内存。比较后可以得到,…(不重要) CHE cannot scale with respect to program size because of the high current required per

bit to activate the mechanism. Although there are certainly power supplies that can supply many amps of current to a VPP pin on the part, there is an issue with power distribution within the chip itself. In general, this limits the programming size when using CHE to 8 to 16 bits. CHE不能扩大扇区,他需要给每一个比特写入时提供电流。因此,在固定能量供应的时候,由于VPP电流的限制,只能限制到8到16个比特。 or: 1、首先从IO引脚占用方面比较,EEPROM只需占用两个IO引脚,时钟(clk)和数据(data)引脚,外加电源三个引脚即可,符合I2C通讯协议。而FLASH需要占用更多IO引脚,有并行和串行的,串行的需要一个片选(cs)引脚(可用作节电功耗控制),一个时钟(clk)引脚,FLASH读出和写入引脚各一个,也就是四个。并行的需要8个数据引脚,当然比串行的读写速度要快。 2、从功能方面比较,EEPROM可以单字节读写,FLASH部分芯片只能以块方式擦除(整片擦除),部分芯片可以单字节写入(编程),一般需要采用块写入方式;FLASH比EEPROM读写速度更快,可靠性更高。但比单片机片内RAM的读写还要慢。 3、价格方面比较,FLASH应该要比EEPROM贵。

关键字:单片机  EEPROM  data  memory  flash 引用地址:为什么单片机会用EEPROM作为data memory而不用flash

上一篇:单片机测控系统接地方案
下一篇:IAR MSP430如何生成烧写文件

推荐阅读最新更新时间:2024-03-16 14:28

基于单片机和GSM的远程车载防盗报警系统设计
  随着监控范围的不断扩大, 传统的有线监控报警已不能满足用户的需求。然而, 伴随着GSM 网络的发展,远程网络监控报警系统的硬件实现已成为可能, 有望取代传统的仅由单机控制的监控报警系统。本文针对目前的需求设计了一套基于GSM 网络的远程无线报警监控系统。其基本思路是: 将单片机与SIM300 通信模块通过串口连接, 实现单片机与SIM300 之间的相互通信。   SIM300 模块设有SIM 卡插槽, 可以实现与各种用户相互通信的功能。系统接有震动、红外、声音等类型传感器,当汽车发生警情时, 传感器将警情信号传送给单片机,经过单片机判断处理后,向用户发送报警短信,或者是直接拨打报警电话。如果情况紧急,用户可以直接发送短信密码
[单片机]
基于<font color='red'>单片机</font>和GSM的远程车载防盗报警系统设计
51单片机基础之DS18B20温度传感器
外型: 代码: main.c 文件 #include smg.h #include ds18b20.h /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main() { u8 i=0; int t
[单片机]
51<font color='red'>单片机</font>基础之DS18B20温度传感器
以IP平台形式将8051微控制器引入FPGA
  一直以来,设计人员为迅速发展的市场如消费电子和汽车等开发产品时,都面对严峻的上市时间压力。但是现在,这些严格的时间要求已经转移至其它许多领域,包括嵌入式控制和工业设计。 毋庸置疑,近年来谈论最多的芯片设计趋势是转向系统级芯片 (SoC) ,透过工艺技术和设计方法的突飞猛进,这种理想得以实现。但是SoC的发展进程仍然缓慢,并且对市场的变化非常敏感。此外,开发SoC本质上是一项成本高昂的高风险事业。极少公司拥有充足资源,能负担将SoC产品发展成为批量生产所需的非经常性工程开支 (NRE),即使公司拥有足够资源也必须仔细考虑取得投资回报的机会。   在业内,迅速将产品推出市场的意愿非常重要。产品销售每推迟一周都会对营业额造
[嵌入式]
以IP平台形式将8051<font color='red'>微控制器</font>引入FPGA
PIC单片机AD通道转换函数
由于PIC单片机有八路AD转换通道,如果每路都写一个转换函数,哪样非常麻烦并且不便于写程序,缘此我写了一段如下转换可实现八路通用的函数: uchar get_ad(uchar n) //带通道选择的AD采样函数 { uchar advalu; ADCON0=n; ADCON1=0x80; //1000 0000右对齐 delay(2); //延时等待 ADGO=1; //启动AD转换 while(ADGO); //等待AD转换结束 advalu=ADRESH; //读AD转换的值 advalu*=256; //将读回的AD值左移八位 ad
[单片机]
为什么有的MCU外接24MHz晶振不能去掉
痞子衡之前写过一篇关于时钟引脚的文章 《i.MXRT1xxx系列MCU时钟相关功能引脚的作用》 ,里面简单提及了外部晶振相关引脚的作用,但是并没有详细展开。最近在客户支持中,有客户咨询项目板级设计上能否将外部 24MHz 晶振完全去掉,就使用芯片内部集成的 RC24M 做初始时钟源。今天痞子衡就详细展开这个话题: Note: 本文中图片代码均以 i.MXRT1050 为例,但内容基本也适用其他 i.MXRT10xx 系列。 一、外部24MHz晶振作用 i.MXRT 系列共有两组外接晶振专用引脚,XTALI/O 用于连接 24MHz 晶振,RTC_XTALI/O 用于连接 32.768KHz 晶振。其中低频 32.76
[单片机]
基于STM32单片机启动文件的作用和启动过程解析
一、启动文件的作用是: 1.初始化堆栈指针SP; 2.初始化程序计数器指针PC; 3.设置堆、栈的大小; 4.设置异常向量表的入口地址; 5.配置外部SRAM作为数据存储器(这个由用户配置,一般的开发板可没 有外部SRAM); 6.设置C库的分支入口__main(最终用来调用main函数); 7.在3.5版的启动文件还调用了在system_stm32f10x.c文件中的 SystemInit()函数配置系统时钟,在旧版本的工程中要用户进入 main函数自己调用SystemInit()函数。 至此可以总结一下STM32的启动文件和启动过程。首先对栈和堆的大小进行定义,并在代码区的起始处建立中断向量表,其第一个表项是栈顶地址,
[单片机]
基于STM32<font color='red'>单片机</font>启动文件的作用和启动过程解析
51单片机控制ISD1420实现选段播放功能的实现
程序原文: #i nclude STC12C2052.H #i nclude intrins.h #i nclude stdio.h #i nclude string.h //硬件端口的定义 #define POW P3_7 //此引脚为单片机控制一个三极管给 ISD1420供电 #define PL P3_5 //接 ISD1420 的 PLAYL #define PE P3_4 //接 ISD1420 的 PLAYE #define REC P3_3 //接 ISD1420 的 REC #define REC_LED P3_2 //ISD1420 的 REC LED
[单片机]
51<font color='red'>单片机</font>控制ISD1420实现选段播放功能的实现
美国政府建议开发者停止使用 C / C++,转用内存安全编程语言
2 月 29 日消息,美国政府近日发布了一份网络安全报告,呼吁开发人员停止使用容易出现内存安全漏洞的编程语言,例如 C 和 C++,转而使用内存安全的编程语言进行开发。这份报告由美国网络空间总监办公室 (ONCD) 发布,旨在落实美国总统拜登的网络安全战略,目标是“保护网络空间的基石”。 内存安全指的是程序在访问内存时能够避免出现错误和漏洞,例如缓冲区溢出和悬空指针。Java 由于其 runtime 错误检测功能,被认为是一种内存安全的语言。然而,C 和 C++ 允许直接操作内存地址,并且缺乏边界检查,容易出现内存安全问题。 报告援引微软和谷歌的研究数据,指出超过 70% 的安全漏洞都与内存安全问题有关。报告还引用了美国网络安全和
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved