探秘DS3231:高精度RTC的卓越之选

电子说

1.4w人已加入

描述

探秘DS3231:高精度RTC的卓越之选

作为电子工程师,在设计中我们常常需要一个精准且可靠的实时时钟(RTC),而Maxim Integrated的DS3231无疑是一个值得深入研究的解决方案。下面就带大家详细了解DS3231这款高精度、I²C接口、集成RTC/TCXO/晶体的器件。

文件下载:DS3231.pdf

一、DS3231概述

DS3231是一款低成本、高精度的I²C实时时钟,集成了温补晶体振荡器(TCXO)和晶体。它具备电池输入端,在断开主电源时仍可维持精确计时。这种集成设计不仅提高了器件的长期精确度,还减少了生产线所需的元件数量。该器件提供商用级(0°C至 +70°C)和工业级( - 40°C至 +85°C)温度范围,采用16引脚、300mil的SO封装。

特性亮点

  1. 高精度计时:在0°C至 +40°C范围内时钟精度为±2ppm, - 40°C至 +85°C范围内时钟精度为±3.5ppm。
  2. 备用电池支持:为连续计时提供备用电池输入,确保在主电源故障时仍能正常工作。
  3. 丰富功能:提供秒、分、时、星期、日期、月、年信息,并具备有效期到2100年的闰年补偿功能;拥有两个日历闹钟和可编程方波输出。
  4. 高速接口:支持快速(400kHz)I²C接口,方便与微控制器等设备进行通信。
  5. 温度传感器:数字温度传感器输出精度为±3°C,可实时监测环境温度。
  6. 老化修正:具备老化修正寄存器,可补偿晶体老化带来的影响。
  7. 认证保障:通过保险商试验机构(UL)认证,保证产品质量和安全性。

二、工作原理剖析

DS3231的主要由八个模块划分为四个功能组,分别是TCXO、电源控制、按钮复位功能和RTC。

1. 32kHz TCXO

TCXO包含温度传感器、振荡器和控制逻辑。控制器读取片上温度传感器的输出,利用查找表确定所需的电容,再结合AGE寄存器的老化修正,设置电容选择寄存器。仅在温度值变化或用户启动温度转换完成时,才加载包含AGE寄存器变化的新值。VCC初次上电时转换温度值,之后每64秒转换一次。

2. 电源控制

由温补电压基准和监视VCC电平的比较器电路实现。根据VCC、VPF和VBAT的电压关系,器件会自动选择合适的供电电源: 供电条件 活动电源
VCC < VPF,VCC < VBAT VBAT
VCC < VPF,VCC > VBAT VCC
VCC > VPF,VCC < VBAT VCC
VCC > VPF,VCC > VBAT VCC

为保护电池,VBAT首次加到器件上时,振荡器在VCC达到VPP以上或写入有效I²C地址之前不启动。VCC加电或写入有效I²C地址约2秒后,器件测量温度并校准振荡器,之后每隔64秒进行一次温度测量和校准。

3. 按钮复位功能

DS3231通过RST输出引脚实现按钮控制功能。当不在复位周期时,会持续监视RST信号的下降沿。检测到边沿转换后,通过拉低RST完成开关去抖。内部定时器定时结束(PB_DB)后,继续监视RST信号。若信号仍为低电平,持续检测上升沿。一旦检测到按钮释放,强制RST引脚为低电平并保持tRST时间。此外,RST还可指示电源故障报警情况。

4. 实时时钟

以TCXO为时钟源,RTC提供秒、分、时、星期、日期、月和年信息,可自动调整少于31天月份的月末日期,包括闰年修正。时钟支持24小时或带AM/PM指示的12小时格式。同时,提供两个可编程日历闹钟和一个可编程方波输出,INT/SQW引脚可产生中断信号或输出方波,功能通过INTCN位控制。

三、寄存器配置与操作

1. 计时寄存器

DS3231的计时寄存器采用二 - 十进制编码(BCD)格式,通过读取和写入适当的寄存器字节可获取和设置时钟与日历信息。在多字节访问时,地址指针到达寄存器空间末尾(12h)会返回到地址00h。在I²C的START条件下或地址指针递增至地址00h时,当前时间会传输至辅助寄存器,方便读取时间信息,避免主寄存器更新时的重新读取问题。

2. 闹钟寄存器

DS3231包含两个星期/日期闹钟,可通过写入相应寄存器进行设定。闹钟寄存器的第7位是屏蔽位,用于控制闹钟的触发条件。当RTC寄存器值与闹钟寄存器设定值匹配时,相应的闹钟标志位(A1F或A2F)置为逻辑1。若对应的闹钟中断使能(A1IE或A2IE)和INTCN位均为逻辑1,闹钟条件将触发INT/SQW信号。

