片内非易失性存储器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
28
向EEPROM中写入数据
EEPROM的写入过程应该注意:
应使EEPGD清零,以选择写入对象为EEPROM。 WREN和WR的置位,将启动写操作。但为保证写入的安 全性,WREN和WR的置位不能在同一条指令中完成。 同样出于安全原因,每次写操作完成后必须复位WREN, 以防止误操作的发生。 EEPROM的写入需要用户软件通过5条特殊的指令序列来开 始,而无法通过简单的直接读写完成。在执行这5条指令的 过程中,应该暂时关闭所有中断
1.
20
相关寄存器
21
与EEPROM、Flash相关的寄存器
3.
EEPROM读/写控制寄存器1 EECON1
EECON1含有的各个位分别用于实现EEPROM读写过程中各种状态显示和控制,其中: EEPGD:访问对象选择位,用于设定读写的对象是数据存储器EEPROM还是程序存储器的Flash。值得 注意的是:在读写操作期间这个位是不能改变的,否则将造成不可预知的后果。 1 = 选择Flash作为操作对象 0 = 选择EEPROM作为操作对象 WRERR:EEPROM写操作过程出错标志 1 = 写操作过程中发生了错误,具体来讲就是在写操作期间发生了外部复位(MCLR)或看门狗复位 (WDT) 0 = 上一次写操作期间没有发生错误 WREN:EEPROM写操作使能控制位 1 = 允许写操作 0 = 禁止写操作 WR: EEPROM写操作启动控制位及状态位。注意这个位只能用软件置位,却不能由软件清零。 1 = 启动一次写操作,在完成后由硬件自动清零 0 = 标志着上一次的写操作已经完成 RD: EEPROM读操作启动控制位及状态位。这个位同样只能用软件置位,却不能由软件清零。 1 = 启动一次读操作,在完成后由硬件自动清零 0 = 标志着上一次的读操作已经完成
PIC中档单片机片内Flash存储器的配置
Flash和EEPROM写入方法的异同
Flash和EEPROM的写入过程相同,都需要经过擦除和 烧写两个步骤。 由于EEPROM存储的不是程序,因此对其进行写入操 作不会影响单片机内核(CPU)的取指操作,单片机 可以在EEPROM操作的同时正常运行。 单片机无法一边不停地从Flash中取出程序,另一边完 成对Flash的读写。针对这一问题,含有Flash的PIC中档 单片机只能在Flash写入期间暂停其内核的所有操作进 入悬停状态。 在Flash烧写过程中,虽然不能执行Flash中的指令,由 于系统时钟仍然继续工作,片内其它模块还可以在系 统时钟的支持下继续工作。
一般用EEPROM解决这个问题。传统的单片机系统没 有片内EEPROM,只能使用具有I2C、MicroWire或SPI 接口的EEPROM芯片。 PIC18F系列高档单片机中集成了EEPROM存储器,合 理的解决了这个问题。
11
EEPROM在PIC单片机中的使用
EEPROM被用作数据存储器,用以存储掉电不会丢失 的配置数据。 为了和其它数据存储器匹配,EEPROM和Flash不同, 也采用8位的方式组织。但EEPROM并没有被映射到数 据空间,而是使用不同的地址系统。片内的EEPROM 大多是256字节,有的型号1024B。 不同的PIC中档单片机含有的EEPROM大小也不相等。
9
EEPROM在PIC单片机中的使用
单片机系统,经常需要根据现场实际情况设定或调整 工作参数。存储参数的存储器必须:
第一,能够在运行条件下进行动态修改,也就是可以通过 程序读写其内容; 第二,系统掉电后,设置的内容不会丢失,否则每次开机 后这些参数需要重新设定或调整。
10
EEPROM在PIC单片机中的使用
22
与EEPROM、Flash相关的寄存器
3.
EEPROM读/写控制寄存器2 EECON2
EECON2并不是一个实际物理存在的寄存器,它专 门用于实现EEPROM写操作的安全控制上,用以避 免意外的写操作。
23
片内EEPROM的结构和操作原理
在PIC中档单片机内部EEPROM数据存储器被设计成一 种外围模块,它和单片机的CPU之间通过数据总线交 换数据。 EEPROM和数据总线之间没有直接连接,而是通过地 址寄存器EEADR和数据寄存器EEDATA来相互交流,其 结构关系如图所示:
16
Flash和EEPROM写入方法的异同
Flash的写入操作以块(Block)为单位进行,每个块的 大小依单片机型号不同可能有4个或8个字。这种写入 方法大大提高了写入的效率,有利于大量数据或程序 的连续写入。但不利于单个数据的写入。 EEPROM的写入是以字节为单位进行的,虽然写入效 率较低,但却更灵活,有利于少量数据的频繁读写。
6
常见非易失性存储器
Flash
Flash技术是半导体业的一次革命,它提高了存储器的制造 密度,降低了单位成本。更为重要的是Flash技术允许使用 者通过电的方法多次擦写其内容(10,000次左右),可以 作为程序存储器。 目前大部分的单片机都采用Flash技术来
7
常见非易失性存储器
EEPROM
EEPROM的成本较高,较难实现高密度集 成化,不能作为单片机的程序存储器,但 EEPROM可靠性和耐用性较高。 PIC单片机中EEPROM被作为RAM的补充, 成为数据存储器的一部分。EEPROM不能 像RAM那样直接读写,而是需要较为复杂 的读出和写入过程来操作。
8
常见非易失性存储器
非易失性RAM(Nonvolatile
17
非易失性存储器的使用方法和编 程技术
18
与EEPROM、Flash相关的寄存器
和PIC单片机内部的非易失性存储器操作相关的寄存器 共有九个。 这九个寄存器大致可以分为三类:
第一类包括EECON1和EECON2,负责控制非易失性存储器 的写入过程; 第二类包括EEDATA、EEDATH以及EEADR、EEADRH,负 责提供需要进行读写操作的存储器的地址和数据; 第三类包括INTCON、PIR1和PIR2,用于控制相关的中断 功能。
4
常见非易失性存储器
紫外线擦除的EPROM
EPROM可以用紫外擦除工具多次修改其内 容,但使用时仍然很不方便且成本较高, 它很少用于实际产品,含有EPROM的PIC 单片机通常只在开发阶段使用。
含有EPROM的PIC单片机
5
常见非易失性存储器
一次性电可编程存储器(OTP)
OTP技术允许生产者可以通过编程器等工具对其进行一次 性的编程。这种技术采用了类似掩膜ROM的工艺,在没有 大幅度提高制造成本的同时,为单片机系统生产者生产批 量较小的新产品提供了有效的选择。 PIC单片机中中第六个字符为C字母的,其程序存储器多采 用OTP技术。
19
与EEPROM、Flash相关的寄存器
EEPROM相关寄存器:
EEPROM地址寄存器EEADR 访问EEPROM时通过这个寄存器指定EEPROM的 地址。 2. EEPROM数据寄存器EEDATA EEDATA是CPU和EEPROM交换数据的桥梁,要 写入EEPROM的数据需要暂存到这个寄存器后再由 硬件写入EEPROM;要由EEPROM读入的数据也先 由硬件读入到EEDATA后再读入CPU。
可以由设计者进行编程,且能够多次编程,提高了程序开 发的灵活性。 能够支持在线调试(ICD)、在线编程(ICP或ICSP)和在 应用编程(IAP)的要求。 产品发行到最终用户处之后,仍然可以通过某些渠道在最 终用户处升级其程序。目前在MP3、MP4等消费电子领域非 常流行的“固件升级”就是利用这一特性。
8 EEPROM 数据存储器 数 据 总 线 6/7/8位 地址
EEADR
8
8
w
8
8bits×256 8bits×128 8bits×64
24
用户软件完成部分
EEDATA
8位数据
硬件自动完成部分
片内EEPபைடு நூலகம்OM的结构和操作原理
以两个寄存器为分界线,左边部分CPU通过数据总线、 工作寄存器W和EEADR、EEDATA交换数据,这种数据 交换是通过软件完成。用户软件分两次完成地址和数 据的传送。 右边部分两个寄存器和EEPROM之间的数据交换则是 通过硬件自动完成的。
26
从EEPROM中读取数据
对EEPROM操作的前提是EECON1中的非易失性存储器 选择位EEPGD必须首先清零,以选择EEPROM作为操 作的对象。 同时将要读取的EEPROM单元的地址放入地址寄存器 EEADR中,随后通过置位RD启动EEPROM读取操作。 随后就可以通过工作寄存器W读取EEPROM中的数据 了。EEDATA中的数据会被一直保存到下一次读写操作 修改EEDATA为止。
PIC单片机中提供了多种非易失性存储器,这些非易失 性存储器的使用的方法和成本都不尽相同,要根据实 际需要选择合适的存储器。
3
常见非易失性存储器
掩膜ROM
掩膜ROM是最古老的非易失性存储器,只 能由芯片生产厂商在制造时直接写入,写 入后就不可以再修改。最大优点是低廉的 成本,但随着单片机系统的个性化和每种 产品产量的减少,这种方式已无法满足设 计者的需要。
PIC单片机片内非易失性存储器
1
非易失性存储器综述
2
单片机系统中的存储器
单片机系统中的存储器分为程序存储器和数据存储器 两个部分:
程序存储器一般由掉电后内容不会丢失的非易失性存储器 (Nonvolatile Memory)构成。 数据存储器则由读、写都非常方便的随机存储器(RAM) 构成。
29
15
0000H
0800H
PIC16F72、 PIC16F872等单 片机的程序空间 到这里
第0页
07FFH 1000H
第1页
0FFFH 1800H
PIC16F74、 PIC16F874A等单 片机的程序空间 到这里
第2页
17FFH
第3页
1FFFH
PIC16F77、 PIC16F877A等单 片机的程序空间 到这里
14
Flash在PIC单片机中的使用
Flash存储器成本低廉,易 于集成,但可重复读写的 次数有限,因此被用作程 序存储器。 PIC中档单片机的Flash满足 每个字的宽度为16位,程 序空间的最大长度为221 的 要求。 在地址的组织上以2K字为 一个页,不同型号的单片 机片内含有的Flash页数不 等。
RAM)
既能够像RAM一样高速、便捷地直接读写, 又能够像ROM那样掉电不丢失,可以用于 存储那些需要掉电不丢失的大量数据。 根据实现方法的不同,非易失性RAM可以 分为:铁电存储器(FRAM)、内部藏有 电池的NVRAM和双体结构的NVRAM三种。 由于成本较高非易失性RAM没有在PIC单 片机中使用。
27
向EEPROM中写入数据
由于EEPROM的写入较慢,且非常重要,PIC单片机用 两个控制位WR和WREN,以及两个状态位WREN和 EEIF来保证写入过程的可靠性。 WREN完成写使能的功能,也就是说只有在这个位为1 的前提下,接下来所有的对EEPROM的写入才是有效 的。 另外用户程序将WR置位,数据寄存器EEDATA里的数 据就被自动存储到地址寄存器EEADR所指向的存储器 中。WR的清零只能由硬件自动完成,因此WR位也可 以作为非易失性存储器写入完成的标志。
12
Flash在PIC单片机中的使用
含有Flash程序存储器的单片机具有多次编程的便利, 简化了设计者的开发过程,且满足了产品个性化设计 的要求。目前包括PIC单片机在内的几乎所有单片机的 程序存储器都用Flash存储器实现。
13
Flash在PIC单片机中的使用
基于Flash技术的程序存储器具有以下优势:
25
从EEPROM中读取数据
读操作只受到控制寄存器EECON1中的一个位RD的控 制:
RD被程序置位后,地址寄存器EEADR所指定的EEPROM单 元的内容会被自动复制到数据寄存器EEDATA中,完成读出。 这个控制位只能由软件置位,却不能由软件清零,RD的清 零只能由硬件在读出数据后自动完成。因此RD除了完成控 制位的功能外,还实现了读操作完成状态位的功能。软件 可以通过对这个位的查询判断读操作是否完成。