該項目描述了如何設計一個7段1位LED顯示屏的從1到6的真正隨機數發生器。
硬件部件
Dialog Semiconductor GreenPAK高級開發板SLG4DVKADV× 1個
Dialog Semiconductor SLG46826× 1個
該項目描述了如何設計Digital Dice,這是一個從1到6的真實隨機數生成器。可以使用此設備代替常用的骰子。它具有一個1位數的7段LED顯示屏和兩個按鈕:“運行”和“顯示上一個”。數碼骰子可以由單個CR2032電池供電。它沒有開機開關,因為閑置時的功耗極低。
圖1:數字骰子示意圖
下面我們描述了了解解決方案如何設計數字骰子所需的步驟。但是,如果您只想獲取編程結果,請下載GreenPAK軟件以查看已完成的GreenPAK設計文件。將GreenPAK開發套件插入計算機,然后點擊程序來設計解決方案。
設備架構
圖2:GreenPAK6 Designer項目
該設計包含以下塊:
熵產生器
熵發生器由四個異步振蕩器組成。其中兩個是使用具有延遲(1 MHz和6.5 MHz)的反向閉環LUT構建的。另外兩個是GreenPAK的OSC1(2.048 MHz,除以3)和OSC2(25 MHz,除以2)。
向XNOR門輸入一些異步時鐘信號足以在其輸出上獲得不可預測的信號(噪聲或熵)。但是SLG46826V中的宏單元可以使解決方案更加復雜。再使用一個振蕩器和DFF,我們得到一個完全隨機的信號。
圖3:熵產生器
線性反饋移位寄存器
3位LFSR使用三個DFF和一個XNOR門構建。每個輸入時鐘的該塊都會生成一個3位的偽隨機數。此處,噪聲信號代替時鐘脈沖進入LFSR的輸入,從而生成一個真正的隨機3位數字。
圖4:LFSR
二進制至7段解碼器
為了轉換由LSFR生成的3位隨機數,使用了二進制至7段解碼器,請參見圖3。解碼器由3位LUT構建。
圖5:二進制到7段解碼器
控制單元
控制單元是設備的一部分,旨在在3秒鐘后啟動并停止。兩個引腳被配置為輸入,并且兩個按鈕必須從VDD連接到這些引腳。按下“運行”按鈕時,設備將連續生成隨機數。釋放按鈕后,立即停止生成,LFSR鎖存其輸出。解碼器隨后驅動7段顯示器。3秒鐘后,數字骰子將進入空閑狀態。該設備仍處于開機狀態,但是由于所有振蕩均已關閉,因此電流消耗極低。這使設備可以“記住”最后生成的隨機數。如果按下“顯示上一個”按鈕,將顯示最后生成的隨機數,直到釋放該按鈕。因為數字骰子旨在替代普通骰子,所以當出現“ 0”或“ 7”時,將使用3位LUT12重新啟動它。這樣可以確保設備生成1到6之間的隨機數。
圖6:控制單元
宏單元設置
對于每個宏單元,設置請參考下表。
表1. LUT設置
表2:DFF設置
表3:CNT / DLY設置
表6:OSC設置
表7:PIN設置
結論
數字骰子可以替代賭場中的普通骰子,也可以在需要骰子的任何其他游戲中使用。它具有一個熵生成器,該熵生成器在按下“運行”按鈕時會不斷生成3位隨機數。它僅在釋放按鈕時停止并顯示結果,因此人為因素也會影響所生成的隨機數。四個異步振蕩器以及人為按下按鈕的可變性使該設備完全不可預期地不可預測
編輯:hfy
-
led
+關注
關注
242文章
23153瀏覽量
658617 -
解碼器
+關注
關注
9文章
1131瀏覽量
40684 -
振蕩器
+關注
關注
28文章
3814瀏覽量
138912 -
隨機數發生器
+關注
關注
0文章
21瀏覽量
11004 -
dff
+關注
關注
0文章
26瀏覽量
3400
發布評論請先 登錄
相關推薦
評論