ZHDU116G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
表 17-1 列出了 AON_RTC 寄存器的存储器映射寄存器。表 17-1中未列出的所有寄存器偏移地址都应视为保留的位置,并且不应修改寄存器内容。
| 偏移 | 首字母缩写词 | 寄存器名称 | 部分 |
|---|---|---|---|
| 0h | CTL | 控制 | CTL 寄存器(偏移 = 0h)[复位 = 00000000h] |
| 4h | EVFLAGS | 事件标志,RTC 状态 | EVFLAGS 寄存器(偏移 = 4h)[复位 = 00000000h] |
| 8h | SEC | 第二个计数器值,整数部分 | SEC 寄存器(偏移 = 8h)[复位 = 00000000h] |
| Ch | SUBSEC | 第二个计数器值,分数部分 | SUBSEC 寄存器(偏移 = Ch)[复位 = 00000000h] |
| 10h | SUBSECINC | 亚秒增量 | SUBSECINC 寄存器(偏移 = 10h)[复位 = 00800000h] |
| 14h | CHCTL | 通道配置 | CHCTL 寄存器(偏移 = 14h)[复位 = 00000000h] |
| 18h | CH0CMP | 通道 0 比较值 | CH0CMP 寄存器(偏移 = 18h)[复位 = 00000000h] |
| 1Ch | CH1CMP | 通道 1 比较值 | CH1CMP 寄存器(偏移 = 1Ch)[复位 = 00000000h] |
| 20h | CH2CMP | 通道 2 比较值 | CH2CMP 寄存器(偏移 = 20h)[复位 = 00000000h] |
| 24h | CH2CMPINC | 通道 2 比较值自动递增 | CH2CMPINC 寄存器(偏移 = 24h)[复位 = 00000000h] |
| 28h | CH1CAPT | 通道 1 捕获值 | CH1CAPT 寄存器(偏移 = 28h)[复位 = 00000000h] |
| 2Ch | SYNC | AON 同步 | SYNC 寄存器(偏移 = 2Ch)[复位 = 00000000h] |
| 30h | 时间 | 当前计数器值 | TIME 寄存器(偏移 = 30h)[复位 = 00000000h] |
| 34h | SYNCLF | 与 SCLK_LF 同步 | SYNCLF 寄存器(偏移 = 34h)[复位 = 00000000h] |
复杂的位访问类型经过编码可适应小型表单元。表 17-2 展示了适用于此部分中访问类型的代码。
| 访问类型 | 代码 | 说明 |
|---|---|---|
| 读取类型 | ||
| R | R | 读取 |
| 写入类型 | ||
| W | W | 写入 |
| W1C | W 1C | 写入 1 以清零 |
| 复位或默认值 | ||
| -n | 复位后的值或默认值 | |
图 17-2 展示了 CTL,表 17-3 中对此进行了介绍。
返回到汇总表。
控制
该寄存器包含用于配置 RTC 的各种位字段
RTL 名称 = CONFIG
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | COMB_EV_MASK | ||||||
| R-0h | R/W-0h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | EV_DELAY | ||||||
| R-0h | R/W-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 复位 | RESERVED | RTC_4KHZ_EN | RTC_UPD_EN | EN | |||
| W1C-0h | R-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-19 | RESERVED | R | 0h | 保留 |
| 18-16 | COMB_EV_MASK | R/W | 0h | 事件屏蔽,用于选择构成组合事件的延迟事件。 0h = 未为组合事件选择事件。 1h = 在组合事件中使用通道 0 延迟事件 2h = 在组合事件中使用通道 1 延迟事件 4h = 在组合事件中使用通道 2 延迟事件 |
| 15-12 | RESERVED | R | 0h | 保留 |
| 11-8 | EV_DELAY | R/W | 0h | 生成延迟事件之前等待的 SCLK_LF 时钟周期数。(所有 RTC 通道的通用设置)。延迟事件被推迟 0h = 延迟事件无延迟 1h = 延迟 1 个时钟周期 2h = 延迟 2 个时钟周期 3h = 延迟 4 个时钟周期 4h = 延迟 8 个时钟周期 5h = 延迟 16 个时钟周期 6h = 延迟 32 个时钟周期 7h = 延迟 48 个时钟周期 8h = 延迟 64 个时钟周期 9h = 延迟 80 个时钟周期 Ah = 延迟 96 个时钟周期 Bh = 延迟 112 个时钟周期 Ch = 延迟 128 个时钟周期 Dh = 延迟 144 个时钟周期 |
| 7 | 复位 | W1C | 0h | RTC 计数器复位。 向该位写入 1 将复位 RTC 计数器。 当复位生效时,该位被清除 |
| 6-3 | RESERVED | R | 0h | 保留 |
| 2 | RTC_4KHZ_EN | R/W | 0h | RTC_4KHZ 是一个 4KHz 参考输出,从 SUBSEC.VALUE 位 19 抽头,供 AUX 计时器使用。 0:RTC_4KHZ 信号被强制为 0 1:RTC_4KHZ 使能(前提是 RTC 已通过 EN 位使能) |
| 1 | RTC_UPD_EN | R/W | 0h | RTC_UPD 是用于同步无线电计时器的 16KHz 信号。16kHz 等于 SCLK_LF 除以 2 0:RTC_UPD 信号强制为 0 1:RTC_UPD 信号以 16kHz 频率切换 |
| 0 | EN | R/W | 0h | 使能 RTC 计数器 0:暂停(冻结) 1:运行 |
图 17-3 展示了 EVFLAGS,表 17-4 中对此进行了介绍。
返回到汇总表。
事件标志,RTC 状态
该寄存器包含来自 3 个 RTC 通道的事件标志。向相应的位字段写入“1”时,每个标志都将被清除。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | CH2 | ||||||||||||||
| R-0h | R/W1C-0h | ||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | CH1 | RESERVED | CH0 | ||||||||||||
| R-0h | R/W1C-0h | R-0h | R/W1C-0h | ||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-17 | RESERVED | R | 0h | 保留 |
| 16 | CH2 | R/W1C | 0h | 通道 2 事件标志,当 CHCTL.CH2_EN = 1 且 RTC 值匹配或传递 CH2CMP 值时设置。 在写入 CH2CMP 时,只要通道已使能,且新值与下一个 RTC 值到过去 1 秒之间的任何时间点匹配,事件将被调度为尽快发生 写入 1 可清除该标志。 AUX_SCE 可以通过 AUX_EVCTL:EVSTAT2.AON_RTC_CH2 读取该标志,并使用 AUX_SYSIF:RTCEVCLR.RTC_CH2_EV_CLR 清除该标志。 |
| 15-9 | RESERVED | R | 0h | 保留 |
| 8 | CH1 | R/W1C | 0h | 通道 1 事件标志,当 CHCTL.CH1_EN = 1 且满足以下任一条件时设置: - CHCTL.CH1_CAPT_EN = 0 且 RTC 值匹配或传递 CH1CMP 值。 - CHCTL.CH1_CAPT_EN = 1 且发生捕获。 在写入 CH1CMP 时,只要通道已使能、处于比较模式,且新值与下一个 RTC 值到过去 1 秒之间的任何时间点匹配,事件将被调度为尽快发生。 写入 1 可清除此标志。 |
| 7-1 | RESERVED | R | 0h | 保留 |
| 0 | CH0 | R/W1C | 0h | 通道 0 事件标志,当 CHCTL.CH0_EN = 1 且 RTC 值匹配或传递 CH0CMP 值时设置。 在写入 CH0CMP 时,只要通道已使能,且新值与下一个 RTC 值到过去 1 秒之间的任何时间点匹配,事件将被调度为尽快发生。 写入 1 可清除此标志。 |
图 17-4 展示了 SEC,表 17-5 中对此进行了介绍。
返回到汇总表。
第二个计数器值,整数部分
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 值 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | 值 | R/W | 0h | 无符号整数,以秒为单位表示实时时钟。 读取该寄存器时,SUBSEC.VALUE 的内容同时被锁存。通过首先读取该寄存器,然后读取 SUBSEC 寄存器,可以获得组合实时时钟的一致读数。 |
图 17-5 展示了 SUBSEC,表 17-6 中对此进行了介绍。
返回到汇总表。
第二个计数器值,分数部分
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 值 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | 值 | R/W | 0h | 无符号整数,表示读取 SEC 寄存器时刻的实时时钟,以几毫秒(VALUE/232 秒)为单位。 示例: - 0x0000_0000 = 0.0 秒 - 0x4000_0000 = 0.25 秒 - 0x8000_0000 = 0.5 秒 - 0xC000_0000 = 0.75 秒 |
图 17-6 展示了 SUBSECINC,表 17-7 中对此进行了介绍。
返回到汇总表。
亚秒递增
在每个 SCLK_LFclock 周期添加到 SUBSEC.VALUE 的值。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | VALUEINC | ||||||||||||||||||||||||||||||
| R-0h | R-00800000h | ||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-24 | RESERVED | R | 0h | 保留 |
| 23-0 | VALUEINC | R | 00800000h | 该值可补偿从 32768Hz 偏移的 SCLK_LF 时钟。 补偿值的计算公式为 238/freq,其中 freq 为 SCLK_LF 时钟频率(以赫兹为单位) 该值在每个周期添加到 SUBSEC.VALUE 中,其进位被添加到 SEC.VALUE 上。为了执行加法,位 [23:6] 与 SUBSEC.VALUE 位 [17:0] 对齐。其余位 [5:0] 累积在一个隐藏的 6 位寄存器中,该寄存器会在溢出时产生对上述加法的进位。 默认值对应于精确递增 1/32768 秒。 注意:该寄存器是只读的。必须使用寄存器 AUX_SYSIF:RTCSUBSECINC0、AUX_SYSIF:RTCSUBSECINC1 和 AUX_SYSIF:RTCSUBSECINCCTL 来修改寄存器值 |
图 17-7 展示了 CHCTL,表 17-8 中对此进行了介绍。
返回到汇总表。
通道配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | CH2_CONT_EN | RESERVED | CH2_EN | ||||
| R-0h | R/W-0h | R-0h | R/W-0h | ||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | CH1_CAPT_EN | CH1_EN | |||||
| R-0h | R/W-0h | R/W-0h | |||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | CH0_EN | ||||||
| R-0h | R/W-0h | ||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-19 | RESERVED | R | 0h | 保留 |
| 18 | CH2_CONT_EN | R/W | 0h | 置位以使能通道 2 的连续操作。 |
| 17 | RESERVED | R | 0h | 保留 |
| 16 | CH2_EN | R/W | 0h | RTC 通道 2 使能 0:禁用 RTC 通道 2 1:使能 RTC 通道 2 |
| 15-10 | RESERVED | R | 0h | 保留 |
| 9 | CH1_CAPT_EN | R/W | 0h | 设置通道 1 模式 0:比较模式(默认) 1:捕获模式 |
| 8 | CH1_EN | R/W | 0h | RTC 通道 1 使能 0:禁用 RTC 通道 1 1:使能 RTC 通道 1 |
| 7-1 | RESERVED | R | 0h | 保留 |
| 0 | CH0_EN | R/W | 0h | RTC 通道 0 使能 0:禁用 RTC 通道 0 1:使能 RTC 通道 0 |
图 17-8 展示了 CH0CMP,表 17-9 对其进行了介绍。
返回到汇总表。
通道 0 比较值
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 值 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | 值 | R/W | 0h | RTC 通道 0 比较值。 位 31 至 16 表示秒,位 15 至 0 表示比较值的亚秒。 比较值与实时时钟寄存器的 SEC.VALUE (15:0) 和 SUBSEC.VALUE (31:16) 值进行比较。当 {SEC.VALUE(15:0),SUBSEC.VALUE (31:16)} 达到或超过比较值时,将生成通道 0 事件。 如果新比较值与从过去 1 秒到当前实时时钟值的实时时钟值匹配、则写入该寄存器将触发立即*) 事件。 示例: 要生成 RTC 启动后 5.5 秒的比较事件,将该值设置为 = 0x0005_8000 *) 由于同步原因,事件发生前可能需要最多一个 SCLK_LF 时钟周期。 |
图 17-9 展示了 CH1CMP,表 17-10 对其进行了介绍。
返回到汇总表。
通道 1 比较值
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 值 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | 值 | R/W | 0h | RTC 通道 1 比较值。 位 31 至 16 表示秒,位 15 至 0 表示比较值的亚秒。 比较值与实时时钟寄存器的 SEC.VALUE (15:0) 和 SUBSEC.VALUE (31:16) 值进行比较。当 {SEC.VALUE(15:0),SUBSEC.VALUE (31:16)} 达到或超过比较值时,将生成通道 0 事件。 如果新比较值与从过去 1 秒到当前实时时钟值的实时时钟值匹配、则写入该寄存器将触发立即*) 事件。 示例: 要生成 RTC 启动后 5.5 秒的比较事件,将该值设置为 = 0x0005_8000 *) 由于同步原因,事件发生前可能需要最多一个 SCLK_LF 时钟周期。 |
图 17-10 展示了 CH2CMP,表 17-11 对其进行了介绍。
返回到汇总表。
通道 2 比较值
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 值 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | 值 | R/W | 0h | RTC 通道 2 比较值。 位 31 至 16 表示秒,位 15 至 0 表示比较值的亚秒。 比较值与实时时钟寄存器的 SEC.VALUE (15:0) 和 SUBSEC.VALUE (31:16) 值进行比较。当 {SEC.VALUE(15:0),SUBSEC.VALUE (31:16)} 达到或超过比较值时,将生成通道 0 事件。 如果新比较值与从过去 1 秒到当前实时时钟值的实时时钟值匹配、则写入该寄存器将触发立即*) 事件。 示例: 要生成 RTC 启动后 5.5 秒的比较事件,将该值设置为 = 0x0005_8000 *) 由于同步原因,事件发生前可能需要最多一个 SCLK_LF 时钟周期。 |
图 17-11 展示了 CH2CMPINC,表 17-12 对其进行了介绍。
返回到汇总表。
通道 2 比较值自动递增
该寄存器主要用于通过 [AUX_EVCTL.EVSTAT0.AON_RTC] 事件为 AUX_SCE 模块生成周期性唤醒。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 值 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | 值 | R/W | 0h | 如果设置了 CHCTL.CH2_CONT_EN,则该值在每次通道 2 比较事件发生时添加到 CH2CMP.VALUE。 |
图 17-12 展示了 CH1CAPT,表 17-13 对其进行了介绍。
返回到汇总表。
通道 1 捕获值
如果 CHCTL.CH1_EN = 1 且 CHCTL.CH1_CAPT_EN = 1,则在 AON_EVENT:RTCSEL 中选择的事件的每个上升沿发生捕获。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SEC | SUBSEC | ||||||||||||||||||||||||||||||
| R-0h | R-0h | ||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | SEC | R | 0h | 捕获时 SEC.VALUE 位 15:0 的值。 |
| 15-0 | SUBSEC | R | 0h | 捕获时 SUBSEC.VALUE 位 31:16 的值。 |
图 17-13 展示了 SYNC,表 17-14 中对此进行了介绍。
返回到汇总表。
AON 同步
该寄存器用于在 MCU 和整个 AON 域之间同步。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | WBUSY | ||||||
| R-0h | R/W-0h | ||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | 保留 |
| 0 | WBUSY | R/W | 0h | 该寄存器将始终返回 0,但只有在 MCU 和 AON 之间没有未完成的写入请求时,它才会返回值 注意:在读取之前写入该寄存器将强制等待,直到下一个 SCLK_MF 边沿。当从睡眠状态唤醒后需要同步读取 AON 的寄存器时,建议执行此操作 否则可能会导致在进入睡眠状态之前读取 AON 值 |
图 17-14 展示了 TIME,表 17-15 中对此进行了介绍。
返回到汇总表。
当前计数器值
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SEC_L | SUBSEC_H | ||||||||||||||||||||||||||||||
| R-0h | R-0h | ||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | SEC_L | R | 0h | 返回 SEC 寄存器的下半字。 |
| 15-0 | SUBSEC_H | R | 0h | 返回 SUBSEC 寄存器的上半字。 |
图 17-15 展示了 SYNCLF,表 17-16 中对此进行了介绍。
返回到汇总表。
同步到 SCLK_LF
该寄存器用于将 MCU 同步到 SCLK_LF 的正边沿或负边沿。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | PHASE | ||||||
| R-0h | R-0h | ||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | 保留 |
| 0 | PHASE | R | 0h | 该位将始终返回 SCLK_LF 相位。返回值将延迟,直到检测到 SCLK_LF 的正边沿或负边沿。 0:SCLK_LF 的下降沿 1:SCLK_LF 的上升沿 |