高精度实时时钟的功耗考虑
概述
随着DS3231超高精度、I2C兼容的集成RTC/TCXO/晶振的推出,Dallas Semiconductor再次刷新了单芯片实时时钟精度的纪录。DS3231在整个工业温度范围内(-40°C至+85°C)提供±3.5ppm的精度。器件每隔64秒(64s)测量一次温度,通过调节晶体的负载电容,使其在指定温度达到0ppm的精度,最终达到提高时钟精度的目的。
电流损耗
周期性地测量温度使得器件在短时间内(最差情况下为200ms)的电流损耗增大。图1给出了DS3231在最差情况下的电流损耗,计算中假设电池电压为3.63V,I2C兼容接口不工作。
最大平均电流由下式决定:
DS3231数据资料提供的最大平均电流是3.0µA,这一结果表明,由于温度检测使得器件的总电流损耗提高了250%! 这一电流增量对于要求延长备用电源(如:锂电池或超级电容)工作时间的应用很难接受。
降低电流损耗
DS3232/DS3234在用户可编程寄存器中提供了一个域,允许用户延长温度更新的时间,从而降低平均电流损耗。两款器件在控制/状态寄存器中提供C_Rate位,用来设置四种不同的温度更新周期。寄存器定义如表1所示。
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
OSF | BB32KHZ | C_Rate1 | C_Rate0 | EN32kHz | BSY | A2F | A1F |
表2列出了DS3232/DS3234温度更新周期与最差情况下电流损耗的对应值。计算中假设电池电压为3.63V,I2C兼容接口不工作。C_Rate位上电时默认为0, 对应于64s的温度更新周期。
C_Rate [1:0] | Temperature Update Time (s) | DS3232/DS3234 Average Current (µA) |
00 | 64 | 2.50 |
01 | 128 | 1.56 |
10 | 256 | 1.10 |
11 | 512 | 0.86 |
通过设置,可以将备用电池的使用寿命延长65%。
精度
在温度变化较快的环境下,延长温度更新周期会降低时钟精度,但对温度保持稳定或温度变换缓慢的工作环境,对时钟精度的影响很小。
温度控制
DS3234加入了温度控制寄存器,当器件由备用电源供电时可以禁止温度更新。寄存器中的BB_TD位控制温度测量禁止。该位上电时的默认值为0,温度更新功能有效。寄存器定义如表3所示。
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | BB_TD |
该位使能后会降低备用电源的电流损耗,但是,由于没有温度更新,将会降低时钟精度。
结论
Dallas Semiconductor推出的DS3231/DS3232/DS3234集成RTC/TCXO/晶体通过设置温度更新周期,能够在保持较高时钟精度的同时大大降低电流损耗。