发 帖  
原厂入驻New

请问随机数发生器的主要特性和功能以及如何操作?

43 随机数发生器 发生器
分享
随机数发生器简介
随机数发生器主要特性
随机数发生器功能说明
随机数发生器操作
随机数发生器寄存器
0
2020-11-13 07:51:26   评论 分享淘帖 邀请回答
5个回答
  随机数发生器简介
  RNG 处理器是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个 32 位的随机数。
  RNG 已通过 FIPS PUB 140-2(2001 年 10 月 10 日)测试,成功率达 99%。
2020-11-13 11:18:13 评论

举报

  随机数发生器主要特性
  提供由模拟量发生器产生的32位随机数
  两个连续随机数的间隔为40个PLL48CLK时钟信号周期
  通过监视RNG熵来标识异常行为(产生稳定值,或产生稳定的值序列)
  可被禁止以降低功耗
2020-11-13 11:18:31 评论

举报

  随机数发生器功能说明
  
2020-11-13 11:18:44 评论

举报

  随机数发生器操作
  要运行 RNG,请按以下步骤操作:
  如果需要,使能中断(为此,将 RNG_CR 寄存器中的 IE 位置 1)。准备好随机数时或出现错误时生成中断。
  通过将 RNG_CR 寄存器中的 RNGEN 位置 1 使能随机数产生。这会激活模拟部分、RNG_LFSR 和错误检测器。
  每次中断时,检查确认未出现错误(RNG_SR 寄存器中的 SEIS 和 CEIS 位应为 0),并且随机数已准备就绪(RNG_SR 寄存器中的 DRDY 位为 1)。然后即可读取 RNG_DR寄存器中的内容。
  按照 FIPS PUB(联邦信息处理标准出版物)140-2 的要求,将 RNGEN 位置 1 后产生的第一个随机数不应使用,但应保存起来,与产生的下一个随机数进行比较。随后产生的每个随机数都需要与产生的上一个随机数进行比较。如果任何一对进行比较的数字相等,则测试失败(连续随机数发生器测试)。
2020-11-13 11:19:00 评论

举报

  随机数发生器寄存器
  5.1 RNG 控制寄存器 (RNG_CR)
  RNG control register
  偏移地址:0x00
  复位值:0x0000 0000
  
  位 31:4 保留,必须保持复位值
  位 3 IE :中断使能 (Interrupt enable)
  0:禁止 RNG 中断。
  1:使能 RNG 中断。只要 RNG_SR 寄存器中 DRDY=1 或 SEIS=1 或 CEIS=1,就会挂起中断。
  位 2 RNGEN :随机数发生器使能 (Random number generator enable)
  0:禁止随机数发生器。
  1:使能随机数发生器。
  位 1:0 保留,必须保持复位值
  5.2 RNG 状态寄存器 (RNG_SR)
  RNG status register
  偏移地址:0x04
  复位值:0x0000 0000
  
  位 31:3 保留,必须保持复位值
  位 6 SEIS :种子错误中断状态 (Seed error interrupt status)
  此位与 SECS 同时设置,通过向其写入 0 来清零。
  0:未检测到错误序列
  1:检测到以下错误序列之一:
  — 超过 64 个连续位具有相同值(0 或 1)
  — 超过 32 个连续交替的 0 和 1 (0101010101…01)
  如果 RNG_CR 寄存器中 IE = 1,则会挂起中断。
  位 5 CEIS :时钟错误中断状态 (Clock error interrupt status)
  此位与 CECS 同时设置,通过向其写入 0 来清零。
  0:正确检测到 PLL48CLK 时钟
  1:未正确检测到 PLL48CLK 时钟 (f PLL48CLK 《 f HCLK /16)
  如果 RNG_CR 寄存器中 IE = 1,则会挂起中断。
  位 4:3 保留,必须保持复位值
  位 2 SECS :种子错误当前状态 (Seed error current status)
  0:目前未检测到错误序列。如果 SEIS 位置 1,则意味着已检测到错误序列并已恢复正常。
  1:检测到以下错误序列之一:
  — 超过 64 个连续位具有相同值(0 或 1)
  — 超过 32 个连续交替的 0 和 1 (0101010101…01)
  位 1 CECS :时钟错误当前状态 (Clock error current status)
  0:正确检测到 PLL48CLK 时钟。如果 CEIS 位置 1,则意味着已检测到时钟错误并已恢复
  正常。
  1:未正确检测到 PLL48CLK 时钟 (f PLL48CLK 《 f HCLK /16)。
  位 0 DRDY :数据就绪 (Data ready)
  0:RNG_DR 寄存器尚未有效,无可用随机数据
  1:RNG_DR 寄存器包含有效随机数据
  注意:如果 RNG_CR 寄存器中 IE = 1 ,则会挂起中断。
  读取 RNG_DR 寄存器后,此位恢复到 0 ,直到计算出新的有效值
  5.3 RNG 数据寄存器 (RNG_DR)
  RNG data register
  偏移地址:0x08
  复位值:0x0000 0000
  RNG_DR 寄存器是只读寄存器,在读取时提供 32 位随机数值。读取后,此寄存器在最多40 个 PLL48CLK 时钟周期后,提供新的随机数值。在读取 RNDATA 值之前,软件必须检查DRDY 位是否已置 1。
  
  5.4 RNG寄存器映射
  
2020-11-13 11:19:24 评论

举报

只有小组成员才能发言,加入小组>>

320个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表