news 2026/10/27 1:57:57

告别时钟误差!高精度RTC芯片RX8025T全解析:从芯片对比到Arduino_ESP32_STM32实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
告别时钟误差!高精度RTC芯片RX8025T全解析:从芯片对比到Arduino_ESP32_STM32实战

告别时钟误差!高精度RTC芯片RX8025T全解析:从芯片对比到Arduino/ESP32/STM32实战

  • 模块简介
  • 时钟芯片对比
    • RX8025T 与 DS1302、DS1307、DS3231 对比
  • 模块引脚定义
  • 寄存器说明
  • 获取时钟数据代码
    • Arduinio/ESP8266/ESP32/ESP32S3驱动代码
    • STM32驱动代码
  • 总结
  • QA

模块简介

RX8025T 是爱普生(EPSON)推出的一款高精度低功耗实时时钟(RTC)芯片,参考官方手册可以知道,RX8025T内部集成 32.768kHz 数字温度补偿晶体振荡器(DTCXO),无需外部晶振即可实现稳定计时。该芯片采用 I²C 通信接口,支持最高 400kHz 通讯速率,具备年、月、日、星期、时、分、秒完整日历功能,同时支持闹钟、中断、频率输出(FOUT)、振荡停止检测等功能。RX8025T 工作电压范围为 1.7V~5.5V,备用电流低至微安级,具有高精度、低功耗、宽温度适应等特点,广泛应用于智能电表、工业控制设备、数据采集终端、物联网设备等需要长期稳定计时的场合。这里使用的是优信电子的8025时钟模块,电池型号使用的是CR1220。

时钟芯片对比

RX8025T 与 DS1302、DS1307、DS3231 对比

参数RX8025TDS1302DS1307DS3231
厂商EPSON(爱普生)Maxim / Analog DevicesMaxim / Analog DevicesMaxim / Analog Devices
通信接口I²C三线 SPI(CLK、I/O、RST)I²CI²C
最大通信速率400kHz无明确高速限制(约 MHz 级)100kHz400kHz
工作电压1.7V~5.5V2.0V~5.5V4.5V~5.5V2.3V~5.5V
内置晶振✅ 内置32.768kHz DTCXO❌ 外接32.768kHz晶振❌ 外接32.768kHz晶振✅ 内置32.768kHz TCXO
温度补偿✅ 数字温度补偿❌ 无❌ 无✅ 高精度温补
典型精度±3~±5ppm±20~±100ppm(受晶振影响)±20~±100ppm±2ppm(0~40℃)
年误差约几十秒以内数分钟级数分钟级约1分钟以内
时间保持电流约0.8μA约0.3~1μA约300~500nA约1μA
日历功能年/月/日/星期/时/分/秒年/月/日/星期/时/分/秒年/月/日/星期/时/分/秒年/月/日/星期/时/分/秒
闰年补偿✅✅✅✅
闹钟功能✅ 支持❌❌✅ 2组Alarm
周期中断✅❌❌✅
秒脉冲输出✅✅✅✅
频率输出✅ FOUT❌❌✅
振荡停止检测✅❌❌✅
温度检测❌❌❌✅

模块引脚定义

引脚名称引脚功能
VCC供电正极,DC 1.6V~5.5V 输入(推荐工作电压 DC 3.3V)
GND电源负极
FOUT频率输出引脚,可输出内部时钟频率信号
FOEFOUT 输出使能控制引脚。
当该引脚为高电平时,FOUT 引脚开启输出模式;
当该引脚为低电平时,FOUT 输出功能关闭
SCLI²C 时钟信号线,用于 MCU 与 RX8025T 通信
SDAI²C 数据信号线,用于 MCU 与 RX8025T 数据传输
/INT中断输出引脚,低电平有效,用于闹钟、定时中断等功能触发

寄存器说明

地址寄存器名称功能
0x00SEC秒寄存器
0x01MIN分钟寄存器
0x02HOUR小时寄存器
0x03WEEK星期寄存器
0x04DAY日期寄存器
0x05MONTH月份寄存器
0x06YEAR年份寄存器
0x07RAM用户RAM
0x08MIN Alarm分钟报警寄存器
0x09HOUR Alarm小时报警寄存器
0x0AWEEK/DAY Alarm星期/日期报警寄存器
0x0BTimer Counter0定时器计数器0
0x0CTimer Counter1定时器计数器1
0x0DExtension Register扩展功能寄存器
0x0EFlag Register状态标志寄存器
0x0FControl Register控制寄存器

