
6.3
EEPROM数据存储器
该ATmega165P包含512个字节的数据EEPROM存储器。它是作为一个单独的
数据的空间,其中,可以按字节读写。该EEPROM具有的耐力
至少100,000次写/擦除周期。本节介绍了EEPROM之间的访问
在CPU ,指定EEPROM地址寄存器, EEPROM数据寄存器和
EEPROM控制寄存器。
对于SPI , JTAG和并行数据下载到EEPROM中的详细描述,请参见
“串行下载” 283页, 288页上的“通过JTAG接口编程”
和
273页的“并行编程参数,引脚映射及命令”
分别。
6.3.1
EEPROM读/写访问
EEPROM的访问寄存器位于I / O空间。
EEPROM的写访问时间见
表6-1第21页。
自定时功能,
然而,让用户软件检测时的下一个字节可以被写入。如果用户代码CON-
这写EEPROM tains说明,一些必须采取预防措施。在重过滤
电源供应器,V
CC
有可能上升或下降缓慢上电/下。这使得该设备为
一段时间,以在电压低于规定的最小的时钟频率下运行
使用。看
第24页上的“防止EEPROM腐败”
关于如何避免问题的详细信息
这些情况。
为了防止无意识的EEPROM写操作,具体写的程序必须遵循。
当EEPROM被读取后, CPU停止工作4个周期前的下一条指令
执行。当EEPROM写入时,CPU先下一停止两个时钟周期
指令被执行。
下面的过程应遵循的时候写的EEPROM (步骤3的顺序和
图4是不必需的) 。看
“注册说明”第25页
补充说明各
寄存器位:
1.等待EEWE变为零。
2.等待SPMCSR寄存器的SPMEN为零。
3.将新的EEPROM地址写入EEAR (可选)。
4.将新的EEPROM数据写入EEDR (可选)。
5.写,而写一个零EECR到EEWE逻辑一到EEMWE位。
6.在四个时钟周期内设置EEMWE后,写了一个合乎逻辑的一个EEWE 。
该EEPROM不能在CPU写Flash存储器的过程中进行编程。软件
必须检查Flash编程启动一个新的EEPROM进行写操作之前完成。
如果该软件包含引导程序,允许CPU编程步骤2只相关
闪光灯。如果Flash从不正由CPU更新,步骤2可以省略。看
“引导加载程序
支持 - 同时读 - 写自编程254页上的“
有关详细信息,引导
编程。
注意事项:
步骤5和6之间的中断将导致写操作失败,因为
EEPROM写使能操作将超时。如果中断服务程序访问的EEPROM是
打断了另一个EEPROM操作, EEAR或EEDR寄存器可能被修改,引起
EEPROM操作失败。建议具有全局中断标志位清零
在所有的步骤,以避免这些问题。
20
ATmega165P
8019H–AVR–11/06