回复2楼:
1,IC型号暂时不便公开,如你能解决问题,或者给予好的建议,我可以在邮件里告诉你,也包括其他你想知道的资料.
2,电路图很简单,MCU,晶振和下拉电容,按键,输出电路,低压复位电路,就这么多.
采用电池供电,2节1.5V电池.电池正极直接接MCU的VCC.
3,MCU上电,初始化程序,自检程序,然后进入待机状态,等待按键.
自检程序耗电20MA,时间1秒多.现在已经改为:上电初始化后直接待机,上电后MCU不耗电.待机电流3-5UA.
4,程序中写FALSH的指令前已经做了很多设置条件.如不符合,则不会执行写FALSH的指令.我认为,程序PC乱飞,如果飞到判断条件前,这些动作是有用的,如果直接就飞到了写的这条指令,再怎么做处理也没有用啊?!
5,我不是原始设计人员,但是这个程序的流程我都清楚.如需要原始设计人员参与交流,没有任何问题.
6,你的估计是对的,事实也证明了这点.之所以会这样,是因为早期的产品基本上都是没有加低压复位电路的.退回的产品加了低压复位电路的产品再发出的退还比较少.之所以还有,我认为和自检程序耗电有很大关系.现在自检程序也去掉了,但是改好发出去的产品还未得到反馈.现在发出的新产品都加了低压复位电路,并且去掉了自检程序.
自检程序的影响是:当电池用了几个月之后,电池能量不足了,产品工作时,耗电加大,电池电压瞬间下降,引起复位,还有如不足于供电的话,就会使得MCU程序乱飞而软件复位.复位后又自检耗电,再次使得MCU复位,如此一来,大大增加了MCU电压不稳和程序乱飞的次数和几率.这也就是,产品用了一段时间之后才容易出现问题的程序原因.
现在把自检程序去掉了,这样的几率是小了,但是,如果客户不及时更换电池,产品使用频繁的话,导致程序乱飞的几率加大,程序丢失或被误搽除的几率也还是有的.但是,肯定是比以前的产品要少多了.
现在,我是想请教各位,是否还有软件措施,可以进一步减小程序被误搽除的办法.
谢谢!
回复3楼:
产品已经设计好了,退回的产品,不可能再增加EEPROM这么多引脚的器件.当然了,实在没有办法的话,这位老兄的建议也是不错的.但是EEPROM被误写的可能还是有的.
谢谢! |