3. 控制寄存器(0Eh)

控制寄存器用于控制实时时钟、闹钟和方波输出:

  • EOSC(第7位):使能振荡器,逻辑0启动,逻辑1在电源切换至VBAT时停止。
  • BBSQW(第6位):电池备份的方波使能,逻辑1且INTCN = 0、VCC < VPF时使能方波输出。
  • CONV(第5位):转换温度,置为1时强制温度传感器进行转换并更新振荡器电容阵列。
  • RS2和RS1(第4和第3位):频率选择,用于控制方波输出频率。
  • INTCN(第2位):中断控制,0时INT/SQW引脚输出方波,1时计时寄存器与闹钟寄存器匹配触发输出。
  • A2IE(第1位):闹钟2中断使能。
  • A1IE(第0位):闹钟1中断使能。

4. 状态寄存器(0Fh)

状态寄存器反映器件的工作状态:

  • OSF(第7位):振荡器停止标志,逻辑1表示振荡器停止或曾停止。
  • EN32kHz(第3位):使能32kHz输出,逻辑1使能,输出32.768kHz方波。
  • BSY(第2位):忙标志,指示器件正在执行TCXO功能。
  • A2F(第1位):闹钟2标志,逻辑1表示时间与闹钟2寄存器匹配。
  • A1F(第0位):闹钟1标志,逻辑1表示时间与闹钟1寄存器匹配。

5. 老化补偿寄存器(10h)

老化补偿寄存器可将用户提供的数值加到电容阵列寄存器中或从中减去,以补偿晶体老化。正老化系数增大阵列电容、降低振荡频率,负老化系数则相反。

6. 温度寄存器(11h至12h)

温度值采用10位编码表示,分辨率为0.25°C。高8位(整数部分)位于地址11h,低2位(小数部分)位于地址12h的高半字节。上电复位后,缺省温度值为0°C,之后每64秒更新一次。

四、I²C接口与数据传输

DS3231支持双向I²C总线和数据传输协议,在I²C总线上作为从设备工作。总线规范定义了标准模式(100kHz最高时钟频率)和快速模式(400kHz最高时钟频率),DS3231均支持。数据传输需遵循一定的协议和条件:

  • 总线空闲:数据和时钟线均保持高电平。
  • 启动传输:时钟线为高时,数据线由高变低,即START条件。
  • 停止传输:时钟线为高时,数据线由低变高,即STOP条件。
  • 数据有效:START条件后,时钟信号为高时数据线保持稳定,代表有效数据,数据在时钟信号为低时改变,每个时钟脉冲传送一位数据。

DS3231可工作于从设备接收模式(写模式)和从设备发送模式(读模式):

  • 从设备接收模式:主设备发送从设备地址(含传输方向位,0表示写操作),DS3231应答后,主设备发送字地址设定寄存器指针,再发送数据,DS3231应答每个字节,最后主设备产生STOP条件终止写入。
  • 从设备发送模式:主设备发送从设备地址(传输方向位为1表示读操作),DS3231应答后,从寄存器指针指向的地址开始发送数据,主设备收到最后一个字节后返回非应答信号结束读操作。

五、操作、PCB布局和安装注意事项

1. 器件操作

DS3231封装包含石英音叉晶体,使用拾取 - 贴装设备时需谨慎,避免过度冲击。同时,应避免使用超声波清理,以免损坏晶体。

2. PCB布局

除非封装与信号线之间有地层隔开,否则避免在器件下面走信号线。所有N.C.(无连接)引脚必须接地。

3. 潮湿敏感封装

潮湿敏感封装出厂时采用防潮包装,需遵循封装标签上的操作说明,防止回流焊过程中损坏器件。潮湿敏感器件(MSD)的分类和回流焊温度曲线请参考IPC/JEDEC J - STD - 020标准,允许的回流焊次数最多2次。

六、总结

DS3231凭借其高精度计时、丰富功能、低功耗以及良好的温度稳定性等特点,成为电子工程师在实时时钟设计中的理想选择。在实际应用中,我们需要深入理解其工作原理、寄存器配置和I²C接口通信协议,同时注意操作、PCB布局和安装的细节,以确保DS3231能够稳定、可靠地工作。大家在使用DS3231的过程中遇到过哪些问题呢?又是如何解决的呢?欢迎在评论区分享交流。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分