Skip to content

Instantly share code, notes, and snippets.

@nickfox-taterli
Created March 26, 2025 05:46
Show Gist options
  • Save nickfox-taterli/4dd8e174739a37cd46e2db496cc28e8d to your computer and use it in GitHub Desktop.
Save nickfox-taterli/4dd8e174739a37cd46e2db496cc28e8d to your computer and use it in GitHub Desktop.
D213ECV RTC 寄存器分析

RTC寄存器总表

寄存器名称 偏移地址 R/W属性 功能描述
RTC_REG_CTL 0x0000 R/W 控制寄存器
RTC_REG_INIT 0x0004 WO 初始化触发寄存器
RTC_REG_IRQ_EN 0x0008 R/W 中断使能寄存器
RTC_REG_IRQ_STA 0x000C R/W1C 中断状态寄存器
RTC_REG_TIME0 0x0020 R/W 时间设置寄存器0(低8位)
RTC_REG_TIME1 0x0024 R/W 时间设置寄存器1(次低8位)
RTC_REG_TIME2 0x0028 R/W 时间设置寄存器2(次高8位)
RTC_REG_TIME3 0x002C R/W 时间设置寄存器3(高8位)
RTC_REG_ALARM0 0x0030 R/W 闹钟设置寄存器0(低8位)
RTC_REG_ALARM1 0x0034 R/W 闹钟设置寄存器1(次低8位)
RTC_REG_ALARM2 0x0038 R/W 闹钟设置寄存器2(次高8位)
RTC_REG_ALARM3 0x003C R/W 闹钟设置寄存器3(高8位)
RTC_REG_CALI0 0x0040 R/W 校准值低8位
RTC_REG_CALI1 0x0044 R/W 校准值高8位及方向标志
RTC_REG_ANALOG0 0x0050 R/W 模拟配置寄存器0
RTC_REG_ANALOG1 0x0054 R/W 模拟配置寄存器1
RTC_REG_ANALOG2 0x0058 R/W 32K时钟驱动强度配置
RTC_REG_ANALOG3 0x005C R/W 模拟配置寄存器3
RTC_REG_WR_EN 0x00FC WO 写使能寄存器
RTC_REG_SYSBAK 0x0100 R/W 系统备份寄存器(128位)
RTC_REG_TCNT 0x0800 RO 当前时间计数器(32位只读)
RTC_REG_32K_DET 0x0804 R/W 32K时钟检测控制寄存器
RTC_REG_VER 0x08FC RO 版本寄存器

位域详情子表(仅展开有明确位域的寄存器)

1. RTC_REG_CTL (0x0000)

位域 名称 功能说明
bit0 TCNT_EN 计数器使能(1=启动)
bit2 ALARM_EN 闹钟使能(1=启用)
bit4-5 IO_SEL IO功能选择?

2. RTC_REG_IRQ_EN (0x0008)

位域 名称 功能说明
bit0 ALARM_EN 闹钟中断使能(1=启用)
bit2 32K_ERR_EN 32K时钟错误中断使能(1=启用)

3. RTC_REG_IRQ_STA (0x000C)

位域 名称 功能说明
bit0 ALARM 闹钟中断状态(写1清除)
bit1 ALARM_IO 闹钟IO触发状态(写1清除)
bit2 32K_ERR 32K时钟错误状态(写1清除)

4. RTC_REG_CALI1 (0x0044)

位域 名称 功能说明
bit7 FAST_DIR 校准方向(0=慢校准,1=快校准)
bit0-6 CALI[14:8] 校准值高7位

5. RTC_REG_ANALOG2 (0x0058)

位域 名称 功能说明
bit0-3 XTAL32K_DRV 32K晶振驱动强度配置

6. RTC_REG_VER (0x08FC)

位域 名称 功能说明
bit8-15 MAJOR_VER 主版本号
bit0-7 MINOR_VER 次版本号

存疑

  1. 校准方向逻辑

    • CALI1.FAST_DIR的硬件行为需确认:是否1=快校准(增加频率),0=慢校准(减少频率)?
  2. 32K检测机制

    • 检测使能后的超时判断逻辑是否依赖硬件自动触发中断?
  3. 保留寄存器区域

    • 地址间隙(如0x005C-0x00FC)是否包含隐藏功能寄存器?
  4. RTC_REG_SYSBAK容量

    • 确认实际可访问范围是否为16字节(128bit)。
  5. RTC_REG_TCNT写入限制

    • 硬件是否完全禁止直接写入,必须通过TIME0-3+INIT同步?
  6. 校准值符号处理

    • 校准值的正负是否与FAST_DIR方向位严格对应?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment