数据介质
EEPROM
FLASH
数据存储
数据类型 | 修改频率 | |
---|---|---|
计数型 | 如累计的用电量 | 高 |
参数型 | 如阈值等 | 低 |
记录型 | 如周期历史值 | 跟据周期等情况决定 |
计数型存储方案
如电能量的存储格式为NNNNNN.NN,单位为kwh
使用EEPROM存储。
将数据分为3个部分存储,整数和小数部分、小数部分、小于0.01的部分。
每分钟计算一次数据,当小数部分变化,并小数部分重新变为0时,存储一次整数和小数部分。因为EEPROM的擦写周期为1百万次,而该数据的最大值为999999.99,所以能满足到最大值的存储。
小数部分和小于0.01的部分在掉电的时候存储。
关键数据进行CRC校验,并进行备份。
读取步骤:
- 读取主区数据和CRC校验值到RAM。
- 计算读取的数据的CRC校验,与存的CRC值是否一致。如果不一致,读取备份区的数据和CRC校验值到RAM。
存储步骤:
4. 将新数据存到RAM中。
5. 对RAM中的新数据进行CRC计算。
6. 将新数据存储到存储器主区中,如果存储失败,存储错误计数器加1。如果存储成功,继续CRC的值存储到存储器主区中,再存储数据和CRC值到备份区。
7. 如果错误计数器的错误次数达到3次,将数据和CRC值存储到备份区。