Edgi-Talk_RTC 示例工程
中文 | English
简介
本示例工程基于 Edgi-Talk 平台,演示 RTC(实时时钟)功能,运行在 RT-Thread 实时操作系统 (M33 核) 上。 通过本工程,用户可以快速体验 RTC 时间设置、读取与延时打印功能,为后续时间管理与定时任务开发提供参考。
RTC(实时时钟)简介
1. 概述
RTC(Real-Time Clock) 是一种用于 计量和跟踪实际时间(年、月、日、时、分、秒) 的电子模块或芯片。它通常内置在 微控制器(MCU) 或作为独立芯片存在,用于提供 系统时间、定时唤醒、定时事件触发 等功能。
RTC 的核心特点是 低功耗、长时间稳定运行,即使系统主电源断电,也可通过备用电源(如电池或超级电容)继续计时。
2. 工作原理
RTC 基本上是一个 低功耗振荡器 + 计数器 系统:
时钟源
RTC 通常使用 32.768 kHz 石英晶振(1 Hz = 2^15 周期)
提供稳定时基
分频计数
将晶振信号分频得到 1 Hz 的秒脉冲
累计计数生成分钟、小时、天、月、年
寄存器存储
RTC 内部寄存器保存当前时间、日期、闹钟设置等
电源冗余
内部电池或超级电容供电,使 RTC 在主电源断电时继续运行
3. RTC 类型
内部 RTC
集成在 MCU 内部
优点:节省芯片数量,成本低
缺点:晶振精度受 PCB 布线、温度影响
外部 RTC 芯片
独立芯片,如 DS3231、PCF8563
优点:高精度、可用 I²C/SPI 接口连接 MCU
缺点:增加 PCB 封装面积和成本
4. 关键参数
参数 |
描述 |
|---|---|
振荡器频率 |
通常 32.768 kHz,低功耗稳定 |
时间精度 |
ppm / 秒/天,决定时钟漂移 |
电源电压 |
1.8~5V,支持备用电源 |
功耗 |
1~5 µA(低功耗模式) |
接口类型 |
I²C、SPI 或 MCU 内部总线 |
功能扩展 |
闹钟输出、方波输出、温度补偿、定时唤醒 |
5. RTC 功能
实时时钟
提供当前时间和日期
6. RTC 应用场景
嵌入式设备
MCU 实时时间追踪,事件记录
低功耗物联网设备
RTC 唤醒 MCU 进行周期性数据采集
手表与智能穿戴设备
提供精准计时功能
数据记录仪与工业控制
时间戳、日志记录
汽车电子
行车记录仪、车载娱乐系统计时
软件说明
工程基于 Edgi-Talk 平台开发。
示例功能包括:
RTC 设备初始化
日期和时间设置
延时获取当前时间并打印
将 RTC 操作导出为 msh 命令
rtc_sample
工程结构清晰,便于理解 RTC 驱动在 M33 核 上的运行方式。
使用方法
编译与下载
打开工程并完成编译。
使用 板载下载器 (DAP) 将开发板的 USB 接口连接至 PC。
通过编程工具将生成的固件烧录至开发板。
运行效果
烧录完成后,开发板上电即可运行示例工程。
用户需在串口命令行手动输入:
rtc_sample
系统会依次执行以下操作:
初始化 RTC 设备
设置日期为
2025-07-01设置时间为
23:59:50打印当前时间
延时 3 秒
再次打印当前时间
示例输出:
Tue Jul 1 23:59:50 2025
Tue Jul 1 23:59:53 2025
注意事项
请确保 RTC 设备已正确连接并可被系统识别。
如需修改工程的 图形化配置,请使用以下工具打开配置文件:
tools/device-configurator/device-configurator.exe
libs/TARGET_APP_KIT_PSE84_EVAL_EPC2/config/design.modus
修改完成后保存配置,并重新生成代码。
启动流程
系统启动顺序如下:
+------------------+
| Secure M33 |
| (安全内核启动) |
+------------------+
|
v
+------------------+
| M33 |
| (非安全核启动) |
+------------------+
|
v
+-------------------+
| M55 |
| (应用处理器启动) |
+-------------------+
⚠️ 请严格按照以上顺序烧写固件,否则系统可能无法正常运行。
若示例工程无法正常运行,建议先编译并烧录 Edgi_Talk_M33_Blink_LED 工程,确保初始化与核心启动流程正常,再运行本示例。
若要开启 M55,需要在 M33 工程 中打开配置:
RT-Thread Settings --> 硬件 --> select SOC Multi Core Mode --> Enable CM55 Core