实时时钟电路设计
扫描二维码
随时随地手机看文章
1 RTC结构特点
实时时钟的基本功能是保持跟踪时间和日期等信息,但许多RTC还提供有多种附加功能,如:看门狗定时器、系统复位、非易失存储器(NV RAM)、序列号、方波输出、涓流充电等。因此,在进行电路设计时,选择RTC芯片出了需要考虑其时间和日期跟踪功能外,通常还需要针对具体应用来对RTC的功能、成本、尺寸等要求进行综合考虑。
1.1 接口方式
从接口要求入手选择RTC可以大大缩小芯片的选择范围。RTC芯片提供有多种接口方式,其中并行接口可实现存储器的快速访问或有较大的存储容量,适合于那些对价格、尺寸要求不是很荷刻的系统,许多采用并行接口的实时时钟芯片还与晶振和电池封装在一起构成一个完整的时钟模块,从而简化了硬件设计。并行接口包括复用总线(数据与地址总线复用)和独立的地址、数据总线。一般用于时间保持的NV RAM都采用与SRAM相同的控制信号,并可以方便地与常用的微处理器容量。另外,有些Phantom实时时钟还将时钟数据隐含在备用电池支持的RAM内,以便利用64位软件协议来访问时钟数据。
一般情况下,串行接口时钟芯片都具有外形尺寸较小、成本低廉等优势,但这类芯片的通信速率一般较低,因而比较适合便携式产品。这类芯片通常包括1-Wire接口、2线、3线、4线或SPI接口,而许多处理器也包括2线或SPI接口,当然,也有些处理器(如8051及其派生产品)则支持复用的地址和数据总线。
1.2 备用电池
在有些应用中(如VCR),时钟和日期信息在系统掉电时将会丢失,而在大多数应用中要求系统主电池断电时仍保持时钟和日期有效。为保持时钟振荡器持续运转,可采用主/辅电池结构或大电容配合主电源为时钟电路供电,这样,RTC芯片内部还必须提供两组电源的切换电路。如果用电池(如Li+电池)作为备份电源,RTC设计还应该注重低功耗指标,以使其在电池供电时具有尽可能低的功耗。电源切换控制电路通常由主电源供电,需要时可切换到电池供电,并将RTC置为低功耗模式,电池供电时,可禁止微处理器与RTC之间的通信(通常被称为写保护),以使电池电流降至最小,同时避免数据被破坏。
在采用电池为电池系统供电时,时钟电路耗电最大的部件是振荡器,对于那些嵌入了晶振和电池的时钟模块(如DS12C887),由于振荡器在出厂时处于禁止状态,因此电池的损耗电流主要是电池的自放电,室温下,电池自放电每年的消耗能量大约占电池容量的0.5%。有些时间保持NV RAM模块利用时钟来控制IC和SRAM,出厂时,振荡器处于禁止状态、SRAM与电池断开,只有模块在主电源供电并第一次与时钟电路断开时,电池才与SRAM接通。这一功能常被称作电池保鲜。Dallas Semiconductor的绝大多数RTC都提供有一个电池输入引脚和一个内部反向充电保护电路。由于Li+电池的额定温度是-40℃~+85℃,因此,使用时应确保环境温度不要超出+85℃。
1.3 时钟格式
在电路设计中使用的时钟格式主要有三种:BCD码、二进制码、未格式化的二进制计数值。其中BCD码比较通用,因为它的时间和日期可以直接显示,且不需要进行数据转换,每8位寄存器表示一个二位数,对于某些特殊的时间和日期,由于不占用全部8位数据,因此,不用位可以充当一些特殊功能(如用作读/写位),也可以在硬件读取时时终保持固定状态(1或0)。二进制码格式与BCD码一样具有独立的秒、分钟、小时、星期、日、月、年寄存器,在一些提供BCD码格式的RTC中,常常也提供可选择的二进制码格式。时间和日期寄存器每秒钟更新一次,日期循环与月、年有关。星期寄存器与其它寄存器的变化关系不大,在子夜更新数据,数据从7至1循环变化,程序中可以用1表示任何一个特定的星期数,只要在整个程序中指定数值保持一致即可。在12小时制与24小时制或BCD码与二进制码之间进行转换时,时间、日期、闹钟寄存器需要重新进行初始化。二进制计数码用一个多字节(一般为32位)寄存器来存储时间信息,时间信息用一个秒计数值表示,并可通过软件将秒计数值转换为合理的时间和日期。
另外,在选择RTC时,还需要考虑千年(Y2K)兼容性问题,Y2K兼容的RTC包含有世纪信息(提供世纪数值或世纪位),并可正确地计算润年,Dallas Semiconductor提供的RTC均兼容于Y2K,而且不存在日期敏感的逻辑。
2 设计考虑
2.1 晶振与精度
晶体振荡器在固定频率振荡器中能够提供较高的精度,绝大多数RTC采用32.768kHz的晶体,晶体振荡器输出经过分频后会产生1Hz的基准来刷新时间和日期。RTC的精度主要取决于晶振的精度,温度变化时,音叉晶振所具有的抛物线型的频率响应特性曲线如图1所示,23ppm的温漂大约每月产生1分钟的时钟误差。晶振一般在特定的电容负载下,其调谐振荡在正确的频点,而当晶振调谐于12.5pF负载的RTC电路中时,使用6pF负载的晶振将会使时钟变快。Dallas Semiconductor提供的所有RTC均采用内部偏置网络,因而晶振可直接连接到RTC的X1、X2引脚,而不需要额外的元件。由于RTC的晶振输入电路具有很高的输入阻抗(大约109Ω),因此,它与晶振的连线犹如一个天线,很容易耦合系统其余电路的高频干扰。而干扰信号被耦合到晶振引脚将导致时钟数的增加或减少。考虑到线路板上大多数信号的频率高于32.768kHz,所以,通常会产生额外的时钟脉冲计数。因此,晶振应尽可能靠近X1、X2引脚安装,同时晶振、X1/X2引脚的下方最好布成地平面。图2是一个推荐的晶振布线图,其数字信号引脚需远离晶振和振荡器引脚,对于那些会产生明显的射频辐射的元件,设计时应加以屏蔽,并使其远离晶振,特点是低功耗晶振,它对邻近的射频干扰非常敏感,往往会导致时钟加快。
另外,由于振荡器启动时间、晶振的性能以及线路板的布局有关。实际上,较大的等效串联电阻(ESR)和过大的电容负载都会延长振荡器的启动时间,而且,ESR较大时,还会造成较大的功率损耗。因此,设计时应按照对晶振特片参数的要求来选择晶振,同时应提供合理的线路板布局以便使启动时间能够控制在1秒钟以内。
2.2 功耗问题
许多实时时钟都采用电池供电,典型应用是利用一块小的锂电池在主电源掉电时直接驱动振荡器和时钟电路。为有效延长电池的使用寿命,振荡器必需消耗尽可能少的能量。为了保证这一点,应谨慎考虑振荡器的设计。典型的高频振荡电路ESR较低,但设计中一般会留出5倍、甚至10倍的ESR裕量,而低频晶振则具有较高的ESR。对于一个RTC振荡器,或许留出2倍的负阻裕量即可,振荡器的负阻裕量越小、耗电越低,但是,这种电路对寄生参数、噪声非常敏感。此外,振荡电路的负载电容对功耗也有一定影响,虽然12.5pF内部负载的RTC的耗电要比6pF负载的RTC大,但是,它通常具有更高的抗干扰能力。
3 典型应用电路
DS1340是Dallas Semiconductor推出的一款2线串行接口低功耗时钟/日历芯片,它具有涓流充电、时钟校准功能,可提供秒、分钟、小时、星期、日期、月、年等信息,日期在月末可按照月、年自动调整,并带有润年修正。DS1340内部的电源检测电路可检测主电源电压,必要时能自动切换到备用电源供电。其典型应用电路连接方法如图3所示,该电路的外部晶振要求典型振荡频率为32.768kHz,ESR低于45kΩ,负载电容为12.5pF。DS1340的数字时钟校准功能还可补偿由于晶振和温度变化产生的误差,图4给出了时钟校准的流程