STM32L1xx: ADC als Zufallsgenerator

Gast #4659775
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
Gast #4659881
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...
Gast #4660431
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?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.