以上寄存器说明均参考RX8025T芯片手册整理。
RX8025T 所有时间相关寄存器均采用 BCD 编码格式存储,例如:

59秒 = 0x59
23时 = 0x23
2026年 = YEAR寄存器存储 0x26

获取时钟数据代码

Arduinio/ESP8266/ESP32/ESP32S3驱动代码

接线
Arduino
SCL=A5,SDA=A4
ESP8266
SCL = 5(D1),SDA = 4(D2)
ESP32
SCL = 22,SDA = 21
ESP32-C3/S3
SCL = 9,SDA = 8

#include <RTC_RX8025T.h> #include <TimeLib.h> #include <Wire.h> tmElements_t tm; void setup(void) { Serial.begin(9600); delay(3000); //RX8025T initialization RTC_RX8025T.init(); //The Time library is a software RTC_RX8025T. //"system time" it is referring to the current time according to the software RTC_RX8025T. //Set the system time to 17h 10m 30s on 17 July 2026 setTime(17, 10, 30, 17, 07, 26); //Set the RTC from the system time RTC_RX8025T.set(now()); } void loop(void) { //Read the time from the RTC and store it in the tm structure RTC_RX8025T.read(tm); printDateTime(); delay(1000); } void printDateTime(void) { Serial.print("Date: "); //Time library macro for convenient Year conversion to calendar format Serial.print(tmYearToCalendar(tm.Year)); Serial.print("."); if(tm.Month < 10) Serial.print("0"); Serial.print(tm.Month); Serial.print("."); if(tm.Day < 10) Serial.print("0"); Serial.print(tm.Day); Serial.print(" "); Serial.print("Time: "); if(tm.Hour < 10) Serial.print("0"); Serial.print(tm.Hour); Serial.print(":"); if(tm.Minute < 10) Serial.print("0"); Serial.print(tm.Minute); Serial.print(":"); if(tm.Second < 10) Serial.print("0"); Serial.println(tm.Second); }

输出数据现象

STM32驱动代码

接线
OLED–SCL:PB8; SDA:PB9
RX8025T–SCL:PB10; SDA:PB11
串口输出:uart1(可选,程序有相关代码,这里现象只展示oled显示)

获取时间从oled显示

#include"stm32f10x.h"#include"Delay.h"#include"RX8025T.h"#include<string.h>#include"OLED.h"#include"Serial.h"intfputc(intch,FILE*f){USART_SendData(USART1,(uint8_t)ch);while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);returnch;}intmain(void){uint8_tyear;uint8_tmonth;uint8_tday;uint8_tweek;uint8_thour;uint8_tmin;uint8_tsec;OLED_Init();USART1_Init(115200);RX8025T_Init();// RX8025T_SetTime(26, 10, 19, 1, 19, 55, 00);//设置时间,首次可以手动设置时间进行校准,设置完成后,就不需要再重新设置了,模块断电后有电池持续计时//year,mon,day,week,hour,min,sec ,这里设置的是24小时制//printf("RX8025T CLOCK TEST\r\n");OLED_Clear();OLED_ShowString(1,3,"RX8025T_RTC");while(1){RX8025T_GetTime(&year,&month,&day,&week,&hour,&min,&sec);//获取时间//年,月,日OLED_ShowNum(2,4,year+2000,4);OLED_ShowString(2,8,".");OLED_ShowNum(2,9,month,2);OLED_ShowString(2,11,".");OLED_ShowNum(2,12,day,2);//时,分,秒OLED_ShowNum(3,5,hour,2);OLED_ShowString(3,7,":");OLED_ShowNum(3,8,min,2);OLED_ShowString(3,10,":");OLED_ShowNum(3,11,sec,2);//周OLED_ShowString(4,6,"WEEK:");OLED_ShowNum(4,11,week,1);// //串口输出// printf("%d年%d月%d日 \r\n",year+2000,month,day);// printf("%d:%d:%d \r\n",hour,min,sec);// printf("星期%d \r\n",week);}}

