ZHCUAN6E October 2022 – May 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
表 13-6 列出了 TRNG 寄存器的存储器映射寄存器。表 13-6 中未列出的所有寄存器偏移地址都应视为保留的位置,并且不应修改寄存器内容。
| 偏移 | 首字母缩写词 | 寄存器名称 | 组 | 部分 |
|---|---|---|---|---|
| 800h | PWREN | 电源使能 | 转到 | |
| 804h | RSTCTL | 复位控制 | 转到 | |
| 814h | STAT | 状态寄存器 | 转到 | |
| 1020h | IIDX | 中断索引 | CPU_INT | 转到 |
| 1028h | IMASK | 中断屏蔽 | CPU_INT | 转到 |
| 1030h | RIS | 原始中断状态 | CPU_INT | 转到 |
| 1038h | MIS | 已屏蔽中断状态 | CPU_INT | 转到 |
| 1040h | ISET | 中断设置 | CPU_INT | 转到 |
| 1048h | ICLR | 中断清除 | CPU_INT | 转到 |
| 10FCh | DESC | 模块说明 | 转到 | |
| 1100h | CTL | 控制命令和抽取率 | 转到 | |
| 1104h | STAT | 通知运行状况测试结果和上次发出的命令的状态寄存器 | 转到 | |
| 1108h | DATA_CAPTURE | RNG 数据的捕获字缓冲器 | 转到 | |
| 110Ch | TEST_RESULTS | 来自 TEST_ANA 和 TEST_DIG 的测试结果 | 转到 | |
| 1110h | CLKDIVIDE | 时钟分频器 | 转到 |
复杂的位访问类型经过编码可适应小型表单元。表 13-7 展示了适用于此部分中访问类型的代码。
| 访问类型 | 代码 | 说明 |
|---|---|---|
| 读取类型 | ||
| R | R | 读取 |
| 写入类型 | ||
| W | W | 写入 |
| WK | W K | 写入 受密钥保护的写入 |
| 复位或默认值 | ||
| -n | 复位后的值或默认值 | |
图 13-3 展示了 PWREN,表 13-8 中对此进行了介绍。
返回到汇总表。
用于控制电源状态的寄存器
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| KEY | |||||||
| W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R/W-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R/W-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | ENABLE | ||||||
| R/W-0h | R/WK-0h | ||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-24 | KEY | W | 0h | 允许电源状态更改的 KEY 26h = 允许对该寄存器进行写入访问的 KEY |
| 23-1 | RESERVED | R/W | 0h | |
| 0 | ENABLE | R/WK | 0h | 启用电源 必须将 KEY 设置为 26h 才能写入该位。 0h = 禁用电源 1h = 启用电源 |
图 13-4 展示了 RSTCTL,表 13-9 中对此进行了介绍。
返回到汇总表。
用于控制复位有效和无效的寄存器
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| KEY | |||||||
| W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| W-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| W-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RESETSTKYCLR | RESETASSERT | |||||
| W-0h | WK-0h | WK-0h | |||||
图 13-5 展示了 STAT,表 13-10 中对此进行了介绍。
返回到汇总表。
外设启用和复位状态
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R- | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | RESETSTKY | ||||||
| R- | R-0h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R- | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | |||||||
| R- | |||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-17 | RESERVED | R | 0h | |
| 16 | RESETSTKY | R | 0h | 该位指示自 RSTCTL 寄存器中的 RESETSTKYCLR 清除该位以来,外设是否复位 0h = 自 RSTCTL 寄存器中的 RESETSTKYCLR 上次清除该位以来,外设尚未复位 1h = 自从上次清除该位以来,外设已复位 |
| 15-0 | RESERVED | R | 0h |
图 13-6 展示了 IIDX,表 13-11 中对此进行了介绍。
返回到汇总表。
该寄存器提供了具有最高优先级的中断索引。0h 表示无事件挂起。中断 1 是最高优先级,2 是次高优先级,4、8、…231 是最低优先级。也就是说,设置为 1 的最低位位置表示最高优先级的挂起中断。优先级顺序是固定的。但是,用户可以使用其他寄存器来实现自己的优先级方案,这些寄存器显示了已经发生的中断的完整集合。
每次读取时,仅指示一个中断。读取时,当前中断(最高优先级)由硬件自动清除,同时 RIS 和 MIS 中相应的中断标志也会被清除。从 CPU(不是从调试接口)读取后,必须使用下一个最高优先级中断更新该寄存器,如果没有中断挂起,则应显示 0h。
| 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 | STAT | ||||||||||||||||||||||||||||||
| R-X | R-0h | ||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-8 | RESERVED | R | X | |
| 7-0 | STAT | R | 0h | 中断索引状态 0h = 没有设置任何位意味着没有挂起的中断请求 1h = 表示运行状况测试失败。TRNG 在中断被清除前处于错误状态。 2h = 表示刚刚发出的命令被拒绝而未在执行。 3h = 表示当前命令/模式已完成。根据模式,这可能具有不同的含义: OFF --> 电源已关闭 PWRUP_DIG --> 数字上电测试已完成 PWRUP_ANA --> 模拟上电测试已完成 NORM_FUNC --> 无 IRQ,因为模式会无限期运行,直到发出新命令 4h = 表示捕获的字缓冲区可随时复制到内存 |
图 13-7 展示了 IMASK,表 13-12 中对此进行了介绍。
返回到汇总表。
中断屏蔽。如果设置某个位,则设置相应的中断屏蔽。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R/W-X | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R/W-X | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R/W-X | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | IRQ_CAPTURED_RDY | IRQ_CMD_DONE | IRQ_CMD_FAIL | IRQ_HEALTH_FAIL | |||
| R/W-X | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-4 | RESERVED | R/W | X | |
| 3 | IRQ_CAPTURED_RDY | R/W | 0h | IRQ_CAPTURED_RDY 的屏蔽。向 CPU 指示捕获的字可随时读取。 0h = 中断被屏蔽掉 1h = 中断将请求一个中断服务例程,并且将设置 MIS 中的相应位 |
| 2 | IRQ_CMD_DONE | R/W | 0h | IRQ_CMD_DONE 的屏蔽。指示命令已完成 0h = 中断被屏蔽掉 1h = 中断将请求一个中断服务例程,并将设置 MIS 中的相应位 |
| 1 | IRQ_CMD_FAIL | R/W | 0h | IRQ_CMD_FAIL 的屏蔽中断源。表示刚刚发出的命令/模式已被拒绝。 0h = 中断被屏蔽掉 1h = 中断将请求一个中断服务例程,并且将设置 MIS 中的相应位 |
| 0 | IRQ_HEALTH_FAIL | R/W | 0h | IRQ_HEALTH_FAIL 的屏蔽。表示运行状况测试失败。 0h = 中断被屏蔽掉 1h = 中断将请求一个中断服务例程,并且将设置 MIS 中的相应位 |
图 13-8 展示了 RIS,表 13-13 中对此进行了介绍。
返回到汇总表。
原始中断状态反映所有挂起的中断,而不管屏蔽与否。RIS 寄存器允许用户实施轮询方案。即使相应的 IMASK 位未启用,也可以通过向 ICLR 寄存器位写入 1 来清除该寄存器中设置的标志。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-X | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-X | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-X | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | IRQ_CAPTURED_RDY | IRQ_CMD_DONE | IRQ_CMD_FAIL | IRQ_HEALTH_FAIL | |||
| R-X | R-0h | R-0h | R-0h | R-0h | |||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-4 | RESERVED | R | X | |
| 3 | IRQ_CAPTURED_RDY | R | 0h | 向 CPU 指示捕获的字可随时读取。读取 IIDX 将清除该中断。 0h = IRQ_CAPTURED_READY 未发生 1h = IRQ_CAPTURED_READY 已发生 |
| 2 | IRQ_CMD_DONE | R | 0h | IRQ_CMD_DONE 的原始中断源。表示发出的命令/模式已完成。 0h = IRQ_CMD_DONE 未发生 1h = IRQ_CMD_DONE 已发生 |
| 1 | IRQ_CMD_FAIL | R | 0h | IRQ_CMD_FAIL 的屏蔽中断源。表示刚刚发出的命令/模式已被拒绝。 0h = IRQ_CMD_FAIL 未发生 1h = IRQ_CMD_FAIL 已发生 |
| 0 | IRQ_HEALTH_FAIL | R | 0h | 向 CPU 指示任何运行状况测试均已失败。读取 IIDX 将清除该中断。 0h = IRQ_CAPTURED_READY 未发生 1h = IRQ_CAPTURED_READY 已发生 |
图 13-9 展示了 MIS,表 13-14 中对此进行了介绍。
返回到汇总表。
屏蔽中断状态。这是 IMASK 和 RIS 寄存器的与运算。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-X | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-X | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-X | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | IRQ_CAPTURED_RDY | IRQ_CMD_DONE | IRQ_CMD_FAIL | IRQ_HEALTH_FAIL | |||
| R-X | R-0h | R-0h | R-0h | R-0h | |||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-4 | RESERVED | R | X | |
| 3 | IRQ_CAPTURED_RDY | R | 0h | CAPTURED_READY 的屏蔽中断结果。向 CPU 指示捕获的字可随时读取。读取 IIDX 将清除该中断。 0h = IRQ_CAPTURED_READY 未请求中断服务例程 1h = IRQ_CAPTURED_READY 请求中断服务例程 |
| 2 | IRQ_CMD_DONE | R | 0h | IRQ_CMD_DONE 的屏蔽中断源。表示发出的命令/模式已完成。 0h = IRQ_CAPTURED_READY 未请求中断服务例程 1h = IRQ_CMD_DONE 请求中断服务例程 |
| 1 | IRQ_CMD_FAIL | R | 0h | IRQ_CMD_FAIL 的屏蔽中断源。表示刚刚发出的命令/模式已被拒绝。 0h = IRQ_CMD_FAIL 未请求中断服务例程 1h = IRQ_CMD_FAIL 请求中断服务例程 |
| 0 | IRQ_HEALTH_FAIL | R | 0h | HEALTH_FAIL 的屏蔽中断结果。向 CPU 指示最新 1024 位窗口的任何运行状况测试均失败。 0h = IRQ_CAPTURED_READY 未请求中断服务例程 1h = IRQ_CAPTURED_READY 请求中断服务例程 |
图 13-10 展示了 ISET,表 13-15 中对此进行了介绍。
返回到汇总表。
ISET 允许通过软件设置中断(在诊断和安全检查中很有用)。向 ISET 中的某个位写入 1 将设置事件,因此相关的 RIS 位也会置位。如果通过屏蔽启用了中断,那么也会设置相应的 MIS 位。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| W- | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| W- | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| W- | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | IRQ_CAPTURED_RDY | IRQ_CMD_DONE | IRQ_CMD_FAIL | IRQ_HEALTH_FAIL | |||
| W- | W- | W- | W- | W- | |||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-4 | RESERVED | W | 0h | |
| 3 | IRQ_CAPTURED_RDY | W | 0h | 向 CPU 指示捕获的字可随时读取。读取 IIDX 或 DATA_CAPTURE 寄存器将清除此中断。 0h = 写入 0 不产生影响 1h = 设置对应于 CAPTURED_READY 的 RIS 位 |
| 2 | IRQ_CMD_DONE | W | 0h | 写入以开启 CMD_DONE IRQ。表示最后发出的 TRNG 命令已完成。 0h = 写入 0 不产生影响。 1h = 设置对应于 CMD_DONE 的 RIS 位 |
| 1 | IRQ_CMD_FAIL | W | 0h | IRQ_CMD_FAIL 的屏蔽中断源。表示刚刚发出的命令/模式已被拒绝。 0h = 写入 0 不产生影响。 1h = 设置对应于 CMD_FAIL 的 RIS 位 |
| 0 | IRQ_HEALTH_FAIL | W | 0h | 向 CPU 指示任何运行状况测试均已失败。读取 IIDX 或 DATA_CAPTURE 寄存器将清除此中断。 0h = 写入 0 不产生影响 1h = 设置对应于 HEALTH_FAIL 的 RIS 位 |
图 13-11 展示了 ICLR,表 13-16 中对此进行了介绍。
返回到汇总表。
写入 1 以清除相应的中断。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| W- | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| W- | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| W- | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | IRQ_CAPTURED_RDY | IRQ_CMD_DONE | IRQ_CMD_FAIL | IRQ_HEALTH_FAIL | |||
| W- | W- | W- | W- | W- | |||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-4 | RESERVED | W | 0h | |
| 3 | IRQ_CAPTURED_RDY | W | 0h | 向 CPU 指示捕获的字可随时读取。读取 IIDX 或 DATA_CAPTURE 寄存器将清除此中断。 0h = 写入 0 不产生影响 1h = 对应于 CAPTURED_READY 的 RIS 位被清零 |
| 2 | IRQ_CMD_DONE | W | 0h | 写入以关闭 CMD_DONE IRQ。表示最后发出的 TRNG 命令已完成。 0h = 写入 0 不产生影响。 1h = 对应于 CMD_DONE 的 RIS 位被清零 |
| 1 | IRQ_CMD_FAIL | W | 0h | IRQ_CMD_FAIL 的屏蔽中断源。表示刚刚发出的命令/模式已被拒绝。 0h = 写入 0 不产生影响。 1h = 对应于 CMD_FAIL 的 RIS 位被清零 |
| 0 | IRQ_HEALTH_FAIL | W | 0h | 向 CPU 指示任何运行状况测试均已失败。读取 IIDX 或 DATA_CAPTURE 寄存器将清除此中断。 0h = 写入 0 不产生影响 1h = 对应于 CAPTURED_READY 的 RIS 位被清零 |
图 13-12 展示了 DESC,表 13-17 中对此进行了介绍。
返回到汇总表。
该寄存器用于为需要在 MCLK 和另一个特殊时钟源之间进行选择的任何特殊模块指定时钟源选择。该寄存器预计不会出现在大多数标准 SVT 外设上,但可能出现在 ADC 等模块上。该寄存器不存在于 VDDCOREULP 域外设上并将保留,读数为 0。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MODULEID | |||||||||||||||
| R-511h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FEATUREVER | INSTNUM | MAJREV | MINREV | ||||||||||||
| R-0h | R-0h | R-0h | R-0h | ||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | MODULEID | R | 511h | 模块标识符 - 创建了一个内部 TI 页面以请求唯一模块 ID |
| 15-12 | FEATUREVER | R | 0h | 模块 *实例* 的功能集 |
| 11-8 | INSTNUM | R | 0h | 器件中的实例编号。对于具有多个实例的模块,这将是 RTL 的参数 |
| 7-4 | MAJREV | R | 0h | IP 的主要版本 |
| 3-0 | MINREV | R | 0h | IP 的次要版本 |
图 13-13 展示了 CTL,表 13-18 中对此进行了介绍。
返回到汇总表。
影响 TRNG 系统的各种参数
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R/W-X | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | PWRUP_PSTART_CFG | PWRUP_PCHRG_CFG | PWRUP_CLKDIV | ||||
| R/W-X | R/W-2h | R/W-2h | R/W-0h | ||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | DECIM_RATE | ||||||
| R/W-X | R/W-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | CMD | ||||||
| R/W-X | R/W-0h | ||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-21 | RESERVED | R/W | X | |
| 20-19 | PWRUP_PSTART_CFG | R/W | 2h | 配置脉冲启动序列长度 b00 = 已禁用 b01 = 在 10us 时上升,在 50us 时下降 b10 = 在 10us 时上升,在 70us 时下降(默认值) b11 = 在 10us 时上升,在 90us 时下降 |
| 18-17 | PWRUP_PCHRG_CFG | R/W | 2h | 配置 PCHARGE 序列长度 b00 = 已禁用 b01 = 20us PCHARGE b10 = 30us PCHARGE(默认) b11 = 40us PCHARGE |
| 16 | PWRUP_CLKDIV | R/W | 0h | 当为“1”时,上电序列将需要两倍的时间(时钟频率减半) |
| 15-11 | RESERVED | R/W | X | |
| 10-8 | DECIM_RATE | R/W | 0h | 设置抽取率。抽取因子为 n 0x0 = 抽取因子为 1(无抽取) 0x1 = 抽取因子为 2(每隔一个样本跳过) … 0x7 = 抽取因子为 8(每 8 个样本取样一次) |
| 7-2 | RESERVED | R/W | X | |
| 1-0 | CMD | R/W | 0h | 通过命令设置 TRNG 模式。直到完成前一条命令后,模式才会更新,如 IRQ_CMD_DONE 所示。 00 --> OFF 01 --> PWRUP_DIG 10 --> PWRUP_ANA 11 --> NORM_FUNC 0h = 关闭模拟源的电源并为数字接口计时 1h = 启动数字元件的上电测试序列。这将验证数字元件是否正常工作。IRQ_CMD_DONE 表示测试已完成。此测试的结果在 TEST_RESULTS 寄存器中的位 0:6 中 2h = 启动模拟 TRNG 的上电测试序列。这验证了模拟元件是否正在生成具有足够熵的序列。IRQ_CMD_DONE 表示测试已完成。此测试的结果位于 TEST_RESULTS 寄存器的位 7 中 3h = TRNG 的正常工作模式。所有元件均已开启。 |
图 13-14 展示了 STAT,表 13-19 中对此进行了介绍。
返回到汇总表。
通知运行状况测试结果、上次发出的命令和当前 FSM 状态的状态寄存器
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-X | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | FSM_STATE | ||||||
| R-X | R-0h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | ISSUED_CMD | ||||||
| R-X | R-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | REP_FAIL | ADAP_FAIL | |||||
| R-X | R-0h | R-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-20 | RESERVED | R | X | |
| 19-16 | FSM_STATE | R | 0h | 前端 FSM 的当前状态(在时钟域交叉之后)。 需要 2 次读取,因为读取其内容时可能存在亚稳态 状态: 0000:OFF 0001:PWRUP_ES 0011:NORM_FUNC 0111:TEST_DIG 1011:TEST_ANA 1010:ERROR 0010:PWRDOWN_ES |
| 15-10 | RESERVED | R | X | |
| 9-8 | ISSUED_CMD | R | 0h | 指示向 TRNG 接口发出的最后一条接受的命令。 写入有效命令后,该寄存器将更新,并且该命令将继续执行,直至设置 CMD_DONE_IRQ。 CMD_DONE_IRQ 指示状态处于 PWROFF、NORM_FUNC 或 ERROR。这些状态将接受新命令。 00 --> OFF 01 --> PWRUP_DIG 10 --> PWRUP_ANA 11 --> NORM_FUNC |
| 7-2 | RESERVED | R | X | |
| 1 | REP_FAIL | R | 0h | 表示重复计数器测试导致了最近的故障。这样,运行状况计数数字很可能不适用于完整的 1024 位窗口。 |
| 0 | ADAP_FAIL | R | 0h | 表示自适应比例测试(1、2、3 或 4 位计数器)失败,因为在最后的 1024 位窗口中计数的样片过多或过少。 |
图 13-15 展示了 DATA_CAPTURE,表 13-20 中对此进行了介绍。
返回到汇总表。
从抽取块捕获的数据
| 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 |
| BUFFER | |||||||||||||||||||||||||||||||
| R-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | BUFFER | R | 0h | 从抽取块捕获的数据 |
图 13-16 展示了 TEST_RESULTS,表 13-21 中对此进行了介绍。
返回到汇总表。
包括一个描述哪个启动测试失败的位。在数字启动验证检查中,前 8 位检查数字元件的状况,第 9 位检查熵源是否正在生成具有足够熵的样片。当命令未完成时,该寄存器将读取所有 '0s。每个测试均为低电平有效,“0”表示测试失败,“1”表示测试通过。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-X | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-X | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | ANA_TEST | ||||||
| R-X | R-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DIG_TEST | |||||||
| R-0h | |||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-9 | RESERVED | R | X | |
| 8 | ANA_TEST | R | 0h | 从启用的熵源运行完 4096 个样片,并验证所有运行状况测试均未失败,表示模拟元件生成了足够的熵 |
| 7-0 | DIG_TEST | R | 0h | 位 0 表示第一次抽取率测试和运行状况测试(验证调节、抽取和捕获的缓冲区)是否失败,位 1 表示第二次抽取测试和运行状况测试是否失败 位 0 - decim_test0 (decim = 0x0) 位 1 - decim_test1 (decim = 0x1) ... |
图 13-17 展示了 CLKDIVIDE,表 13-22 中对此进行了介绍。
返回到汇总表。
该寄存器用于指定功能时钟的模块特定的分频比,它只支持 TRNG 的偶数分频。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||||||||||
| R/W-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RATIO | ||||||||||||||
| R/W-0h | R/W-0h | ||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-3 | RESERVED | R/W | 0h | |
| 2-0 | RATIO | R/W | 0h | 选择模块时钟的分频比 0h = 不对时钟源进行分频 1h = 对时钟源进行 2 分频 3h = 对时钟源进行 4 分频 5h = 对时钟源进行 6 分频 7h = 对时钟源进行 8 分频 |