EEPROM

作者:安森美半导体逻辑、开关和存储业务部Julio Song

物联网(IoT)没有表现出短暂流行的迹象,预计十年内将会有规律地出现越来越多相互联接的事物。这不足为奇,因为我们不断想象寻找利用技术去做事的新方法并开发新旧技术的全新应用。每个新应用都会向网络添加许多端点,使IoT日益变大。

该趋势目前在使用的、在大部分RF频谱中运行的不同无线技术的激增可见一斑。它们大多包含在工业、科学和医疗(ISM)定义下的免授权频段,通常仅排除可能归为电信的应用。

生活更舒适

涉及大量IoT端点,即使不是数千亿,也可能高达数百亿,使调试和维护环节面临着挑战。假设我们不是为下一代创造了一个巨大的废物管理问题,这些设备都将运行多年,因此在设计时需要适当地考虑维护和维修。

使这一后勤问题复杂化的是许多IoT端点成本非常低,其所提供的维护水平可能不支持相对较高的现场维护成本。基础设施的成本也必须尽可能地降低,因此采用免授权的无线方案。

甚至相对较小的工厂也可能很快会有成千上万的IoT端点,因此不难理解为什么网状网络技术已成为首选的局域网拓扑。它支持远程监视和维护每台设备,还提供网络中一定程度的冗余,因为网状拓扑能够承受那些可能由无线电干扰引起的重大中断或某些端点的总故障。

IoT中另一种流行的拓扑,尤其针对位于远程区域的传感器,是低功耗广域网(LPWAN)采用的星型网络。这些网络优先考虑范围和低功耗而非有效载荷,通常支持非常短的传输而不是长距离传输,可能仅限每天传输一次。因此,它们通常最适用于不受延迟影响的工作数据。

网络拓扑的选择几乎将完全取决于应用,尽管端点的财务成本可能相对较低,但其可能提供很重要的数据。一些分析师估计,LPWAN的价值将在短短几年内达500亿美元,该数字基于设备及其提供的服务的总价值。

当现场端点发生故障时,几乎不可避免地需要对其进行修复。如果不能通过网络远程进行,则需要出车维修,这需要维修工程师前往现场并尽可能快而高效地解决问题。

一旦到达现场,问题可能会增加,因为很有可能端点无法通过物理或电子方式访问。即使端点易于访问,工程师可能也很难弄清为何它无法正常工作,因为端点的设计可能基于单个系统单芯片(SoC)。目前的集成度使这种情况变得越来越普遍。

针对IoT的两个‘E’

电子行服务的所有领域都在本地存储有关设备活动的数据,这比物联网存在的时间更久。利用非易失性存储器记录数据已被确立为记录关键系统信息的一种有效方案。存储在非易失性存储器中的数据可让您深入地了解设备的运行方式及其为何会停止工作。它们还被广泛用于存储功能参数、校准数据,以及可能需要定期更新、在断电时却可保留的其他类型信息。

这种活动对基本的存储技术产生了巨大的压力,因为它要求极端的耐久性,高于某些流行的存储器例如闪存所提供的耐久性。因此,优选的技术是EEPROM。

在某些应用中,在正常工作期间连续写入EEPROM并不少见,这推动了对可承受数百万次读写周期而不会出现故障的存储技术的需求。这不包括可能仅能支持100,000个周期或更少的编程和擦除持久性的其他类型的存储器。

现在,通过在单个器件中集成EEPROM存储和RFID联接,即使出现电源故障或完全断电的情况,工程师也可以通过设计IoT端点,使其存储工作数据并与服务工程师通信这呈现了服务和维护的全新范例,并且完全适用于IoT(见图1)。

图1:将支持RFID的EEPROM添加到IoT端点,将为几十亿台设备的调试、维修和维护提供一个新的维度

Tablet/Phone:平板电脑/手机

RF Reader/Writer:RF读写器

LED TV:LED电视

Motor Trim from EEPROM:EEPROM调节电机

MCU:微控制单元

Adjustable Current Regulator:可调的电流调节器

