亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

深入单片机实时时钟(RTC):设计、精度与安全

单片机定时器系列第 3 部分:深入实时时钟(RTC)

本篇深入单片机实时时钟(RTC)核心。前文涵盖定时器基础和脉宽调制。本文解释 RTC 如何维持精准一秒间隔、管理时间日期、补偿漂移、防篡改。

RTC 的功能

RTC 是产生稳定一秒滴答并持续计数的专用硬件。简单时序图展示滴答发生器、读取秒计数器的软件例程、三秒后触发的闹钟。关键需求是 精度 和 持续运行。

深入单片机实时时钟(RTC):设计、精度与安全

图 1. 基础 RTC 时序图

典型硬件特性

现代单片机 RTC 通常包含:

深入单片机实时时钟(RTC):设计、精度与安全

图 2. 常见 RTC 硬件特性

精度与频率补偿

RTC 核心是 32.768 kHz 晶体。在设计良好的振荡器中,晶体本身是主要误差源。外部 TCXO 可达亚 ppm 稳定度,内部振荡器经补偿也能达到相当性能。

典型误差源含:

下图由 Texas Instruments 提供,展示温度与初始误差叠加,及精心校准如何将总误差压入黄带——板级测量后可达成的目标。

深入单片机实时时钟(RTC):设计、精度与安全

图 3. 误差 vs. 温度(Texas Instruments)

1 ppm 年精度下,时钟偏差约 30 秒——远优于大多数业余项目,但在任务关键系统仍值得考量。

补偿时序误差

在不牺牲硬件简洁性前提下修正小漂移的两种常用策略:

可调分频器。 若 RTC 暴露可编程分频器,软件可每隔几秒调整模数。例如,时钟每秒快 0.00010 s,可每第四秒将分频器从 32,768 改为 32,781,每次补回 0.00010 s。

深入单片机实时时钟(RTC):设计、精度与安全

图 4. 分频器调整抵消漂移

优势:细粒度修正、代码量极少。缺点:需可调分频器和额外寄存器。

软件修正。 硬件无可编程分频器时,固件可维护秒计数器运行累计误差。累计误差达一秒时,增减一个滴答。调整每周期仅可见一次,感知突兀。

深入单片机实时时钟(RTC):设计、精度与安全

图 5. 纯软件时序修正

优势:适用任意 RTC。缺点:滴答率出现明显跳变。

安全考量

时间关联计费、使用限额、关键时序的应用中,保护 RTC 防篡改至关重要。许多单片机提供:

例如,本文用到的 MCU 有锁定位,一旦置位,芯片复位前无法清除,防止流氓代码改时钟。

时间日期管理

部分 RTC 集成全天候和日历计数器。硬件缺这些时,固件可用标准算法从 32 位秒计数器推导日期。C 标准库 time.h 期望返回自纪元(通常 1970-01-01)秒数的函数。简单的 get_time() 封装读取 RTC 计数器喂给库,库再处理闰年、夏令时、格式化。

32 位秒计数器的局限

32 位计数器在 2³² 秒后溢出——略超 136 年。但纪元从 1970 起算,计数器将在 2038 年翻滚(Y2038 问题)。依赖 C 库的系统在计数器达 2³¹ – 1 时可能出现未定义行为。

NASA 深度撞击任务 2013 年因以 0.1 秒增量计时的 32 位定时器溢出失联,潜在破坏控制指令。

「尽管确切失联原因未知,分析发现计算机时间标记的潜在问题可能导致深度撞击号姿态控制失效。」

—— NASA 新闻稿,2013

设计师应用远超系统预期寿命的计数器,或在固件实现翻滚处理。

后续步骤

本系列最后一篇将讲解看门狗定时器,这张即使软件死机也能让单片机存活的安全网。

工业技术

  1. OPC UA 统一架构:实现实时企业级互操作的关键技术
  2. 电容器充放电实验:动手探究 RC 电路时域特性
  3. 掌握RC与RL电路时间常数计算
  4. 单稳态多谐振荡器 (单发):设计、定时与工业应用
  5. 计算电抗直流电路中的电压与电流
  6. 解锁工业增长:IoT如何驱动新工业革命
  7. 何时升级工作设备:明智商业决策指南
  8. 加速数字化转型的七大核心驱动力
  9. 拥抱高性能加工:提升速度、精度与投资回报
  10. 机器人实时 3D 变化检测 + AR 眼镜:守护士兵态势感知
  11. 先进飞机传感器实现实时结冰检测与融化速率监测
  12. 将云管理转型为战略性 IT 实践