网站大量收购独家精品文档,联系QQ:2885784924

MC68HC908GP32 MCU的Flash存储器在线编程技术.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MC68HC908GP32 MCU的Flash存储器在线编程技术

MC68HC908GP32 MCU的Flash存储器在线编程技术 The Method of In-Circuit Program about Flash Memory of MC68HC908GP32 MCU 苏州大学 王宜怀 王林 (苏州 ) 摘 要: 文章简要阐述了Flash存储器的主要特点,分析了Motorola新一代单片机M68HC08系列内嵌Flash存储器结构特点,以MC68HC908GP32 MCU为例讨论了Flash存储器的编程要点,并给出了具体的在线编程实例,对其中的技术难点进行了分析。 关键词: 闪速存储器,M68HC08系列单片机,在线编程,编程实例 1 引言 存储器技术的发展对计算机技术的发展起到了极大的推动作用。理想的存储器应该具备存取速度快、不易失、存储密度高、价格低等特点。一般的存储器具有这些特点中的一个或几个。近几年Flash存储器(闪速存储器)技术趋于成熟,是目前比较理想的存储器。闪速存储器具有电可擦除、无需后备电源来保护数据、可在线编程、存储密度高、低功耗、成本较低等特点。而这些特点,正式单片机所期望的,但早期引入片内Flash技术的单片机,在可靠性和稳定性方面仍有一些不足。随着Flash技术的成熟,目前,许多单片机内部集成了Flash存储器。Motorola公司在Flash技术相当成熟的时候推出了片内集成Flash存储器的8位单片机,该单片机的Flash存储器具有以下特点: ⑴ 编程速度快及可靠性高。Motorola M68HC08系列单片机的片内Flash的整体擦除时间可以控制在5ms以内,对单字节的编程时间在40ns以内。片内Flash的存储数据可以保持10年以上,可擦写次数在1万次以上。 ⑵ 单一电源电压供电。一般的Flash存储器,在正常的只读情况下,只需要用户为其提供普通的工作电压即可,而要对其写入(编程),则需要同时提供高于正常工作电压的编程电压。但是,Motorola M68HC08系列单片机通过在片内集成电荷泵,可由单一工作电压在片内产生出编程电压。这样,可实现单一电源供电的在线编程,而不需要为Flash的编程在目标板上增加多余的硬件模块。正因为Flash的读写电压要求不同,一些公司的内置Flash存储器便放弃了在线擦除写入功能,而仅有通过编程器的写入功能。 ⑶ 支持在线编程。Motorola M68HC08系列单片机的片内Flash支持在线编程(In-Circuit Program),允许单片机内部运行的程序去改写Flash存储器内容,这样可以代替外部电可擦除存储芯片,减少外围部件,增加了嵌入式系统开发的方便性。 基于这些特点,掌握Motorola M68HC08系列单片机的Flash存储器的编程技术,充分利用Motorola M68HC08系列单片机Flash存储器的功能,对基于Motorola M68HC08系列单片机的嵌入式系统的开发是十分必要的。但是,与一般程序相比,Flash存储器的编程技术相对比较复杂,有一些特殊之处,本文在实际应用基础上,总结Motorola的 MC68HC908GP32单片机的Flash在线编程方法,给出编程实例,分析其中的技术难点。 2 MC68HC908GP32闪速存储器在线编程要点 2.1 闪速存储器的编程寄存器与编程步骤概述 在MC68HC908GP32单片机中,与Flash编程有关的寄存器有2个,它们是Flash控制寄存器(FLCR)和Flash块保护寄存器(FLBPR)。FLCR 高4位未定义,低4位分别为HVEN位-高压允许位(High-Voltage Enable Bit))))nvs(10μs),; $A→FLCR(1→HVEN位); 延时terase(1ms); $8→FLCR(0→ERASE位); 延时tnvh(5μs); $0→FLCR(0→HVEN位); 延时trcv(1μs),完成一页的擦除操作。 另外,Flash编程的基本操作还有“整体擦除操作”、“写入(编程)操作”。整体擦除操作用于擦除GP32的整个Flash区域, 写入(编程)操作用于以行(64字节)为单位对擦除过的Flash区域进行写入。鉴于Flash编程的两个寄存器的具体含义与用法及基本编程步骤在参考文献[1]~[3]均可查到,限于篇幅,本文略。下面给出可供读者直接使用的MC68HC908GP32的Flash存储器编程子程序。 2.2 M68HC908GP32的Flash存储器编程子程序 由于GP32单片机内部的监控ROM中没有固化Flash编程子程序,要在运行中能对Flash进行在线编程,初始装入的用户程序,必需包含对Flash的擦除及写入子程序。但是程序驻留Flash区,在运行擦除及写入子程序时,整个Flash区会被加上高于普

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档