电子说
作为电子工程师,在设计中我们常常需要一个精准且可靠的实时时钟(RTC),而Maxim Integrated的DS3231无疑是一个值得深入研究的解决方案。下面就带大家详细了解DS3231这款高精度、I²C接口、集成RTC/TCXO/晶体的器件。
文件下载:DS3231.pdf
DS3231是一款低成本、高精度的I²C实时时钟,集成了温补晶体振荡器(TCXO)和晶体。它具备电池输入端,在断开主电源时仍可维持精确计时。这种集成设计不仅提高了器件的长期精确度,还减少了生产线所需的元件数量。该器件提供商用级(0°C至 +70°C)和工业级( - 40°C至 +85°C)温度范围,采用16引脚、300mil的SO封装。
DS3231的主要由八个模块划分为四个功能组,分别是TCXO、电源控制、按钮复位功能和RTC。
TCXO包含温度传感器、振荡器和控制逻辑。控制器读取片上温度传感器的输出,利用查找表确定所需的电容,再结合AGE寄存器的老化修正,设置电容选择寄存器。仅在温度值变化或用户启动温度转换完成时,才加载包含AGE寄存器变化的新值。VCC初次上电时转换温度值,之后每64秒转换一次。
| 由温补电压基准和监视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秒进行一次温度测量和校准。
DS3231通过RST输出引脚实现按钮控制功能。当不在复位周期时,会持续监视RST信号的下降沿。检测到边沿转换后,通过拉低RST完成开关去抖。内部定时器定时结束(PB_DB)后,继续监视RST信号。若信号仍为低电平,持续检测上升沿。一旦检测到按钮释放,强制RST引脚为低电平并保持tRST时间。此外,RST还可指示电源故障报警情况。
以TCXO为时钟源,RTC提供秒、分、时、星期、日期、月和年信息,可自动调整少于31天月份的月末日期,包括闰年修正。时钟支持24小时或带AM/PM指示的12小时格式。同时,提供两个可编程日历闹钟和一个可编程方波输出,INT/SQW引脚可产生中断信号或输出方波,功能通过INTCN位控制。
DS3231的计时寄存器采用二 - 十进制编码(BCD)格式,通过读取和写入适当的寄存器字节可获取和设置时钟与日历信息。在多字节访问时,地址指针到达寄存器空间末尾(12h)会返回到地址00h。在I²C的START条件下或地址指针递增至地址00h时,当前时间会传输至辅助寄存器,方便读取时间信息,避免主寄存器更新时的重新读取问题。
DS3231包含两个星期/日期闹钟,可通过写入相应寄存器进行设定。闹钟寄存器的第7位是屏蔽位,用于控制闹钟的触发条件。当RTC寄存器值与闹钟寄存器设定值匹配时,相应的闹钟标志位(A1F或A2F)置为逻辑1。若对应的闹钟中断使能(A1IE或A2IE)和INTCN位均为逻辑1,闹钟条件将触发INT/SQW信号。
控制寄存器用于控制实时时钟、闹钟和方波输出:
状态寄存器反映器件的工作状态:
老化补偿寄存器可将用户提供的数值加到电容阵列寄存器中或从中减去,以补偿晶体老化。正老化系数增大阵列电容、降低振荡频率,负老化系数则相反。
温度值采用10位编码表示,分辨率为0.25°C。高8位(整数部分)位于地址11h,低2位(小数部分)位于地址12h的高半字节。上电复位后,缺省温度值为0°C,之后每64秒更新一次。
DS3231支持双向I²C总线和数据传输协议,在I²C总线上作为从设备工作。总线规范定义了标准模式(100kHz最高时钟频率)和快速模式(400kHz最高时钟频率),DS3231均支持。数据传输需遵循一定的协议和条件:
DS3231可工作于从设备接收模式(写模式)和从设备发送模式(读模式):
DS3231封装包含石英音叉晶体,使用拾取 - 贴装设备时需谨慎,避免过度冲击。同时,应避免使用超声波清理,以免损坏晶体。
除非封装与信号线之间有地层隔开,否则避免在器件下面走信号线。所有N.C.(无连接)引脚必须接地。
潮湿敏感封装出厂时采用防潮包装,需遵循封装标签上的操作说明,防止回流焊过程中损坏器件。潮湿敏感器件(MSD)的分类和回流焊温度曲线请参考IPC/JEDEC J - STD - 020标准,允许的回流焊次数最多2次。
DS3231凭借其高精度计时、丰富功能、低功耗以及良好的温度稳定性等特点,成为电子工程师在实时时钟设计中的理想选择。在实际应用中,我们需要深入理解其工作原理、寄存器配置和I²C接口通信协议,同时注意操作、PCB布局和安装的细节,以确保DS3231能够稳定、可靠地工作。大家在使用DS3231的过程中遇到过哪些问题呢?又是如何解决的呢?欢迎在评论区分享交流。
全部0条评论
快来发表一下你的评论吧 !