为满足市场对更高时钟精度的需求,半导体厂商正在研发创新的时钟解决方案,以提高计时精度。现在有越来越多的应用要求实时时钟在宽温度范围内具有极高的计时精度。多费率智能电表就是其中一个典型实例,因为供电公司需要记录多费率电能的使用数据,以便精确计算电费,这要求在23℃的参考温度下,实时时钟每天计时精度小于±0.5秒,即计时精度小于±6 ppm (百万分之一)。中国最新的电能表标准Q/GDW 357-2009规定,在-25℃至+60℃的温度范围内,实时时钟每天计时精度必须在±1秒(即±12 ppm)内。考虑到这个标准,普通实时时钟(RTC)无法满足这个应用要求。本文将论述多个提高计时精度的解决方案,同时还论述一个最佳的参考方案。
挑战
典型实时时钟采用32.768 kHz音叉表晶石英晶体。这类晶振容易在市场买到,而且价格较便宜。在25℃时,晶体通常可提供大约±25 ppm的计时精度或每天2秒的误差。虽然非常适合电池供电应用的低功耗需求,但是在-40 ℃至+85 ℃的工业温度范围内,频率变化很大。在极端温度条件下,频率误差可能在-108 ppm至-177 ppm之间,如图图1所示。最终时钟可能每天慢10秒至16秒。
因晶体内在特性而产生的频率误差曲线为抛物线,实时时钟计时精度只能与其参考时钟(晶体)相同。
图1:典型的32.768 kHz频率误差对温度曲线
提高计时精度的可行方案
晶体筛选
有多种方法可提高实时时钟的计时精度。提高参考时钟(晶体)的技术参数是首选的且最简单的解决办法。通过晶体筛选可获得±10 ppm甚至±5 ppm的精度。时钟筛选虽然可行,但不是最佳方案,因为厂商提高晶体计时精度的成本昂贵。这种方法的最大限制是只能在一个温度点(例如室温)筛选晶体。但是,随着工业温度变化,频率偏差的抛物线特性依然存在。
将晶体置于实时时钟封装内
虽然将晶体置入实时时钟封装内是一个较好的可提高计时精度的解决办法,可以消除湿度、振动和压力等环境因素的影响,但是无法单独解决石英晶体的频率随温度变化的不良特性导致时钟精度不高的问题。
以60 Hz电力线为参考时钟
该解决方案的原理是把60 Hz电力线(例如,美国市电)变成可用的时钟源。电力线的频率误差远远低于普通晶体。该解决方案必须把交流电源转换成实时时钟适用的频率源。大多数实时时钟的输入需要32.768 kHz的通用晶振,该晶振在内部分频,为应用提供第二时钟源。多数实时时钟不支持60Hz时钟,因此需要使用锁相环PLL修正实时时钟的输入频率。此外,因为60Hz时钟不是32,768时钟的约数,所以在进入锁相环之前,60Hz时钟被不断地分频,直到是32,768的公约数为止。该解决方案需要多个步骤,可能不适用某些用户。
某些实时时钟的时钟源可使用60Hz频率。尽管该改进方案不再需要锁相环,但是电路对于部分用户仍然过于复杂,见图2。当主电源掉电时,实时时钟的精度没有保证。
图2:60 Hz正弦波保护
使用AT切型晶体
另一个可行的解决方案是使用AT切型晶体。AT切型晶体与微处理器配合,速度越快,晶体随温度变化的频率误差就越小,因此可提供更高的计时精度,但是,它们的晶振却不适合低功耗应用,因为在AT切型晶体的典型频率下,晶振的电流消耗太大。AT切型晶体误差见 图 3。