偏移 | 寄存器名称 | 访问 | 描述 |
---|---|---|---|
0x0000 | TOD_CONFIG | RW |
主配置 [0] - 启用系统定时器 该字段为“0”会禁用系统定时器 IP [1] - 启用外部 ToD 总线 写入“1”即可启用 ToD 总线信号。“overwrite mode”(覆盖模式)字段可用于进一步定义信号的使用方式 仅当生成的核具有外部 ToD 总线接口支持时,此模式才存在 [3:2] - Overwrite Mode:
仅当生成的核具有外部 ToD 总线接口支持时,以上模式才存在 [4] - 启用 Sys_timer 自动刷新。写入 1 即可启用 System Timer 块以最新 ToD 和 CTIME(如已启用)值来自动刷新端口定时器的功能 [5] - 在外部 1PPS 上启用定时器快照 [15:6] - 保留 [16 到 31] - 启用端口 TX 和 RX 定时器
端口数上限取决于核生成时启用的端口数。 |
0x0004 | TOD_SNAPSHOT | RW1T |
[0] - 对所有定时器生成快照 写入 1'b1 将对所有计数器(系统、外部 ToD 总线和所有已启用的端口)生成快照 [31:1] - 保留 |
0x0008 | TOD_INTR_ENABLE | RW |
中断使能寄存器 [0] - 1-PPS 中断(主 RTC 秒字段) [15:1] - 保留 [16] - 1-PPS 中断(外部 1pps 输入) [31:17] - 保留 |
0x000C | TOD_INTR_STATUS | RW1C |
中断清除寄存器 [0] - 1-PPS 中断(主 RTC 秒字段) [15:1] - 保留 [16] - 1-PPS 中断(外部 1pps 输入) [31:17] - 保留 |
0x0010 | TOD_SW_SEC_0 | RW | [31:0] - 覆盖主定时器的秒字段位 [31:0] |
0x0014 | TOD_SW_SEC_1 | RW |
[15:0] - 覆盖主定时器的秒字段位 [47:32] [31:16] - 保留 |
0x0018 | TOD_SW_NS | RW |
[29:0] - 覆盖主定时器的秒字段位 [31:30] - 保留 |
0x001C | TOD_SW_LOAD | RW1T |
[0] - 写入“1”即可初始化大量系统定时器的 ToD 值(来自 TOD_SW_SEC_0/1、TOD_SW_NS 和 TOD_SW_CTIME_0/1 寄存器) [1] - 写入“1”即可初始化大量系统定时器的 ToD 偏移值(来自 TOD_SEC_SYS_OFFSET_0/1 和 TOD_NS_SYS_OFFSET_0 寄存器) 注释: 偏移是由逻辑在系统定时器输出到端口定时器前添加的。因此,系统定时器 ToD 回读不反映偏移。
[31:2] - 保留 |
0x0020 | TOD_SW_CTIME_0 | RW | [31:0] - 覆盖主定时器的 CF 字段位 [31:0] |
0x0024 | TOD_SW_CTIME_1 | RW |
[30:0] - 覆盖主定时器的秒字段位 [63:32] [31] - 保留 |
0x0028 | TOD_SEC_SYS_OFFSET_0 | RW |
{TOD_SEC_SYS_OFFSET_1[15:0], TOD_SEC_SYS_OFFSET_0[31:0]} - 表示系统定时器 48b 秒字段有符号偏移值 TOD_NS_SYS_OFFSET_0[29:0] - 表示系统定时器 30b 纳秒字段有符号偏移值 针对 TOD_SEC_SYS_OFFSET,有符号位解释如下 如果 [47] = 1'b1,则从系统定时器减去 如果 [47] = 1'b0,则与系统定时器相加 需在寄存器 0x001C 上应用触发器位 [1] |
0x002C | TOD_SEC_SYS_OFFSET_1 | RW | |
0x0030 | TOD_NS_SYS_OFFSET_0 | RW | |
0x0100 | TOD_SYS_SEC_0 | RO | [31:0] - 生成系统定时器的秒字段 [31:0] 的快照 |
0x0104 | TOD_SYS_SEC_1 | RO |
[15:0] - 生成系统定时器的秒字段 [47:32] 的快照 [31:16] - 保留 |
0x0108 | TOD_SYS_NS | RO |
[29:0] - 生成系统定时器的纳秒字段 [29:0] 的快照 [31:30] - 保留 |
0x010C | TOD_SYS_OFFSET | RW |
[31:0] - 有符号偏移,将在外部 ToD 总线上发生 1PPS 事件时,应用于从外部 ToD 总线加载的秒值,并添加到 0 纳秒字段。 有符号值以 2-16 ns 来表示 仅当生成的核具有外部 ToD 总线支持时,此模式才存在 |
0x0110 | TOD_SYS_CTIME_0 | RO | [31:0] - 生成系统定时器的 CF 字段 [31:0] 的快照 |
0x0114 | TOD_SYS_CTIME_1 | RO |
[30:0] - 生成系统定时器的 CF 字段 [63:32] 的快照 [31] - 保留 |
0x0120 | TODBUS_SEC_0 | RO | 外部 ToD 总线的秒字段 [31:0] 的当前值 |
0x0124 | TODBUS_SEC_1 | RO |
[15:0] - 外部 ToD 总线的秒字段 [47:32] 的当前值 [31:16] - 保留 |
0x012C | TODBUS_SYS_DIFF | RO | [31:0] - 对外部 ToD 总线采集的值与系统定时器的内部 ToD 值(以有符号单位 2-16 ns 来表示)进行每秒一次比较 |
0x0034 | TOD_SYS_PERIOD_0 | RW | 系统定时器 TS 时钟周期,以 2-48 ns 来表示。 例如,3.2 ns 表示为: TOD_SYS_PERIOD_0[31:0] = 0x3333_3333 TOD_SYS_PERIOD_1[23:0] = 0x0003_3333 TOD_SYS_PERIOD_1[31:24] reserved 写入 TOD_SYS_PERIOD_1 寄存器将把更新后的周期值“落实”到系统定时器内。 |
0x0038 | TOD_SYS_PERIOD_1 | RW |