片内非易失性存储器

上传人:wt****50 文档编号:49575033 上传时间:2018-07-31 格式:PPT 页数:39 大小:835KB
返回 下载 相关 举报
片内非易失性存储器_第1页
第1页 / 共39页
片内非易失性存储器_第2页
第2页 / 共39页
片内非易失性存储器_第3页
第3页 / 共39页
片内非易失性存储器_第4页
第4页 / 共39页
片内非易失性存储器_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《片内非易失性存储器》由会员分享,可在线阅读,更多相关《片内非易失性存储器(39页珍藏版)》请在金锄头文库上搜索。

1、 PIC单片机片内非易失性存储器1非易失性存储器综述2单片机系统中的存储器3单片机系统中的存储器分为程序存储器和数据存储器 两个部分:程序存储器一般由掉电后内容不会丢失的非易失性存储器 (Nonvolatile Memory)构成。数据存储器则由读、写都非常方便的随机存储器(RAM) 构成。PIC单片机中提供了多种非易失性存储器,这些非易 失性存储器的使用的方法和成本都不尽相同,要根据 实际需要选择合适的存储器。常见非易失性存储器4掩膜ROM掩膜ROM是最古老的非易失性存储器,只 能由芯片生产厂商在制造时直接写入,写 入后就不可以再修改。最大优点是低廉的 成本,但随着单片机系统的个性化和每种

2、产品产量的减少,这种方式已无法满足设 计者的需要。常见非易失性存储器5紫外线擦除的EPROMEPROM可以用紫外擦除工具多次修改其 内容,但使用时仍然很不方便且成本较高 ,它很少用于实际产品,含有EPROM的 PIC单片机通常只在开发阶段使用。含有EPROM的PIC单片机常见非易失性存储器6一次性电可编程存储器(OTP)OTP技术允许生产者可以通过编程器等工具对其进行一次 性的编程。这种技术采用了类似掩膜ROM的工艺,在没有 大幅度提高制造成本的同时,为单片机系统生产者生产批 量较小的新产品提供了有效的选择。PIC单片机中中第六个字符为C字母的,其程序存储器多采 用OTP技术。常见非易失性存储

3、器7FlashFlash技术是半导体业的一次革命,它提高了存储器的制造 密度,降低了单位成本。更为重要的是Flash技术允许使用 者通过电的方法多次擦写其内容(10,000次左右),可以 作为程序存储器。 目前大部分的单片机都采用Flash技术来常见非易失性存储器8EEPROMEEPROM的成本较高,较难实现高密度集 成化,不能作为单片机的程序存储器,但 EEPROM可靠性和耐用性较高。PIC单片机中EEPROM被作为RAM的补充 ,成为数据存储器的一部分。EEPROM不 能像RAM那样直接读写,而是需要较为复 杂的读出和写入过程来操作。常见非易失性存储器9非易失性RAM(Nonvolatil

4、e RAM) 既能够像RAM一样高速、便捷地直接读写 ,又能够像ROM那样掉电不丢失,可以用 于存储那些需要掉电不丢失的大量数据。根据实现方法的不同,非易失性RAM可以 分为:铁电存储器(FRAM)、内部藏有 电池的NVRAM和双体结构的NVRAM三种 。由于成本较高非易失性RAM没有在PIC单 片机中使用。EEPROM在PIC单片机中的使用10单片机系统,经常需要根据现场实际情况设定或调整 工作参数。存储参数的存储器必须:第一,能够在运行条件下进行动态修改,也就是可以通过 程序读写其内容;第二,系统掉电后,设置的内容不会丢失,否则每次开机 后这些参数需要重新设定或调整。EEPROM在PIC单

5、片机中的使用11一般用EEPROM解决这个问题。传统的单片机系统没 有片内EEPROM,只能使用具有I2C、MicroWire或 SPI接口的EEPROM芯片。PIC18F系列高档单片机中集成了EEPROM存储器, 合理的解决了这个问题。EEPROM在PIC单片机中的使用12EEPROM被用作数据存储器,用以存储掉电不会丢失 的配置数据。为了和其它数据存储器匹配,EEPROM和Flash不同 ,也采用8位的方式组织。但EEPROM并没有被映射 到数据空间,而是使用不同的地址系统。片内的 EEPROM大多是256字节,有的型号1024B。不同的PIC中档单片机含有的EEPROM大小也不相等 。F

