Hallo Mark,
>Man könnte das thermische Rauschen eines analogen Bauteils per
>A/D-Wandler auslesen. Ist bestimmt super um echte Zufallszahlen zu
>bekommen.
Damit ist es leider nicht getan. Es geht ja nicht nur darum eine Zahl zu
erzeugen, von der du vorher nicht weißt, wie sie aussieht, sondern auch
darum, daß die Zufallszahlen in dem gewünschten Bereich gleichverteilt
sind. Und das ist bei einer solchen Anordnung eher nicht der Fall, weil
beispielsweise die Zufallszahl die dem Ruhepegel der Eingangsspannung
entspricht, viel häufiger vorkommt, als die zu Rauschspitzen gehörenden
Zufallszahlen.
Man könnte versuchen, daß Wandlungsergebnis so zu interpretieren, daß
Rauschspitzen, die über dem Ruhepegel liegen eine logische "1" ergeben
sollen, und Rauschspitzen unter dem Ruhepegel eine logisch "0". Man
würde dann bei jedem Lesen des ADC ein Zufallsbit erzeugen.
Damit ist es aber leider auch noch nicht getan, da durch einen eventuell
leichten Versatz des Ruhepegels gegenüber der exakten zugehörigen
Schaltschwelle im ADC die Nullen und Einsen wieder nicht ganz
gleichverteilt sind.
Vor einiger Zeit habe ich mal einen Zufallsgenerator wie im Anhang
aufgebaut. Hier wird das thermische Widerstandsrauschen verstärkt,
bandbreitenbegrenzt und dann auf einen Schmitt-Trigger gegeben. Die
Bandbreitenbegrenzung ist sinnvoll, damit tieffrequentes Rauschen nicht
dominiert und die Schaltung bei Übersteuerung nicht für längere Zeit
lahmlegt. Mit den beiden Hochpässen erzwinge ich, daß der Komparator
schnell genung hin- und herschaltet.
Ein nachfolgendes Flip-Flop sorgt für eine Vergleichmäßigung der
0-1-Verteilung.
Die endliche Slew Rate am Ausgang des MCP601 verhindert, daß der
Schmitt-Trigger zu schnell umschaltet und das erste Flipflop eventuell
metastabil wird.
Natürlich ist der Aufbau der Schaltung einigermaßen kritisch. Die
Signalmasse dieser Schaltung muß vollkommen isoliert sein und darf nur
an den gezeichneten Anschlüssen mit dem Rest der Schaltung verbunden
werden. Abschirmung der Schaltung ist ein Muß!
Zwischen dem Auslesen der Zufallsbits sollten übrigens möglichst lange
Zeitspannen liegen, mindestens 10msec, besser daber deutlich mehr.
Kai Klaas