TV Trim from EEPROM:EEPROM调节电视

Trim parameters, diagnostic data, remote maintenance:调整参数、诊断数据、远程维护

图1:将支持RFID的EEPROM添加到IoT端点,为几十亿台设备的调试、维修和维护提供一个新的维度

也许更重要的是,所讨论的方案将无线联接的操作距离从不到10厘米(这是无源RFID的典型值)扩展达150厘米。这确切地将无源RFID在IoT中的应用提高到新的维度。即使系统没有上电,也能使用RFID在1.5m的距离上读写数据到EEPROM,将帮助工程师在部署现场之后,更经济高效地调试、维护、维修和修复端点。

独特的方案

安森美半导体开发的N24RF系列RF EEPROM集成了一个符合ISO 15693 / ISO 18000-3 Mode 1标准的RF收发器,以及4、16或64 kbit的EEPROM存储器,采用8引脚SOIC或TSSOP封装它提供200万次编程、擦除周期,具有200年的数据保留能力,且可在-40至+ 105°C的温度范围内工作。

该器件使用无源RFID,因此不依赖外部电源。取而代之的是,它的所有电力都在连接到一个外部线圈天线时获得。该器件被归类为高频(HF)RFID,在13.56 MHz的载波频率下运行,使其能够以低速(1.65 kbit / s)和高速(26.48 kbit / s)与RFID读卡器进行通信,最高可达53 kbit / s的快速指令。它是无源RFID实施的独特方法,可在1.5m的距离内实现这一目标。

即使电路的其余部分断电或出现故障,使用无源RFID也可以询问IoT端点以恢复故障后的重要数据记录。它还支持空中更新(OTA)校准或操作参数,同时端点仍在运行。芯片间通信使用I2C总线实施,主机处理器在正常操作期间能从该器件读取和写入,从而使校准或操作参数能在现场更新而不中断服务。

N24RFxx器件使用Reader Talks First(RTF)技术,当通过感应耦合施加电磁场时,该器件将被唤醒。它提供更广的范围,意味着工程师能够查询可能难以接近的IoT端点例如灯具,仅需使用位于该灯具下方的RFID读卡器就可实现。

安全特性包括64位唯一标识符(UID),以及支持多个32位密码,并具有针对不同存储扇区的锁定功能。(在选定的器件中)另一个特性是电压输出引脚,可提供足够的电能以支持单独的超低功耗微控制器。

总结

在许多需要高耐久性和经验证的数据保留应用中,EEPROM广泛用于数据记录和参数存储。通过添加RFID功能,可在1.5米的距离无线、安全地访问相同的数据,从而为IoT端点设计提供了一个新的维度。

关于安森美半导体

安森美半导体(ON Semiconductor,美国纳斯达克上市代号:ON)致力于推动高能效电子的创新,使客户能够减少全球的能源使用。安森美半导体领先于供应基于半导体的方案,提供全面的高能效电源管理、模拟、传感器、逻辑、时序、互通互联、分立、系统单芯片(SoC)及定制器件阵容。公司的产品帮助工程师解决他们在汽车、通信、计算机、消费电子、工业、医疗、航空及国防应用的独特设计挑战。公司运营敏锐、可靠、世界一流的供应链及品质项目,一套强有力的守法和道德规范计划,及在北美、欧洲和亚太地区之关键市场运营包括制造厂、销售办事处及设计中心在内的业务网络。更多信息请访问http://www.onsemi.cn

围观 21

EEPROM & EPROM

EEPROM是指带电可擦可编程只读存储器,是一种掉电后数据不丢失的存储芯片,EEPROM可以在电脑上或专用设备上擦除已有信息,重新编程,一般用在即插即用。

EPROM是一种断电后仍能保留数据的计算机储存芯片,它是一组浮栅晶体管,被一个提供比电子电路中常用电压更高电压的电子器件分别编程。一旦编程完成后,EPROM只能用强紫外线照射来擦除,通过封装顶部能看见硅片的透明窗口,很容易识别EPROM,这个窗口同时用来进行紫外线擦除。