6、lash在PIC单片机中的使用13含有Flash程序存储器的单片机具有多次编程的便利, 简化了设计者的开发过程,且满足了产品个性化设计 的要求。目前包括PIC单片机在内的几乎所有单片机 的程序存储器都用Flash存储器实现。Flash在PIC单片机中的使用14基于Flash技术的程序存储器具有以下优势:可以由设计者进行编程,且能够多次编程,提高了程序开 发的灵活性。能够支持在线调试(ICD)、在线编程(ICP或ICSP)和 在应用编程(IAP)的要求。产品发行到最终用户处之后,仍然可以通过某些渠道在最 终用户处升级其程序。目前在MP3、MP4等消费电子领域 非常流行的“固件升级”就是利用这一特

7、性。Flash在PIC单片机中的使用15Flash存储器成本低廉,易 于集成,但可重复读写的 次数有限,因此被用作程 序存储器。PIC中档单片机的Flash满 足每个字的宽度为16位, 程序空间的最大长度为221 的要求。在地址的组织上以2K字为 一个页,不同型号的单片 机片内含有的Flash页数不 等。PIC中档单片机片内Flash存储器的配置Flash和EEPROM写入方法的异同16Flash和EEPROM的写入过程相同,都需要经过擦除 和烧写两个步骤。由于EEPROM存储的不是程序,因此对其进行写入操 作不会影响单片机内核(CPU)的取指操作,单片机 可以在EEPROM操作的同时正常运行

8、。单片机无法一边不停地从Flash中取出程序,另一边完 成对Flash的读写。针对这一问题,含有Flash的PIC 中档单片机只能在Flash写入期间暂停其内核的所有操 作进入悬停状态。在Flash烧写过程中,虽然不能执行Flash中的指令, 由于系统时钟仍然继续工作,片内其它模块还可以在 系统时钟的支持下继续工作。Flash和EEPROM写入方法的异同17Flash的写入操作以块(Block)为单位进行,每个块 的大小依单片机型号不同可能有4个或8个字。这种写 入方法大大提高了写入的效率,有利于大量数据或程 序的连续写入。但不利于单个数据的写入。EEPROM的写入是以字节为单位进行的,虽然写

9、入效 率较低,但却更灵活,有利于少量数据的频繁读写。非易失性存储器的使用方法和编 程技术18与EEPROM、Flash相关的寄存器19和PIC单片机内部的非易失性存储器操作相关的寄存 器共有九个。这九个寄存器大致可以分为三类:第一类包括EECON1和EECON2,负责控制非易失性存储 器的写入过程;第二类包括EEDATA、EEDATH以及EEADR、EEADRH ,负责提供需要进行读写操作的存储器的地址和数据;第三类包括INTCON、PIR1和PIR2,用于控制相关的中断 功能。与EEPROM、Flash相关的寄存器20EEPROM相关寄存器:1.EEPROM地址寄存器EEADR访问EEPRO

10、M时通过这个寄存器指定EEPROM 的地址。2.EEPROM数据寄存器EEDATAEEDATA是CPU和EEPROM交换数据的桥梁 ,要写入EEPROM的数据需要暂存到这个寄存器 后再由硬件写入EEPROM;要由EEPROM读入的 数据也先由硬件读入到EEDATA后再读入CPU。相关寄存器21与EEPROM、Flash相关的寄存器223.EEPROM读/写控制寄存器1 EECON1EECON1含有的各个位分别用于实现EEPROM读写过程中各种状态显示和控制,其中:EEPGD:访问对象选择位,用于设定读写的对象是数据存储器EEPROM还是程序存储 器的Flash。值得注意的是:在读写操作期间这个

11、位是不能改变的,否则将造成不可预知 的后果。 1 = 选择Flash作为操作对象 0 = 选择EEPROM作为操作对象WRERR:EEPROM写操作过程出错标志 1 = 写操作过程中发生了错误,具体来讲就是在写操作期间发生了外部复位(MCLR)或看门狗复位( WDT) 0 = 上一次写操作期间没有发生错误WREN:EEPROM写操作使能控制位 1 = 允许写操作 0 = 禁止写操作WR: EEPROM写操作启动控制位及状态位。注意这个位只能用软件置位,却不能由软 件清零。 1 = 启动一次写操作,在完成后由硬件自动清零 0 = 标志着上一次的写操作已经完成RD: EEPROM读操作启动控制位及

