ZHDU116G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
当数据准备好传输(或警报被触发)时,会生成中断请求 TRNG_IRQ。表 19-1 列出了可能导致模块中断的事件标志及其掩码。
| 事件标志 | 事件屏蔽 | 说明 |
|---|---|---|
| TRNG:IRQSTAT.STAT | TRNG:IRQFLAGMASK.RDY 和 TRNG:IRQFLAGMASK. SHUTDOWN_OVF | 未使用,但可以读取以获取两个可用中断的组合状态 |
| TRNG:IRQFLAGSTAT.RDY | TRNG:IRQFLAGMASK.RDY | 当为 1 时,表示 TRNG:OUT1 和 TRNG:OUT0 寄存器中有可用数据。使用 TRNG:IRQFLAGCLR.RDY 将其清除。 |
| TRNG:IRQFLAGSTAT. SHUTDOWN_OVF | TRNG:IRQFLAGMASK. SHUTDOWN_OFV | 当为 1 时,表示在第二次错误事件后关闭的 FRO 数量(TRNG:ALARMSTOP 寄存器中为 1 的位数量)已超过 TRNG:ALARMCNT.SHUTDOWN_THR 寄存器设置的阈值。使用 TRNG:IRQFLAGCLR.SHUTDOWN_OVF 寄存器将其清除。 |
主机可以使用 TRNG:ALARMCNT 寄存器以及 TRNG:ALARMMASK 和 TRNG:ALARMSTOP 寄存器来确定 FRO 或采样周期锁定是否存在问题。
在功能模式下,使用各个 FRO 的采样输出执行锁定检测。当连续检测到重复模式(最多四个样本长度)达到 TRNG:ALARMCNT:ALARM_THR 寄存器定义的样本数量时,将声明 FRO 警报事件。通过在 TRNG:ALARMMASK 寄存器中设置一个位来精确定位 FRO,从而记录该警报事件。如果已设置 TRNG:ALARMMASK 寄存器中的该位,则会设置 TRNG:ALARMSTOP 寄存器中的相应位,并关闭 FRO,以防止来自该 FRO 的进一步警报事件。如果尚未设置 TRNG:ALARMMASK 寄存器位,则 FRO 会自动重新启动,以尝试打破锁定。如果一个 FRO 在解调和重新启用后再次被锁定,软件必须使该 FRO 保持禁用状态。
TRNG:ALARMCNT.SHUTDOWN_CNT 寄存器位字段记录已关闭的 FRO 的数量(实际上,它是对 TRNG:ALARMSTOP 寄存器中为 1 的位数的计数)。TRNG:ALARMCNT.SHUTDOWN_THR 寄存器位字段允许设置一个可配置的阈值,以生成 SHUTDOWN_OVF 中断。当 TRNG:ALARMCNT.SHUTDOWN_CNT 寄存器超过 TRNG:ALARMCNT.SHUTDOWN_THR 寄存器时,TRNG:IRQFLAGSTAT.SHUTDOWN_OVF 寄存器位会设置为 1,这可用于生成中断。