Hallo zusammen, ich benötige auf einem STM32L1xx einfache Zufallszahlen. Dachte ich nehme dazu den ADC. So zufällig sind die Werte jedoch leider nicht, obwohl der Pin floated. Gibt es irgendwelche Tipps & Tricks, wie man das Rauschen am Pin verbessern kann? Danke & Grüße Mike
Nimm für eine Zufallszahl mit n Bits von jeweils n ADC-Messungen das LSB. Danach kopierst Du die n LSBs an die n Bitstellen Deiner Zufallszahl - fertig. Gruß, Stefan
Du könntest das Johnson-Nyquist-Rauschen eines Widerstands messen, wenn der ADC empfindlich genug ist. (Siehe https://www.av8n.com/turbid/paper/turbid.htm für eine theoretisch Herleitung.) Ansonsten musst du halt noch mehrere ADC-Messungen kombinieren (am besten mit einem Hash, z.B. CRC).
Stefan K. schrieb: > Nimm für eine Zufallszahl mit n Bits von jeweils n ADC-Messungen das > LSB. Danach kopierst Du die n LSBs an die n Bitstellen Deiner > Zufallszahl - fertig. Ok. Danke. Werde mal die Idee mal probieren. Clemens L. schrieb: > wenn > der ADC empfindlich genug ist. Der interne ADC des STM32L1xx halt. Max. 12 Bit. Nicht genug allem Anschein nach. Clemens L. schrieb: > (am besten mit einem Hash, z.B. CRC). Benötigt zusätzlichen Sourcecode und Rechenzeit...
Püh, mit dem Zufall ist es genau das gleiche Problem, wie beim Bau eines Verstärkers / Oszillators: Wenn er verstärken soll, schwingt er, wenn er schwingen soll, tut sich GARNICHTS. Ein langer Draht fängt dir vielleicht nur blitzsauberen Netzsinus ein. Recht vorhersagbar! (Auch schon mal vorgekommen...) So ein offener ADC-Eingang kann durch minimale Leckströme auch gerade am Anschlag (GND, oder V+) verweilen - da hilft auch keine Mittelung über 3141592 Perioden.... Wenn es wirklich halbwegs zuverlässiger ZUFALL sein soll, kommst du um eine Rauschquelle nicht herum. Wenn Pseudozufall reicht, hilft eine angemessene (evetuell gestaffelte LFSR-Simulation im µC-Programm. Kostet nur wenige µC-Takte pro Zufallszahl. Also reine Software - nur der ZUFÄLLIGE Startwert muss aus einer, oder (besser) mehreren zeitlich ungenauen Tastenbetätigungen hergeleitet werden. ECHTER Zufall kommt am Einfachsten aus dem Rauschen einer falsch gepolten Transistor-BE-Strecke mit Verstärkung. Kostet also eine Betriebsspannung > 7 V und noch einen OP, oder 1...2 Transistoren für ausreichende Verstärkung. UND (!) gutes Abblocken der Versorgung der Rauschquelle, damit es ECHT zufällig bleibt. Wer bietet weniger Aufwand für vergleichbare / bessere Ergebnisse?
war erst vor kurzem nen Thread zu dem Thema hier im Forum: Beitrag "True Random Generator mit STM32F0"
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.