- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Embedded_system_第五章_闪速存储器
闪速存储器 闪速存储器概述 闪速存储器Flash是一种高密度、真正不挥发的高性能读写存储器,兼有功耗低、可靠性高等特点。 —固有不挥发性 —易更新性 —成本低、密度和可靠性更高 闪速存储器概述(1) 根据工艺Flash主要有两类: —NOR Flash: ? 连接N-MOS单元的线都是独立的。 ? 可以随机读取。 ? 适于程序代码的并行读写存储,常用于制作PC的BIOS存储器和微控制器内部存储器等等。 —NAND Flash: ? 将几个N-MOS单元用同一根线连接。 ? 可以按顺序读取存储单元的内容。 ? 适合于数据或文件的串行读写存储。 闪速存储器概述(2) 现代片内Flash的优点: 单一电源电压供应。 可靠性高。 擦写速度快。 支持在线编程。 闪速存储器的编程操作(1) 概述 Flash的编程操作分为: —擦除:将存储单元的内容由0变成1 —写入:将存储单元的内容由1变成0 擦除、写入操作都是通过设置或清除Flash控制寄存器(FLCR)中的某个或某些位来完成的。 闪速存储器的编程操作(2) 概述 页(page)和行(row) —Flash在片内是以页(page)和行(row)为单位组织的。 —页和行的大小(字节数)随整个Flash的大小变化而变化,页的大小始终为行的两倍。 —对Flash的擦除操作都是以页为基础的,而写入操作则是以行或页为基础。 闪速存储器的编程寄存器(1) 与Flash编程操作有关的寄存器有两个: —Flash控制寄存器(FLCR) 用于控制对Flash的擦除和写入操作 —Flash块保护寄存器(FLBPR) 用于设定被保护的Flash区域 闪速存储器的编程寄存器(2) Flash控制寄存器(FLCR) 用于控制对Flash的擦除和写入操作 FLCR各位如下图所示: 闪速存储器的编程寄存器(3) Flash控制寄存器(FLCR)各位的含义 HVEN为高压允许位。 —当PGM=1或ERASE=1时,用户可以通过设置HVEN将来自片内电荷泵的高压加到Flash阵列上。 —1=打开电荷泵并将高电压加到Flash阵列上。 —0=撤除Flash阵列上的高电压并关闭电荷泵。 闪速存储器的编程寄存器(4) Flash控制寄存器(FLCR)各位的含义 MASS为整体擦除控制位。 —在ERASE=1时有效,用于选择擦除操作方式:整体擦除或页擦除。 —1=选择整体擦除方式。 —0=选择页擦除方式。 闪速存储器的编程寄存器(5) Flash控制寄存器(FLCR)各位的含义 ERASE为擦除操作控制位。 —该位用于设置Flash编程操作为擦除操作。 —与PGM位之间存在互锁关系,无法同时被设置为1。 —1=选择擦除操作。 —0=不选择擦除操作。 闪速存储器的编程寄存器(6) Flash控制寄存器(FLCR)各位的含义 PGM为写入操作控制位。 —该位用于设置Flash编程操作为写入操作。 —1=选择写入操作。 —0=不选择写入操作。 闪速存储器的编程寄存器(7) Flash块保护寄存器(FLBPR) FLBPR块保护寄存器用于设定被保护的Flash区域 当Flash处于保护状态时,擦除和写人操作在用户方式下都受限制,HVEN将无法正常置位 Flash块保护寄存器(FLBPR) 图中U=不受复位影响,出厂时设置为1。 BPR[7…0]是Flash块保护寄存器位。 MC68HC08GP32 Flash块保护寄存器设置 闪速存储器的编程寄存器(8) Flash块保护寄存器(FLBPR) FLBPR设定的是保护区域的起始地址,保护区域结束地址始终为Flash存储区结束地址($FFFF)。 FLBPR的8位设置了Flash保护区域起始地址的高8位。其具体位置取决于特定微控制器的Flash容量。 对MC68HC08GP32而言,它们设定的是16位起始地址的第14~7位(第15位恒为1)。 闪速存储器的编程寄存器(9) Flash块保护寄存器(FLBPR) 注意: 只有当微控制器处于用户方式下时,对寄存器本身和Flash保护区域的擦写操作保护才是有效的。 闪速存储器的编程步骤(1) 页擦除操作 置ERASE位为1,清MASS位为0; 读Flash块保护寄存器; 向被擦除的页写入任意值,一般是给首地址写入0,以便处理器确定擦除的页 延时Tnvs; 置HVEN位为1; 延时Terase ; 清ERASE为0; 延时Tnvh; 清HVEN位为0; 延时
文档评论(0)