EEPROM和EPROM的发展历程不同

在微机的发展初期,BIOS都存放在ROM中,ROM内部的资料是在ROM的制造工序中,在工厂里用特殊的方法被烧录进去的,其中的内容只能读不能改,一旦烧录进去,用户只能验证写入的资料是否正确,不能再作任何修改。如果发现资料有任何错误,则只有舍弃不用,由于ROM制造和升级的不便,后来人们发明了PROM。

最初从工厂中制作完成的PROM内部并没有资料,用户可以用专用的编程器将自己的资料写入,但是这种机会只有一次,一旦写入后也无法修改,若是出了错误,已写入的芯片只能报废。PROM的特性和ROM相同,但是其成本比ROM高,而且写入资料的速度比ROM的量产速度要慢,一般只适用于少量需求的场合或是ROM量产前的验证。

EPROM芯片可重复擦除和写入,解决了PROM芯片只能写入一次的弊端。EPROM芯片有一个很明显的特征,在其正面的陶瓷封装上,开有一个玻璃窗口,透过该窗口,可以看到其内部的集成电路,紫外线透过该孔照射内部芯片就可以擦除其内的数据,完成芯片擦除的操作要用到EPROM擦除器。

EPROM芯片在写入资料后,还要以不透光的贴纸或胶布把窗口封住,以免受到周围的紫外线照射而使资料受损。EPROM的编程需要使用编程器完成。编程器是用于产生EPROM编程所需要的高压脉冲信号的装置。编程时将EPROM的数据送到随机存储器中,然后启动编程程序,编程器便将数据逐行地写入EPROM中。

一片编程后的EPROM,可以保持其数据大约10到20年,并能无限次读取。擦除窗口必须保持覆盖,以防偶然被阳光擦除。老式电脑的BIOS芯片,一般都是EPROM,擦除窗口往往被印有BIOS发行商名称、版本和版权声明的标签所覆盖。EPROM已经被EEPROM取代。

由于EPROM操作的不便,后来出的主板上BIOS ROM芯片大部分都采用EEPROM。EEPROM的擦除不需要借助于其它设备,它是以电子信号来修改其内容而且是以Byte为最小修改单位,不必将资料全部洗掉才能写入,彻底摆脱了EPROM Eraser和编程器的束缚。

EEPROM在写入数据时,仍要利用一定的编程电压,此时,只需用厂商提供的专用刷新程序就可以轻而易举地改写内容。

借助于EEPROM芯片的双电压特性,可以使BIOS具有良好的防毒功能,在升级时,把跳线开关打至“on”的位置,即给芯片加上相应的编程电压,就可以方便地升级;平时使用时,则把跳线开关打至“off”的位置,防止CIH类的病毒对BIOS芯片的非法修改。

EEROM和EPROM的性能区别

EPROM是一种可重写的存储器芯片,并且其内容在掉电的时候也不会丢失,它是非易失性的。它通过EPROM编程器进行编程,EPROM编程器能够提供比正常工作电压更高的电压对EPROM编程。

一旦经过编程,EPROM只有在强紫外线的照射下才能够进行擦除。为了进行擦除,EPROM的陶瓷封装上具有一个小的石英窗口,这个石英窗口一般情况下使用不透明的粘带覆盖,当擦除时将这个粘带揭掉,然后放置在强紫外线下大约20分钟。

EEPROM是一种电可擦除可编程只读存储器,并且其内容在掉电的时候也不会丢失。在平常情况下,EEPROM与EPROM一样是只读的,需要写入时,在指定的引脚加上一个高电压即可写入或擦除,而且其擦除的速度极快。

通常EEPROM芯片又分为串行EEPROM和并行EEPROM两种,串行EEPROM在读写时数据的输入/输出是通过2线、3线、4线或SPI总线等接口方式进行的,而并行EEPROM的数据输入/输出则是通过并行总线进行的。

EEPROM和EPROM的应用区别

对于一个需要开关设置参数的小型系统,可以把诸如波特率、同步和异步选择、数据长度等参数储存在EEPROM中,制定一个数据序列或表格,使用户方便地完成选择。每次上电CPU按EEPROM中设定的参数进行指定的工作方式设茕。

