微控制器数据EEPROM保护机制与误写防护

需积分: 15 18 下载量 173 浏览量 更新于2024-08-09 收藏 9.82MB PDF 举报
"防止误写操作的保护措施-computational ocean acoustics" 本文主要讨论了在微控制器(如PIC18F25K22、PIC18F45K22、PIC18LF25K22、PIC18LF45K22)中防止误写操作的保护措施,特别是针对数据EEPROM存储器的安全性。数据EEPROM在微控制器中用于存储频繁变动的信息,具有较高的耐用性和字节寻址能力。 7.6 代码保护期间的操作: 数据EEPROM的代码保护功能允许用户通过配置字来启用或禁用外部读写操作。一旦代码保护机制启用,外部对EEPROM的访问将被禁止。不过,微控制器自身仍可以读写内部数据EEPROM,不受代码保护状态的影响。更多关于CPU特殊功能的详细信息可在第24.0节查阅。 7.7 防止误写操作的保护措施: 为了防止意外的EEPROM写操作,微控制器设计了多种保护机制。在上电时,WREN(写使能)位被自动清零,同时在上电延时期间(TPWRT)禁止写操作。此外,写操作的启动序列与WREN位配合,可以防止在欠压、电源故障或软件异常时的误写。 7.8 使用数据EEPROM: 数据EEPROM优化用于存储变化频繁的数据,比如程序变量。如果不同区域的数据更新频率不同,可能会导致某些字节的写周期超过总写周期数,但不会超过整个数组的写周期数。为了避免这种情况,需要定期执行数组刷新。然而,如果数据EEPROM仅存储常量或很少改变的数据,无需进行刷新。下面是一个简单的数据EEPROM刷新程序的示例: ```assembly CLRF EEADR ; 从地址0开始 BCF EECON1, CFGS ; 设置为内存模式 BCF EECON1, EEPGD ; 设置为数据EEPROM BCF INTCON, GIE ; 关闭中断 BSF EECON1, WREN ; 启用写操作 Loop ; 循环刷新数组 BSF EECON1, RD ; 读取当前地址 MOVLW 55h ; 写入55h MOVWF EECON2 MOVLW 0AAh ; 写入0AAh MOVWF EECON2 BSF EECON1, WR ; 开始写操作 BTFSC EECON1, WR ; 等待写操作完成 BRA $-2 INCFSZ EEADR, F ; 增加地址 BRA LOOP ; 地址非零,继续 BCF EECON1, WREN ; 关闭写操作 BSF INTCON, GIE ; 开启中断 ``` 总结来说,防止误写操作的保护措施对于确保微控制器中数据的稳定性和安全性至关重要。正确使用数据EEPROM和采取必要的保护策略可以延长存储器的使用寿命,并减少潜在的程序错误。微控制器制造商Microchip Technology Inc.强调用户在使用其产品时应注意英文原版文档,以获取最准确的信息,并遵循所有安全规定,特别是在涉及生命维持和/或生命安全应用时。