实测现象

总结

在嵌入式与物联网项目中,精准、稳定的时间基准至关重要。与常见的普通外接晶振时钟芯片(如 DS1302、DS1307)相比,EPSON RX8025T 最大的优势在于内部直接集成了 32.768kHz 数字温度补偿晶体振荡器(DTCXO),既规避了外部晶振引脚受 PCB 走线杂散电容和温漂干扰的问题,又将年累积误差控制在几十秒以内;而在低至 1.7V 的宽工作电压与微安级维持电流支持下,搭配一颗 CR1220 纽扣电池即可提供极佳的断电走时寿命。

本文梳理了 RX8025T 的性能指标、引脚映射与 BCD 寄存器结构,并分别给出了 Arduino/ESP 系列(基于成熟库开发)与 STM32(结合 OLED 实时显示)的实机驱动方案。无论是在追求极致精简的高速开发原型中,还是对长期走时可靠性要求严苛的工控设备与智能电表场景下,RX8025T 都是一款兼顾高精度、低功耗与高性价比的理想 RTC 选型方案。

QA

Q: RX8025T可以直接替换DS1302吗?
A:对比两者的芯片手册可知两者通讯方式不同,驱动代码不兼容。

Q:RX8025T需要外接晶振吗?
A:RX8025T的芯片手册明确指出,RX8025T内置32.768kHz的晶振,无需外接晶振。

Q:RX8025T和常用的DS1302、DS1307时钟芯片比,哪个性能更优?
A:对比三者的芯片手册可知,RX8025T的精度高于DS1302和DS1307,且RX8025T的闹钟功能是DS1302和DS1307不具备的。DS1307的时间保持电流低于RX8025T和DS1302。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/27 1:56:34

掌握MCP协议:轻松为模型添加工具,提升开发效率(收藏必备)

本文介绍了MCP&#xff08;Model Context Protocol&#xff09;协议&#xff0c;它提供了一种标准化的方式来向模型暴露工具、资源和提示模板&#xff0c;避免了重复造轮子和私有协议的混乱。通过langchain-mcp-adapters库&#xff0c;开发者可以轻松地将MCP服务器上的能力转换…

作者头像 李华
网站建设 2026/10/27 1:56:34

大模型开发入门:用LangChain构建智能应用(收藏版)

本文介绍了大语言模型&#xff08;LLM&#xff09;的基础概念&#xff0c;包括其工作原理、应用场景及常见挑战。重点讲解了提示词工程、词嵌入技术等关键概念&#xff0c;并详细阐述了LangChain框架在构建基于LLM的应用程序中的作用。文章还介绍了LangChain4j&#xff0c;这是…

作者头像 李华
网站建设 2026/10/27 1:55:40

Python中open函数的用法:读写文件的利器

在编程领域里, open()函数是一个非常重要的并且是常用的非常普遍的函数, 它在关于文件这一种操作上是非常关键的并且起着非常重要的作用的。咱们在这个#新手活力创作季#里面, 利用那个open()这个函数, 它可以让咱们去打开文件、读取里面的内容或者是往里面写入东西, 不仅如此, …

作者头像 李华
网站建设 2026/10/27 1:55:29

幻觉滚雪球:大模型错误如何自我强化

模型内部原理与“错误叠加/自圆其说”的四大根因 当大模型在生成早期出现微小偏差时,后续输出非但不能自发纠偏,反而会生成一系列虚假论据去合理化早期错误(学术界称为 Hallucination Snowballing,幻觉滚雪球,Zhang et al., ICML 2024)。其底层根因 1. 架构根因:因果掩…

作者头像 李华
网站建设 2026/10/27 1:55:23

Rhcsa 二

第一部分 网络服务第一章 Linux的例行性工作单一一次的任务计划&#xff08;单一一次的定时任务&#xff09;at程序包是否安装[rootlocalhost ~]# rpm -q at at-3.1.23-11.el9.x86_64 [rootlocalhost ~]# rpm -qa | grep -w at at-spi2-core-2.40.3-1.el9.x86_64 at-spi…

作者头像 李华
网站建设 2026/10/27 1:55:21

深圳标杆游学机构排名测评:从资源、执行到口碑的多维排序

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华