对于大规模的计算机及通讯阿络,可把诸如通道配置、数据速率以及终端的承受能力等控制信息用表格的形式显示在CRT上,用在CRT上对系统可以方便地进行组态,EEPROM可以很好地将这些数据和表格存储下来,解决了通讯网络的稳定性和灵活性问题。

EPROM是一种常用的存储器,在单片机开发应用中一般用它作为程序存储器,实际上它也是一种可编程逻辑器件。除了可以用它实现逻辑函数外,还可以用它实现一些复杂的测量和控制,通常的数字式电压表采用液晶显示,显示亮度不高,显示的数字也不大,在此介绍采用A/D转换器和EPROM为核心构成的大型显示LED数字式直流电压表。适合于教学实验演示及测控设备的仪表台柜等的应用场合。

本文整合自网络,版权归原作者。

围观 470

FLASH 和EEPROM的最大区别是FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有 FLASH,早期可电擦写型MCU则都是EEPRM结构,现在已基本上停产了。

在芯片的内电路中,FLASH和EEPROM不仅电路不同,地址空间也不同,操作方法和指令自然也不同,不论冯诺伊曼结构还是哈佛结构都是这样。技术上,程序存储器和非易失数据存储器都可以只用FALSH结构或EEPROM结构,甚至可以用“变通”的技术手段在程序存储区模拟“数据存储区”,但就算如此,概念上二者依然不同,这是基本常识问题。

EEPROM:电可擦除可编程只读存储器,Flash的操作特性完全符合EEPROM的定义,属EEPROM无疑,首款Flash推出时其数据手册上也清楚的标明是EEPROM,现在的多数Flash手册上也是这么标明的,二者的关系是“白马”和“马”。至于为什么业界要区分二者,主要的原因是 Flash EEPROM的操作方法和传统EEPROM截然不同,次要的原因是为了语言的简练,非正式文件和口语中Flash EEPROM就简称为Flash,这里要强调的是白马的“白”属性而非其“马”属性以区别Flash和传统EEPROM。

Flash的特点是结构简单,同样工艺和同样晶元面积下可以得到更高容量且大数据量下的操作速度更快,但缺点是操作过程麻烦,特别是在小数据量反复重写时,所以在MCU中Flash结构适于不需频繁改写的程序存储器。

很多应用中,需要频繁的改写某些小量数据且需掉电非易失,传统结构的EEPROM在此非常适合,所以很多MCU内部设计了两种EEPROM结构,FLASH的和传统的以期获得成本和功能的均衡,这极大的方便了使用者。随着ISP、IAP的流行,特别是在程序存储地址空间和数据存储地址空间重叠的MCU系中,现在越来越多的MCU生产商用支持IAP的程序存储器来模拟EEPROM对应的数据存储器,这是低成本下实现非易失数据存储器的一种变通方法。为在商业宣传上取得和双EEPROM工艺的“等效”性,不少采用Flash程序存储器“模拟”(注意,技术概念上并非真正的模拟)EEPROM数据存储器的厂家纷纷宣称其产品是带EEPROM的,严格说,这是非常不严谨的,但商人有商人的目的和方法,用Flash“模拟”EEPROM可以获取更大商业利益,所以在事实上,技术概念混淆的始作俑者正是他们。

从成本上讲,用Flash“模拟”EEPROM是合算的,反之不会有人干,用EEPROM模拟Flash是怎么回事呢?这可能出在某些程序存储空间和数据存储空间连续的MCU上。这类MCU中特别是存储容量不大的低端MCU依然采用EEPROM作为非易失存储器,这在成本上反而比采用Flash和传统EEPROM双工艺的设计更低,但这种现象仅仅限于小容量前提下。因Flash工艺的流行,现在很多商人和不够严谨的技术人员将程序存储器称为Flash,对于那些仅采用传统EEPROM工艺的MCU而言,他们不求甚解,故而错误的将EEPROM程序存储器称为“ 模拟Flash”,根本的原因是他们未理解Flash只是一种存储器结构而非存储器的用途,错误的前提自然导致错误的结论。

