新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 如何解决串行E2PROM 24C02在应用中的问题

如何解决串行E2PROM 24C02在应用中的问题

作者:时间:2012-07-19来源:网络收藏

(3)对写入子程序设置软件口令,口令符合可以执行写入,否则拒绝写入。具体做法是:设置写口令寄存器EPSW,按正常CPU执行程序的脉络,找出所有的数据写入前的必经之路,比如,一般下在功能键按下后经过一些数据处理,最终将要保存的参数写入,这时可以在键扫描子程序里,当有键输入时,对写口令寄存器EPSW置数5AH,然后在写24C02子程序中紧跟指令CLRWP后插入检查口令语句,判断EPSW值若为5AH,则允许继续执行,否则立即返回,不许执行写入数据。当正确执行完写入24C02子程序后需对EPSW清0,并且在主程序适当的地方加上EPSW清0指令,反复冗余执行。这样程序受到干扰时,EPSW多数为0,即使EPSW数受到干扰时,也很少有机会刚好等于5AH,使错误数据非正常写入24C02的机会大大减少。

数据写入24C02子程序插入口令形式:

 WRIT:CLRWP

     MOVR1,#EPSW

     MOVA,@R1

  CJNEA,#5AH,WERR

……;

数据写入24C02操作部分:

 WERR:SETBWP

    MOVR1,#EPSW

    MOV@R1,#0

    RET
4.保护24C02数据的硬件措施

在某些干扰特别严重的场合,24C02数据还是有可能被冲掉,最彻底的方法是利用硬件来干预写入数据过程。一般情况下,是将WP引脚与CPU引脚断开,而与功能键连接起来,功能键没按下时,WP保持高电平,只有功能键按下时,WP才是低电平,允许写操作。当然,这样一来对于某些过程量需要程控存入24C02时就办不到了,这也是利用功能键同步保护24C02数据的一种不方便之处。

如果写入24C02的数据跟2个按键有关,则可以用二极管隔离,采用如图2的形式。



点击在新窗口中浏览产品

这样两键本身互不影响,而任一键按下都能使WP变低,使数据写入操作有效,对于多键关联,依此类推多放几个二极管隔离就可以了。

5.结束语

以上所述的软硬件措施在具体的单片机控制系统中可以灵活应用,硬件联锁保护比较彻底,但是单独通过程序修改24C02中的某些数据就不可能了;软件保护比较灵活,可以随时对控制过程中处理的数据存入24C02,以达到掉电保存的目的。在笔者设计的智能光照箱单片机控制系统中,由于日光灯起动和压缩机起动及关断时的电源高频干扰,系统的温度设定值及时间设定值曾经经常发生变化,采用上述软硬件并用的措施后系统运行稳定可靠,再也没有发生设定数据被冲掉的现象。


上一页 1 2 下一页

关键词: E2PROM 24C02 冗余度

评论


相关推荐

技术专区

关闭