电表在任意供电模式下的安全过渡

2012-05-16 14:50:32 来源:21IC 点击:1182

摘要:  微调"保险丝"实际上指的是一组非易失(NV)存储器,在Maxim的Teridian电表IC生产过程中用于调整IC的模拟和数字特征参数。器件出厂后,微调"保险丝"内存储的内容不再改变,用于后续产品中的参数补偿,例如,用来微调VREF电压,使其稳定在1.195 VDC ,误差不超过±1mV;还可用于调整VBIAS内部电压,使其稳定在目标值。

关键字:  (NV)存储器,  微调,  硬件电路

概述

微调"保险丝"

微调"保险丝"实际上指的是一组非易失(NV)存储器,在Maxim的Teridian电表IC生产过程中用于调整IC的模拟和数字特征参数。器件出厂后,微调"保险丝"内存储的内容不再改变,用于后续产品中的参数补偿,例如,用来微调VREF电压,使其稳定在1.195 VDC ,误差不超过±1mV;还可用于调整VBIAS内部电压,使其稳定在目标值。

IC工作期间,按照固定的时间间隔读取微调"保险丝"的数值,由IC内部的硬件电路进行适当的参数调整。从"保险丝"读取的数据送入硬件控制电路和位于I/O RAM的保险丝寄存器(图1)。71M6521系列产品中共包含7个独立的微调"保险丝"数值,向I/O RAM寄存器0x20FD (TRIMSEL)写入1-7之间的任何数值,可从I/O RAM寄存器0x20FF (TRIM)中读取相应的"保险丝"数据。

错误读取微调"保险丝"

71M6521 IC支持三种低功耗模式(休眠模式、LCD单独有效模式以及关断模式)。低功耗模式下,无法支持IC正常工作的电流消耗。

在极端的电磁干扰(EMI)环境下,或者是当电源超乎寻常地反复断电的情况下,可能会影响到"保险丝"数据的读取和参数调整,错误地读取到某个"保险丝"数据。发生这种情况时,可能导致几种错误结果。当电源发生高速"振荡",使得71M6521在工作模式与关断模式之间反复切换时,将会提高器件故障的概率,当交流电缓慢爬升、下降,而后续使用的是"软"电源时,很容易发生这种状况。电源振荡导致71M6521在正常供电(正常工作模式)和低功耗(关断)模式之间频繁切换,由于"保险丝"读取错误导致器件故障的可能性非常小,只有当电表在长达若干天,甚至几个星期的时间内频繁断电时,才有可能看到故障状况。

"保险丝"读取错误导致IC工作故障可能有几种不同的表现形式,具体取决于错误读取的"保险丝"数据。故障现象可能是以下几种情况之一:

MPU软件运行在未知状态,但依据固件的不同,有些情况下可能终止内部时钟,使看门狗定时器无法复位电表。

产生未知的内部电源电压和检测门限,这种情况下可能导致外部电源作用到V1引脚,在唤醒时钟尚未建立的前提下进入休眠模式。有些情况下,不恰当地初始化内部电源达到一个超时限制时,可能导致RTC计时错误。

在电表中从根本上消除EMI可能不太现实,但是,在器件进入关断模式时通过测试IC的微调"保险丝",固件可以检测并避免发生上述故障。

新版本演示程序解决的另一问题是RTC时间偏移的修正。早期软件中所包含的RTC程序集成了长期抖动导致RTC偏差的修正,复位后进行调整。

改进程序的应用示例

本应用笔记介绍的程序支持所有版本的71M6521,包括71M6521BE、71M6521DE和71M6521FE.Maxim推荐在带有备份电池的新设计中采用固件修正。

功率模式切换期间可能产生的失效

71M6521中的微调"保险丝"由控制逻辑保证,重复上电或极端EMI可能影响微调"保险丝"的数据读取。失效原因包括:

电表频繁断电或出现极端EMI.

电表从工作状态进入关断模式,新的锂电池供电的情况下,错误地读取微调"保险丝"的数据。电池电压(典型值为3.6 VDC)与71M6521正常工作时的电压(典型值为3.3 VDC)不同,导致失效。

配备电池的电表似乎更容易受到影响,因为不带电池的电表在主电源断电并再次上电后,能够经历一次干净的复位(POR)过程。

在供电模式转换期间,可能引发上文提及的失效现象,但很难准确定位具体故障,因为这取决于诸多因素:断电或EMI、电表固件、电池选择、电源设计等,这些都会影响到微调"保险丝"的读取错误。大多数电表即使在极端测试条件下,也不会发生故障。

当电表返回正常工作模式时,电源能够支持更大的工作电流,即可提供微调自校准数据。但可能需要重新恢复电表的工作状态。

RTC失效事件

RTC程序用于补偿电表在低功耗模式下产生的时间偏差,但并非在启动时同步调整,而会累计抖动产生的漂移。

4.8p演示程序

程序测试

实际测试时为演示板配备了新电池,配置显示默认值(显示RTC的时钟)。然后,在8周内每隔10秒重复一次交流电的断电/上电。简单地把电源稳定在标称交流电压,然后开始测试。好的设计应该能够正确地恢复系统工作,合理显示时间信息。程序经过8周测试后没有出现失效。

软件的影响

4.8p演示程序能够在运行main()之前出发PLL_OK中断,保证在固件初始化期间能够检测到掉电故障并进行相应的处理。必须谨慎管理其它中断操作,以避免出现严重的故障现象。

任何情况下,4.8p演示软件都可以在唤醒定时器中保持一个非零数值。正常工作时,唤醒定时器不会计数或触发唤醒过程,除非IC意外进入休眠或仅显示LCD模式。发生这种事件时,将触发唤醒定时器工作,唤醒电表并从故障状态下恢复电表工作。

程序存储位置

目标代码应该把修正程序放置在闪存的前8KB.Keil? IDE中,可以在项目平台更改目标程序,选择<点击鼠标右键>optionsBL_51 Locate TabCode Space.演示程序中,该指令置于存储器尽可能低的位置

本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
Big-Bit 商务网

请使用微信扫码登陆

x
凌鸥学园天地 广告