0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过四个异步振荡器的真实随机数生成器骰子设计

电子设计 来源:与非网 作者:与非网 2021-02-01 14:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

该项目描述了如何设计一个7段1位LED显示屏的从1到6的真正随机数发生器。

硬件部件

Dialog Semiconductor GreenPAK高级开发板SLG4DVKADV× 1个

Dialog Semiconductor SLG46826× 1个

该项目描述了如何设计Digital Dice,这是一个从1到6的真实随机数生成器。可以使用此设备代替常用的骰子。它具有一个1位数的7段LED显示屏和两个按钮:“运行”和“显示上一个”。数码骰子可以由单个CR2032电池供电。它没有开机开关,因为闲置时的功耗极低。

o4YBAGAXoM6ADeegAAL6JTVurwM077.png

图1:数字骰子示意图

下面我们描述了了解解决方案如何设计数字骰子所需的步骤。但是,如果您只想获取编程结果,请下载GreenPAK软件以查看已完成的GreenPAK设计文件。将GreenPAK开发套件插入计算机,然后点击程序来设计解决方案。

设备架构

o4YBAGAXoN6ACBQbAAOLepdkQmk918.png

图2:GreenPAK6 Designer项目

该设计包含以下块:

熵产生器

熵发生器由四个异步振荡器组成。其中两个是使用具有延迟(1 MHz和6.5 MHz)的反向闭环LUT构建的。另外两个是GreenPAK的OSC1(2.048 MHz,除以3)和OSC2(25 MHz,除以2)。

向XNOR门输入一些异步时钟信号足以在其输出上获得不可预测的信号(噪声或熵)。但是SLG46826V中的宏单元可以使解决方案更加复杂。再使用一个振荡器和DFF,我们得到一个完全随机的信号。

pIYBAGAXoPGAaDekAAHzQVTeTa4801.png

图3:熵产生器

线性反馈移位寄存器

3位LFSR使用三个DFF和一个XNOR门构建。每个输入时钟的该块都会生成一个3位的伪随机数。此处,噪声信号代替时钟脉冲进入LFSR的输入,从而生成一个真正的随机3位数字。

o4YBAGAXoQSAIZhMAAFlmJpuQ9k379.png

图4:LFSR

二进制至7段解码器

为了转换由LSFR生成的3位随机数,使用了二进制至7段解码器,请参见图3。解码器由3位LUT构建。

pIYBAGAXoROAAceOAAOYbJ6_LQ8800.png

图5:二进制到7段解码器

控制单元

控制单元是设备的一部分,旨在在3秒钟后启动并停止。两个引脚被配置为输入,并且两个按钮必须从VDD连接到这些引脚。按下“运行”按钮时,设备将连续生成随机数。释放按钮后,立即停止生成,LFSR锁存其输出。解码器随后驱动7段显示器。3秒钟后,数字骰子将进入空闲状态。该设备仍处于开机状态,但是由于所有振荡均已关闭,因此电流消耗极低。这使设备可以“记住”最后生成的随机数。如果按下“显示上一个”按钮,将显示最后生成的随机数,直到释放该按钮。因为数字骰子旨在替代普通骰子,所以当出现“ 0”或“ 7”时,将使用3位LUT12重新启动它。这样可以确保设备生成1到6之间的随机数。

o4YBAGAXoSSATjgAAAIdQf1vbUI224.png

图6:控制单元

宏单元设置

对于每个宏单元,设置请参考下表。

pIYBAGAXoT2AVNueAARNB6t5ctY997.png

表1. LUT设置

pIYBAGAXoVOAI3b0AAE3wY8UfNc707.png

表2:DFF设置

o4YBAGAXoWGARrcCAAGSvfeLqLs175.png

表3:CNT / DLY设置

表6:OSC设置

pIYBAGAXoaOAW26yAAFw9bZ4ivY024.png

表7:PIN设置

结论

