"Jeder, der arithmetische Methoden zur Erzeugung zufälliger Ziffern in Betracht zieht, befindet sich natürlich in einem Zustand der Sünde." - - John Von Neumann
Eine gute Rauschquelle ist das Durchbruchrauschen einer Zenerdiode. Das folgende einfache Schema zeigt, wie Sie weißes Rauschen von einem Zener erhalten, indem Sie zwei LNAs (Low Noise Amplifiers) kaskadieren, um den Rauschpegel zu erhöhen.
Wenn Sie sich nicht dafür interessieren, dass das Rauschen weiß ist, können Sie einfach einen Operationsverstärker mit hoher Verstärkung verwenden, dem ein Komparator folgt. Die Verstärkung des Operationsverstärkers begrenzt die Bandbreite und damit die Änderungsrate Ihres digitalen Signals. Falls erforderlich, kaskadieren Sie zwei Operationsverstärker wie die LNAs im angegebenen Schema, um einen schnelleren zufälligen Bitstrom zu erhalten.
Sie können das SPI-Modul verwenden, um Bytes zufälliger Bits von dieser Schaltung zu takten.
(Der SPI ist nur eine einfache Möglichkeit, 8 zufällige Bits automatisch zu erfassen. Er fügt keine Determinismusstufe hinzu: Die Eingabe ändert sich kontinuierlich und zufällig, und Sie wissen nie, wie sie bei der nächsten Taktflanke aussehen wird. Sie können auch eine lesen E / A-Pin und verschieben Sie den Pegel dieses Bits in Ihr Ergebnisbyte.)
Diese Schaltung ist eine mögliche alternative Lösung, die auch auf einer Zenerdiode als Rauschquelle beruht:
Das Schema erwähnt den OPA2340 für den Verstärker, ist aber auf dem Komparator nicht klar. Während der OPA2340 relativ schnell ist, würde ich vorschlagen, hier einen echten Komparator zu verwenden , da diese normalerweise viel schneller als Opamps sind. Beispielsweise hat der TL3016 eine Ausbreitungsverzögerung von weniger als 10 ns und eine typische Anstiegszeit von 0,5 ns. Dies bedeutet, dass Sie Zufallswerte schneller abtasten können, ohne das Risiko einer Kohärenz zwischen aufeinanderfolgenden Stichproben.
Um den Zufallszahlengenerator zu testen, können Sie die Normalität testen . Dies bedeutet, dass eine lange Folge von Zufallszahlen erstellt wird. Je länger, desto besser. Am besten transportieren Sie es zur Analyse auf den PC. Zähle die Ein-Bit-Sequenzen, das sind die 0
s und 1
s. Es sollte ungefähr die gleiche Anzahl von jedem sein. Nächste Wiederholung für Zwei-Bit-Sequenzen. Es sollte so viele 00
s wie 01
s, 10
s und 11
s geben. Wiederholen Sie dies für Drei-Bit-Sequenzen usw.
Ich bin kein Statistiker, daher kann es bessere / einfachere Tests geben. Fühlen Sie sich frei, sie hinzuzufügen.