文档介绍:MC68HC908GP32 MCU的Flash存储器在线编程技术
The Method of In-Circuit Program about Flash Memory of MC68HC908GP32 MCU
苏州大学王宜怀王林(苏州 215006)
摘要: 文章简要阐述了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闪速存储器在线编程要点
闪速存储器的编程寄存器与编程步骤概述
在