USER GUIDE / SECURITY / DTRNG / OPERATION FLOW

运行流程

中断模式

  1. 配置 DTRNG_CFG.div_num,f(dtrng_clk) = f(pclk)/(1+div_num);
  2. 使能 DTRNG,将 DTRNG_CFG.gen_en 配置为 1;
  3. 等待中断;
  4. 从 DTRNG_RANDOMNUM 寄存器读取随机数据;
  5. 清除中断,将 DTRNG_CFG.rdy_clr 设置为 1,然后将 DTRNG_CFG.rdy_clr 清除为 0。

CPU 模式

  1. 配置 DTRNG_CFG.div_num,f(dtrng_clk) = f(pclk)/(1+div_num);
  2. 使能 DTRNG,将 DTRNG_CFG.gen_en 配置为 1;
  3. 读取 DTRNG_STAT.random_rdy,直到 DTRNG_STAT.random_rdy 为 1;
  4. 从 DTRNG_RANDOMNUM 寄存器读取随机数据;
  5. 清除 random_rdy,将 DTRNG_CFG.rdy_clr 设置为 1,然后将 DTRNG_CFG.rdy_clr 清除为 0。