商业上讲,用EEPROM模拟 Flash是不会有人真去做的愚蠢行为,这违背商业追求最大利益的原则,技术上也不可行,而对于技术人员而言。本质的问题是Flash是一种存储器类型而非MCU中的程序存储器,即使MCU的程序存储器用的是Flash,但其逆命题不成立。

来源:huazhongwang

围观 419

1、EEPROM介绍

Electrically Erasable Programmable Read Only Memory 电气可拭除可编程只读存储器

发展过程:ROM – > PROM –> EPROM –> EEPROM

2、EEPROM和FLASH的区别

2.1 使用上的区别

  •  FLASH用于存放程序,在程序运行过程中不能更改。我们编写的程序是烧录到FLASH中的;
  •  RAM用作程序运行时的数据存储器;
  •  EEPROM用于存放数据,是用来保存掉电后用户不希望丢的数据,开机时用到的参数。运行过程中可以改变。

FLASH是用于存储程序代码的,有些场合也可能用它来保存数据,当然前提是该单片机的FLASH工艺是可以自写的(运行中可擦写),但要注意FLASH的擦写次数通常小于一万次,而且通常FLASH只能按块擦除。EEPROM不能用来存程序,通常单片机的指令寻址不能到这个区域。EEPROM的擦写次数应有百万次,而且可以按字节擦写。 EEPROM在一个PAGE内是可以任意写的,FLSAH则必须先擦除成BLANK,然后再写入,而一般没有单字节擦除的功能,至少一个扇区擦除。

2.2 结构上的区别

EEPROM和FLASH都是非易失性存储器。

FLASH的全称是FLASH EEPROM,但跟常规EEPROM的操作方法不同。

FLASH 和EEPROM的最大区别是FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有 FLASH,早期可电擦写型MCU则都是EEPRM结构,现在已基本上停产了。

3、EEPROM的使用方法

AVRGCC里面自带有EEPROM读写函数。

使用时需包含头文件#include <avr/eeprom.h>,部分读写函数如下:

#define eeprom_is_ready() bit_is_clear(EECR, EEWE)//检测EEPROM是否准备好。OK返回1(返回EEWE位)

#define eeprom_busy_wait() do {} while (!eeprom_is_ready())//等待EEPROM操作完成

extern uint8_t eeprom_read_byte (const uint8_t *addr);//读取指定地址的一个字节8bit的EEPROM数据

extern uint16_t eeprom_read_word (const uint16_t *addr);//读取指定地址的一个字16bit的EEPROM数据

extern void eeprom_read_block (void *buf, const void *addr, size_t n);//读取由指定地址开始的指定长度的EEPROM数据

extern void eeprom_write_byte (uint8_t *addr, uint8_t val);//向指定地址写入一个字节8bit的EEPROM数据

extern void eeprom_write_word (uint16_t *addr, uint16_t val);//向指定地址写入一个字16bit的EEPROM数据

使用示例:

/*-----------------------------------------------------------------------------
 *  从EEPROM中读取配置信息
 *----------------------------------------------------------------------------*/
uint8_t read_EEPROM_config(void)
{
    factory_mode               = eeprom_read_byte ( (uint8_t  *)0x10 );
    short_address              = eeprom_read_word ( (uint16_t *)0x11 );
    transmit_power_DBM_uin     = eeprom_read_byte ( (uint8_t  *)0x13 );
    pan_id                     = eeprom_read_word ( (uint16_t *)0x14 );
    channel_page               = eeprom_read_byte ( (uint8_t  *)0x16 );
    channel                    = eeprom_read_byte ( (uint8_t  *)0x17 );
    return 1;
}

/*------------------------------------------------------------------------------
 * 将从串口读出的配置信息存放于EEPROM中
 *-----------------------------------------------------------------------------*/
