- 1 - 2006 年10 月10 日 Reversion 0.1 在HCS08 微控制器上 使用FLASH 存储器模拟EEPROM 飞思卡尔半导体北京分公司 师英 (jerry.shi@freescale.com) 在微控制器应用的很多场合,EEPROM 被用来保存要求掉电仍然保持的数据,包括系统配置数据、过程数据、测量或运算结果等。虽然HCS08 系列微控制器并不包含片上EEPROM,然而它所拥有的高性能 FLASH 存储器可以方便地实现数据存储功能。在本文中,提供了 4 个封装好的函数来实现 EEPROM 的模拟功能,屏蔽了复杂的底层操作,可以很方便地集成到应用程序中去。 HCS08 微控制器片上FLASH 的性能 HCS08 的程序存储器为 0.25um 工艺 FLASH,以 512bytes 为一个页组织。表 1 给出了HCS08 片上FLASH 存储器的大部分特性。 特性 表示符号最小值典型值最大值 单位 内部 FCLK 频率 fFCLK 150 200 kHz 内部 FCLK 周期 tFcyc 5 6.67 us 字节编程时间(随机地址) tprog 9 tFcyc 字节编程时间(突发模式) tburst 4 tFcyc 页擦除时间 tpage 4,000 tFcyc 全部擦除时间 tmass 20,000 tFcyc 字节编程电流 RIDDBP 4 mA 页擦除电流 RIDDPE 6 mA 编程/擦除寿命 10,000100,000 次 数据保持时间 tD_ret 15 100 年 表 1:HCS08 微控制器片上FLASH 特性 更快的访问(读取,编程,擦除)速度 HCS08 微控制器片上FLASH 存储器的编程和擦除操作都以 fFCLK 为基准时钟进行,它的取值范围在150 kHz 到 200 kHz 之间。假如 fFCLK 被设置为 200 kHz,则编程一个字节的时间为: 9 × (1/200 kHz) = 45 us 使用突发模式编程,每编程一个字节的时间为: 4 × (1/200 kHz) = 20 us 而擦除一页的时间为: 4000 × (1/200 kHz) = 20 ms 全部擦除的时间为: 20000× (1/200 kHz) = 100 ms 更多擦写周期,100,000 次 - 2 - 2006 年10 月10 日 Reversion 0.1 在室温下,HCS08 片上FLASH 存储器的典型擦写次数为10 万次。在全温度范围内,最小值为1 万次。另外可以采用数学办法来循环使用FLASH 存储器的一个页面,从而成倍扩展FLASH 的擦写次数。 内建擦除和编程算法,全工作电压范围内可以工作 HCS08 微控制器的工作电压有两种,分别是1.8V~3.6V 和2.7V~5.5V。由于采用内部的电荷泵来产生编程电压,绝大部分HCS08 微控制器的FLASH 存储器都可以在整个工作电压范围之内完...