12、状态位。这个位同样只能用软件置位,却不能由软 件清零。 1 = 启动一次读操作,在完成后由硬件自动清零 0 = 标志着上一次的读操作已经完成与EEPROM、Flash相关的寄存器233.EEPROM读/写控制寄存器2 EECON2EECON2并不是一个实际物理存在的寄存器 ,它专门用于实现EEPROM写操作的安全控 制上,用以避免意外的写操作。片内EEPROM的结构和操作原理24在PIC中档单片机内部EEPROM数据存储器被设计成 一种外围模块,它和单片机的CPU之间通过数据总线 交换数据。EEPROM和数据总线之间没有直接连接,而是通过地 址寄存器EEADR和数据寄存器EEDATA来相互交流

13、, 其结构关系如图所示:片内EEPROM的结构和操作原理25以两个寄存器为分界线,左边部分CPU通过数据总线 、工作寄存器W和EEADR、EEDATA交换数据,这种 数据交换是通过软件完成。用户软件分两次完成地址 和数据的传送。右边部分两个寄存器和EEPROM之间的数据交换则是 通过硬件自动完成的。从EEPROM中读取数据26读操作只受到控制寄存器EECON1中的一个位RD的 控制:RD被程序置位后,地址寄存器EEADR所指定的EEPROM 单元的内容会被自动复制到数据寄存器EEDATA中,完成 读出。这个控制位只能由软件置位,却不能由软件清零,RD的清 零只能由硬件在读出数据后自动完成。因此

14、RD除了完成控 制位的功能外,还实现了读操作完成状态位的功能。软件 可以通过对这个位的查询判断读操作是否完成。从EEPROM中读取数据27对EEPROM操作的前提是EECON1中的非易失性存储 器选择位EEPGD必须首先清零,以选择EEPROM作 为操作的对象。同时将要读取的EEPROM单元的地址放入地址寄存器 EEADR中,随后通过置位RD启动EEPROM读取操作 。随后就可以通过工作寄存器W读取EEPROM中的数 据了。EEDATA中的数据会被一直保存到下一次读写 操作修改EEDATA为止。向EEPROM中写入数据28由于EEPROM的写入较慢,且非常重要,PIC单片机 用两个控制位WR和

15、WREN,以及两个状态位WREN 和EEIF来保证写入过程的可靠性。WREN完成写使能的功能,也就是说只有在这个位为 1的前提下,接下来所有的对EEPROM的写入才是有 效的。另外用户程序将WR置位,数据寄存器EEDATA里的 数据就被自动存储到地址寄存器EEADR所指向的存储 器中。WR的清零只能由硬件自动完成,因此WR位也 可以作为非易失性存储器写入完成的标志。向EEPROM中写入数据29EEPROM的写入过程应该注意:应使EEPGD清零,以选择写入对象为EEPROM。 WREN和WR的置位,将启动写操作。但为保证写入的安 全性,WREN和WR的置位不能在同一条指令中完成。同样出于安全原因

16、,每次写操作完成后必须复位WREN, 以防止误操作的发生。EEPROM的写入需要用户软件通过5条特殊的指令序列来 开始,而无法通过简单的直接读写完成。在执行这5条指令 的过程中,应该暂时关闭所有中断向EEPROM中写入数据30EEPROM的写操作包括以下步骤: 1、确认当前的WR为0,即确认上一次EEPROM写入过程已经完成,如果WR为1则需要等待 当前的写入过程完成,才能继续完成后面的步骤。 2、把地址送入EEADR,并确保这个地址不超过目标单片机的EEPROM地址范围 3、把准备写入EEPROM的,一个字节的内容送入EEDATA中。 4、EEPGD位清零,选择EEPROM作为写入对象。 5、写操作使能位WREN置位,允许写入操作。 6、GIE清零,暂时关闭所有中断。 7、按顺序执行专用的5个指令,这五条指令由厂家规定,不能进行任何改动:用MOVLW指令将0X55写入工作寄存器;用MOVWF指令将W中的0X55搬到EECON2中;用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号