uint8_t write_EEPROM_config(void)
{
    eeprom_write_byte ( (uint8_t  *)0x10,factory_mode );
    eeprom_write_word ( (uint16_t *)0x11,short_address );
    eeprom_write_byte ( (uint8_t  *)0x13,transmit_power_DBM_uin );
    eeprom_write_word ( (uint16_t *)0x14,pan_id );
    eeprom_write_byte ( (uint8_t  *)0x16,channel_page );
    eeprom_write_byte ( (uint8_t  *)0x17,channel );

    return 1;
}

通过串口向单片机发送配置命令,单片机收到指令后,利用函数write_EEPROM_config()将相应的配置信息存放于EEPROM中。系统初始化时,利用函数read_EEPROM_config()从EEPROM中取出相应的数据,用于系统的初始化。

转自: Andy Cheung

围观 348

串行EEPROM 应该是一种很可靠的设备,但在我的使用中,经常会出现数据出错的情况,毛主席老人家说:知己知比,方能百战不败!是什么原因呢?其实这种情况多发生在插拔电的情况下。

让我们来瞧瞧:

1. EEPROM 读写的时序可能有小小的不对

2. 是在掉电时,在电压降低到一定程度后到完全没电之间的一段时间内,在MCU与EEPROM 的读写信号线上出现非控制的快速随机电平,这些电平可能会组合出一些被EEPROM 认为合法的写命令,结果将EEPROM 中的值修改掉了;

3. 在上电的复位期间,I/O 脚上电平未定,也可能随机组合出一些写命令;

4. 在读EEPROM 操作过程中,出现了复位(如充电复位)等,形成类似于(二)的情况;

5. 在电压降低后,可能会出现MCU 跑飞了,结果运行到了写EEPROM 的底层驱动程序中,强来将数据写入了进去!嘿嘿!让我们尝尝强扭的瓜不甜!

对待敌人可不能手软,怎样扼杀他们在萌芽状态!看我的绝招:

1. 摆阔气:按Datasheet 上的时序,发现多数时候读写正确,但有时偶尔不对,这时可以降低读写的速度,多几个NOP,不要太小气吗?咱们度量(ROM)还是能容的下的!

2. 避风头:为防止读EEPROM 的过程中出现复位,我们可以在MCU 复位后200ms 内禁止读写EEPROM,因充电引起的复位抖动,一般在数十毫秒内,过了这段时间,再出现复位的可能性不大,

3. 查证件:在写EEPROM 的底层驱动程序中,在执行写动作时,判断一下某些标志,有良名证的才能通过,否则,只好打回原籍(跳到复位地址)

