(3)“看门狗”措施
如果跑飞的程序落入一个临时构成的死循环中时,冗余指令和软件陷阱都将无能为力,这时可以采用复位的方法使系统恢复正常。“看门狗”电路的功能就是对 CPU进行实时检测,当CPU落入死循环之后,能及时发现并使整个系统复位。在软件编程中,设置约1秒访问一次看门狗芯片,当程序跑飞或大于1.4秒(设置的超时时间)没有访问看门狗芯片,X5045将输出复位脉冲,直至程序正常运行。
(4)保证EEPROM数据写入的可靠性措施
需要注意的是,看门狗如果起作用说明程序计数器内容被破坏,因此其它寄存器或片内公羊的内容也有被破坏的可能,会导致把错误的数据写入EEPROM。在电表工作中,每产电量改变0.1度写入一次EEPROM,如果出现将错误的数据写入EEPROM,这是不允许的。采取以下措施可很好的解决此问题:
1. 正常写入EEPROM之前,要进行一系列操作,可将其分成几部分。每一部分设置一写入口令。只有程序正常一步一步运行,口令才会逐一被赋予正确的值,到最后写入时再判断所有的口令是否正确。若正确,写入,否则退出。写入完成,口令清除。
2. 数据双备份。当由于干扰使微处理器中的寄存器数据改变时,鉴于三组数据在同一值出错的概率较小,故在写入之前,将三组数据比较,若相等则写入,若不相等则将相等的两组数据写入。
3. 写入之前对数据的合法性进行判别,即对电量或参数的数据格式进行判别。有了这样的限制,可进一步提高可靠性。
4. 定时设置I/0口状态;微处理器受到干扰,I/0口状态可能改变,比如电脉冲输入口若改变为输出态,会造成用户用了电但微处理器却检测不到的可能。所以周期性地重复定义I/0口的输入/输出状态对于干扰环境下运行的电表是有好处的。
(5)串行通信数据的冗余校验
在抄表通信过程中,由于信道上各种因素的影响,所传输的信号受一定程度的干扰,PC机、集中器、电表间的性能参数不完全一致,在串行通信中仅靠奇偶校验是不够的。而采用国际上较为流行的传输码校验方法——循环冗余码校验(CRC),可收到了很好的效果。CRC是一种多用于同步通讯方式中的差错检出方式,在该方式中,将所传数据系列看成高次多项式G(x),将此多项式用预先规定的生成多项式P(x)去除,再将其余数码BCC附加在所传数据的尾部一并传送:在接收方,用同样的生成多项式去除,若除得结果为零,则可判断所接收到的数据是正确的。在发送端的一方,即电表先将发送数据转换,连同原数据一同发给集中器,集中器不做校验,直接发给PC机,在接收端,PC机用高级语言实行CRC算法解码;以确定数据的真伪。经实验证明,冗余校验使误码率大为降低,确保了数据传输的可靠性。
另外在软件的编制过程中应注意在执行各功能子模块之前,可先进行功能标志冗余判断,以增强其程序运行可靠性。
四、结束语
在电表设计中,为了少走弯路和节省时间,应充分考虑抗干扰性能的要求,避免在设计完成后再去进行抗干扰的补救措施。因此电表设计开发者应从抑制干扰源,切断干扰传播路径,提高敏感器件的抗干扰性能等方面采取各种措施来提高系统性能。在抗干扰设计中,软件抗干扰是被动措施,而硬件抗干扰是主动措施,只要认真分析系统所处环境的干扰来源以及传播途径,采用两者相结合的方法,就能保证系统长期稳定可靠地运行。
本文关键字:智能电表 仪器仪表读写器,电子知识资料 - 仪器仪表读写器
上一篇:基于AMR技术的智能水表设计