最近在搞自行车仪表,涉及到保存里程信息,在频繁上下电的过程中偶尔出现EEPROM写错误,读的里程信息与实际不符。通过和贝能的工程师交流及网上查阅资料总结提高可靠性有以下几点:
1、可靠性的保证需通过软件和硬件两个方面来保证。
2、硬件方面需有掉电检测,需使用掉电检测芯片,当掉电后,电源下降到一定幅度后产生一个脉冲信号,用INT中断监视掉电脉冲,则可微秒级内响应中断,再根据写数据时间和整机功耗确定滤波电容的容量,可保证写入数据的可靠。
3、软件方面在写的过程中需将总中断关闭。
4、写数据最好加入校验,读数据时将校验读出,确定数据是否正确。
5、写里程这种需频繁读写的数据最好轮询写在不同的bank中,上电时读数据首先校验数据是否正确,在比较确定正确的最大值为当前里程。
当前还有个疑问:看到有人说EEPROM的读写寿命与其内部的升压泵有关,而不是一个单元的读写次数,若与升压泵有关那轮询写法也不能增加EEPROM读写寿命??????