4. 多买保险(3份最佳)以自救:对于重要的数据(如通信密码、参数设置等,这些部分信息量不大,我们要采用三次备份的手段。这些信息存放在三个不同的PAGE 内,最好PAGE 内的地址也不一样。在我们写这些数据时,要针对不同的地址写三次,而读时,对于三处读来的数据,如果全相同,没什么可说的了,如果有两个相同,一个不同,则使用大数判决,使用相同的那个值,并将这个数值写到不同的那个地址去。当然,如果三个值全不同,只好随便取一个(如第一个),再将其写入另两个地址中去。这种方法非常有效,因为一般误擦除不会是全部数据,而只是某一处而已,我们可以允许EEPROM 某单元被误擦除,只要读了一次,就恢复了。

来源:http://www.cnblogs.com/zhangjincheng/p/4437039.html

围观 311

常见存储器概念:RAM、SRAM、SDRAM、ROM、EPROM、EEPROM、Flash。存储器可以分为很多种类,其中根据掉电数据是否丢失可以分为RAM(随机存取存储器)和ROM(只读存储器),其中RAM的访问速度比较快,但掉电后数据会丢失,而ROM掉电后数据不会丢失。

在单片机中,RAM主要是做运行时数据存储器,FLASH主要是程序存储器,EEPROM主要是用以在程序运行保存一些需要掉电不丢失的数据。

FLASH:单片机运行的程序存储的地方。

SRAM:存储单片机运行过程中产生的了临时数据。

EEPROM:视用户的需要而定,一般用来存储系统的一些参数,这些参数可能需要修改,也可能不会修改。

ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。另外,一些变量,都是放到RAM里的,一些初始化数据比如液晶要显示的内容界面,都是放到FLASH区里的(也就是以前说的ROM区),EEPROM可用可不用,主要是存一些运行中的数据,掉电后且不丢失

RAM 又可分为SRAM(Static RAM/静态存储器)和DRAM(Dynamic RAM/动态存储器)。SRAM 是利用双稳态触发器来保存信息的,只要不掉电,信息是不会丢失的。DRAM是利用MOS(金属氧化物半导体)电容存储电荷来储存信息,因此必须通过不停的给电容充电来维持信息,所以DRAM 的成本、集成度、功耗等明显优于SRAM。 SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。

内存工作原理:内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。

具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。

而通常人们所说的SDRAM 是DRAM 的一种,它是同步动态存储器,利用一个单一的系统时钟同步所有的地址数据和控制信号。使用SDRAM不但能提高系统表现,还能简化设计、提供高速的数据传输。在嵌入式系统中经常使用。

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

Flash也是一种非易失性存储器(掉电不会丢失),它擦写方便,访问速度快,已大大取代了传统的EPROM的地位。由于它具有和ROM一样掉电不会丢失的特性,因此很多人称其为Flash ROM。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。

转自: http://www.cnblogs.com/yuandongtao1989/p/6674276.html

围观 351

单片机运行时的数据都存在于RAM(随机存储器)中,在掉电后RAM 中的数据是无法保留的,那么怎样使数据在掉电后不丢失呢?这就需要使用EEPROM 或FLASHROM 等存储器来实现。

插播一段: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又有EEPROM呢?

通常,单片机里的Flash都用于存放运行代码,在运行过程中不能改;EEPROM是用来保存用户数据,运行过程中可以改变,比如一个时钟的闹铃时间初始化设定为12:00,后来在运行中改为6:00,这是保存在EEPROM里,不怕掉电,就算重新上电也不需要重新调整到6:00。

但最大区别是其实是:FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有 FLASH,早期可电擦写型MCU则都是EEPRM结构,现在已基本上停产了。

在芯片的内电路中,FLASH和EEPROM不仅电路不同,地址空间也不同,操作方法和指令自然也不同,不论冯诺伊曼结构还是哈佛结构都是这样。技术上,程序存储器和非易失数据存储器都可以只用FALSH结构或EEPROM结构,甚至可以用“变通”的技术手段在程序存储区模拟“数据存储区”,但就算如此,概念上二者依然不同,这是基本常识问题。

EEPROM:电可擦除可编程只读存储器,Flash的操作特性完全符合EEPROM的定义,属EEPROM无疑,首款Flash推出时其数据手册上也清楚的标明是EEPROM,现在的多数Flash手册上也是这么标明的,二者的关系是“白马”和“马”。至于为什么业界要区分二者,主要的原因是 Flash EEPROM的操作方法和传统EEPROM截然不同,次要的原因是为了语言的简练,非正式文件和口语中Flash EEPROM就简称为Flash,这里要强调的是白马的“白”属性而非其“马”属性以区别Flash和传统EEPROM。

Flash的特点是结构简单,同样工艺和同样晶元面积下可以得到更高容量且大数据量下的操作速度更快,但缺点是操作过程麻烦,特别是在小数据量反复重写时,所以在MCU中Flash结构适于不需频繁改写的程序存储器。

很多应用中,需要频繁的改写某些小量数据且需掉电非易失,传统结构的EEPROM在此非常适合,所以很多MCU内部设计了两种EEPROM结构,FLASH的和传统的以期获得成本和功能的均衡,这极大的方便了使用者。随着ISP、IAP的流行,特别是在程序存储地址空间和数据存储地址空间重叠的MCU系中,现在越来越多的MCU生产商用支持IAP的程序存储器来模拟EEPROM对应的数据存储器,这是低成本下实现非易失数据存储器的一种变通方法。为在商业宣传上取得和双EEPROM工艺的“等效”性,不少采用Flash程序存储器“模拟”(注意,技术概念上并非真正的模拟)EEPROM数据存储器的厂家纷纷宣称其产品是带EEPROM的,严格说,这是非常不严谨的,但商人有商人的目的和方法,用Flash“模拟”EEPROM可以获取更大商业利益,所以在事实上,技术概念混淆的始作俑者正是他们。

从成本上讲,用Flash“模拟”EEPROM是合算的,反之不会有人干,用EEPROM模拟Flash是怎么回事呢?这可能出在某些程序存储空间和数据存储空间连续的MCU上。这类MCU中特别是存储容量不大的低端MCU依然采用EEPROM作为非易失存储器,这在成本上反而比采用Flash和传统EEPROM双工艺的设计更低,但这种现象仅仅限于小容量前提下。因Flash工艺的流行,现在很多商人和不够严谨的技术人员将程序存储器称为Flash,对于那些仅采用传统EEPROM工艺的MCU而言,他们不求甚解,故而错误的将EEPROM程序存储器称为“ 模拟Flash”,根本的原因是他们未理解Flash只是一种存储器结构而非存储器的用途,错误的前提自然导致错误的结论。商业上讲,用EEPROM模拟 Flash是不会有人真去做的愚蠢行为,这违背商业追求最大利益的原则,技术上也不可行,而对于技术人员而言。本质的问题是Flash是一种存储器类型而非MCU中的程序存储器,即使MCU的程序存储器用的是Flash,但其逆命题不成立。

转自: 自由石匠

围观 444

AT21CS11存储器芯片的扩展电压范围特性可适应锂离子电池应用

Microchip Technology Inc.(美国微芯科技公司)日前宣布推出具有2.7V至4.5V工作电压范围的单线双引脚电可擦除可编程只读存储器(EEPROM)芯片。AT21CS11非常适合用于识别和认证管壳或者电缆等电子元件空间受限的远端装置。

每片AT21CS11包含一个预编程的唯一序列号和五个EEPROM存储区。任意或者全部存储区都可以由终端设备制造商永久锁定,以便跟踪产品和识别附件,以协助进行防伪。EEPROM对于那些需要对产品进行质保或者防止假冒产品的客户来说是理想的选择,支持通过授权的替代品保证其系统持续运行。

AT21CS11是Microchip的第二代单线EEPROM芯片。新器件的工作电压扩展到了4.5V,适用于一次性医疗器械和电子香烟等锂电池供电设备。

新器件通过一条单输入/输出(SI/O)线连接到系统,这条线既是器件的通信线又是电源线。只需要一条导线和一条地线,光纤到户(FTTH)电缆终端制造商便能够为不同类型的电缆添加关键电缆特性参数。SI/O线还能实现一个简单的两点机械卡入式或者扭转式连接器,适用于无法采用较大的3线、5线和8线解决方案的一次性设备。

将EEPROM固定在可拆卸的电缆或者管壳中,制造商可以制造出易于识别或者认证的附件。该器件具有1Kbit的EEPROM存储器(四个扇区,每个256位),一个64位列号,还有128位用于额外的用户可编程跟踪存储区。额外的存储区使设计人员能够在远离主要电子设备的地方添加唯一的标识和操作参数,例如消耗和使用信息等。

Microchip存储器产品部副总裁Randy Drwinga表示:“Microchip是所有串行和并行接口EEPROM的市场领导者。我们产品线的单线型号支持客户通过最简单的连接为远端设备添加EEPROM智能功能。”

关于AT21CS11更详细的信息,请访问: www.microchip.com/at21cs11

供货

AT21CS11现在提供样片,各种封装的芯片10,000片起可批量供货。还提供AT21CS01/AT21CS11单线评估工具包(部件编号 DM160232)。

如果需要了解详细信息,请联系Microchip销售代表或者全球授权分销商,也可以访问Microchip网站。如果需要购买文中提及的产品,请访问Microchip使用方便的在线销售渠道 microchipDIRECT,也可以联系Microchip的授权分销合作伙伴。

围观 278

页面

订阅 RSS - EEPROM