数字骰子可以替代赌场中的普通骰子,也可以在需要骰子的任何其他游戏中使用。它具有一个熵生成器,该熵生成器在按下“运行”按钮时会不断生成3位随机数。它仅在释放按钮时停止并显示结果,因此人为因素也会影响所生成的随机数。四个异步振荡器以及人为按下按钮的可变性使该设备完全不可预期地不可预测
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    244

    文章

    24780

    浏览量

    693452
  • 解码器
    +关注

    关注

    9

    文章

    1226

    浏览量

    43842
  • 振荡器
    +关注

    关注

    28

    文章

    4199

    浏览量

    143282
  • 随机数发生器

    关注

    0

    文章

    25

    浏览量

    11295
  • dff
    dff
    +关注

    关注

    0

    文章

    26

    浏览量

    3890
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ICS2008B:SMPTE时间码接收/生成器的技术解析

    ICS2008B:SMPTE时间码接收/生成器的技术解析 在多媒体技术飞速发展的今天,时间码的精确控制对于音视频同步至关重要。ICS2008B作为一款SMPTE时间码接收/生成器
    的头像 发表于 04-13 18:10 464次阅读

    探索ICS9FG104E:PCIe Gen1/2、USB3.0等设备的频率生成器解决方案

    探索ICS9FG104E:PCIe Gen1/2、USB3.0等设备的频率生成器解决方案 在电子设备的设计中,频率生成器扮演着至关重要的角色,它为各种高速接口提供稳定的时钟信号,确保设备的正常运行
    的头像 发表于 03-29 17:05 985次阅读

    探索Renesas 9FGV0431:低功耗PCIe时钟生成器的卓越之选

    探索Renesas 9FGV0431:低功耗PCIe时钟生成器的卓越之选 引言 在当今的电子设计领域,PCIe技术的广泛应用对时钟生成器提出了更高的要求。Renesas的9FGV0431作为一款专为
    的头像 发表于 03-15 17:25 1270次阅读

    硅臻正式推出QRNG全系列量子随机数发生产品

    信息安全是社会稳定的必要条件,数字时代其重要性更是愈发凸显。无论在经典还是量子加密的过程中,随机数都是安全性的基石。加密密钥由随机数生成,安全性由随机数的不可预测性保证。与伪
    的头像 发表于 03-10 16:24 489次阅读
    硅臻正式推出QRNG全系列量子<b class='flag-5'>随机数</b>发生<b class='flag-5'>器</b>产品

    飞凌嵌入式ElfBoard-系统信息与资源之产生随机数

    整数,作为随机数生成器的种子值。它决定了 rand() 函数生成随机数序列的起始点。4.返回值无。5.示例:(使用rand函数产生一组随机数
    发表于 01-22 08:59

    如何在LTspice仿真中实现伪随机数和真随机数生成

    to reseed the MC generator(使用时钟重新设置MC生成器随机种子)选项。文章探讨了伪随机数和真随机数之间的利弊权衡,同时比较了蒙特卡罗统计仿真与更有针对性的
    的头像 发表于 01-09 14:08 4947次阅读
    如何在LTspice仿真中实现伪<b class='flag-5'>随机数</b>和真<b class='flag-5'>随机数</b>的<b class='flag-5'>生成</b>

    德思特应用 | 前沿量子随机数研究:多特蒙德工业大学如何通过高速数字化仪保障信息安全

    在量子信息时代,生成真正随机的数字对加密与安全至关重要。多特蒙德工业大学研究人员利用高速数字化仪对量子随机数生成过程进行多通道采集与分析,成功实验评估窃听风险,为密码协议与安全应用提供
    的头像 发表于 12-22 17:22 596次阅读
    德思特应用 | 前沿量子<b class='flag-5'>随机数</b>研究:多特蒙德工业大学如何<b class='flag-5'>通过</b>高速数字化仪保障信息安全

    MEMS振荡器的应用

    MEMS振荡器的应用大致分为7大方向
    的头像 发表于 11-21 15:37 2271次阅读
    MEMS<b class='flag-5'>振荡器</b>的应用

    如何通过地址生成器实现神经网络特征图的padding?

    ,从而使卷积输出特征图结果满足我们的需求,这种补零的操作称之为padding,如下图所示。 关于padding的实现,一般有两种操作,第一种是使用稀疏地址生成器,寻找padding数据地址的规律,当
    发表于 10-22 08:15

    ‌基于RNG90的真随机数生成器技术解析与应用指南

    Microchip Technology RNG90 CryptoAuthentication™器件设计用于需要安全随机数发生的系统。RNG90即用型,无需任何定制。Microchip RNG90
    的头像 发表于 10-10 15:01 938次阅读
    ‌基于RNG90的真<b class='flag-5'>随机数</b><b class='flag-5'>生成器</b>技术解析与应用指南

    ‌LMK61E0M可编程振荡器技术文档总结

    EEPROM自启动以生成出厂编程的默认输出频率的功能,或者器件寄存和EEPROM设置可通过I在系统内完全编程^2^C串行接口。该器件通过I提供精细和粗略的频率裕度控制^2^C 串行接
    的头像 发表于 09-13 09:46 1484次阅读
    ‌LMK61E0M可编程<b class='flag-5'>振荡器</b>技术文档总结

    ‌LMK61E07可编程振荡器技术文档总结

    具有从片上EEPROM自启动以生成出厂编程的默认输出频率的功能,或者器件寄存和EEPROM设置可通过I 2C串行接口在系统内完全编程。该器件通过 I 2C 串行接口提供精细和粗暴的频
    的头像 发表于 09-12 14:37 1275次阅读
    ‌LMK61E07可编程<b class='flag-5'>振荡器</b>技术文档总结

    ‌LMK61E08 超低抖动可编程振荡器技术文档总结

    具有从片上EEPROM自启动以生成出厂编程的默认输出频率的功能,或者器件寄存和EEPROM设置可通过I在系统内完全编程^2^C串行接口。该器件通过 I 提供精细和粗暴的频率裕度控制^
    的头像 发表于 09-12 10:07 1247次阅读
    ‌LMK61E08 超低抖动可编程<b class='flag-5'>振荡器</b>技术文档总结

    随机数和伪随机数的区别

    随机数在当前程序运行环境中是一种常用参数,目前主要分为两种,伪随机数和真随机数,本期我们就来讲一下二者的区别。
    的头像 发表于 08-27 17:46 2994次阅读

    晶体振荡器如何失效?

    遵循最严格的设计和制造标准。在石英晶体振荡器振荡过程中,电信号从两电容器中的一电容器传输到石英晶体,然后以连续循环的方式返回另一电容
    发表于 06-16 09:20