Rauschgenerator mit Komparator - LM393 vs PIC

Gast #4058775
Lesenswert?

Hallo,


ich habe mit einem LM393 den genial einfachen Rauschgenerator aus Julien 
Thomas' XR232USB (USB-Zufallsgenerator) nachgebaut, siehe Anhang. Nun 
gibt es in meinem Controller (PIC16F1719) schon zwei Komparatoren, die 
ich gerne dafür nutzen würde. Aber der gleiche Aufbau mit den internen 
Komparatoren des PIC gibt nur eine niederfrequente Schwingung am ersten 
und Stille am zweiten Komparator. Die LM393-Schaltung dagegen läuft 
schon ohne Puffer-Stufe stabil, man kann z.B. einen kleinen Piezo an den 
Ausgang des ersten Komparators hängen und direkt das Rauschen hören.

Ich habe die Schaltung mit zwei PICs aufgebaut, bei beiden ist das 
gleiche Knattern zu hören. Natürlich sind Filter und Hysterese 
abgeschaltet, trotzdem verhalten sich die Komparatoren so, als hätten 
sie eine. Durch Variation der Widerstände lässt sich die 
Knatter-Frequenz zu einem Fiepen steigern, lange Kabel führen manchmal 
zu sogar einer gewissen Zufälligkeit, aber so richtig rauschen tut es 
nicht.

Sind die internen Komparatoren im PIC grundsätzlich anders als ein 
LM393?
Angehängte Dateien:
#4059047
Lesenswert?

Der 1. Komparator wird als analoger Verstärker betrieben. Das ist bei 
den meisten Komparatoren nicht definiert. Wenn der Komparator im PIC 
eine interne Hysterese hat (was sehr wahrscheinlich ist), wird die 
Schaltung um den 1. Komparator zu einem Oszillator mit mehr oder weniger 
definierter Frequenz (ca. 1/ (100 nF*220 K) * Vcc/Hysterese ).
Gast #4059121
Lesenswert?

Ja, so scheint es. Die Hysterese ist aber extra anschaltbar, daher würde 
ich davon ausgehen, dass sie auch wirklich aus ist, wenn das 
entsprechende Bit nicht gesetzt ist. Im Datenblatt ist die Hysterese 
auch nur für den angeschalteten Fall angegeben.

Wenn ich die 100 nF vom ersten Komparator abklemme und dann den Ausgang 
berühre, gibt es für ca. 1/2 Sekunde richtiges Rauschen, siehe Bild. 
Vielleicht kann man es so einstellen, dass es dauerhauft bleibt.
Angehängte Dateien:
#4059676
Lesenswert?

Bei einen R2R Comparator ist die Funktion der 1. Stufe undefiniert.
Hat diese einen positiven Offset, bleibt der Ausgang konstant auf VCC, 
denn der -Eingang kann ja nicht höher als VCC gehen. Da rauscht dann 
definitiv nichts.

Ich vermute mal, die Schaltung ist rein zufällig entstanden. Der Autor 
hat nicht dran gedacht, daß der LM393 nicht R2R ist und ihn 
versehentlich außerhalb des Common Mode Bereichs betrieben.
#4059701
Lesenswert?

Der LM393 arbeitet hier nur mit der (-) Seite seines 
Differenzverstärkers, und zwar bei Vcc - 1,xV, haarscharf an der 
Spannungsgrenze der Eingangstransistoren entlang. D.h. der normalerweise 
mit konstantem Summenstrom arbeitende Differenzverstärker ist hier 
weitgehend abgedreht und arbeitet mit weit niedrigerem Strom.

Das dies ein völlig anderes Verhalten des ICs zur Folge haben kann, als 
im normalen Arbeitsbereich, dürfte nicht überraschen. Kann schon sein, 
dass man mit einem anderen Komparator ohne Signalrückkopplung ebenfalls 
ein nichtdeterministisches Verhalten herbeizaubern kann, aber es ist 
nicht gewährleistet.
Gast #4059839
Lesenswert?

Wenn man die 10k zwischen Ausgang und VCC überbrückt, rauscht es. Aber 
ob es gut ist, den Ausgang direkt mit VCC zu verbinden...

Peter Dannegger schrieb:

> Ich vermute mal, die Schaltung ist rein zufällig entstanden. Der Autor
> hat nicht dran gedacht, daß der LM393 nicht R2R ist und ihn
> versehentlich außerhalb des Common Mode Bereichs betrieben.

Das Projekt ist hier beschrieben: http://www.jtxp.org/tech/xr232usb.htm

Ich habe den Rauschgenerator-Teil nachgebaut und ein bisschen 
rumprobiert, ohne wirklich nachzuvollziehen, wie er funktioniert.

Ich finde den Eingang an VCC auch komisch. Ich würde eigentlich denken, 
dass man einen Spannungsteiler aufbaut, so wie am 2. Komparator. Diese 
Spannung auf beide Eingänge, über jeweils einen weiteren Widerstand.
Dann den Ausgang über einen großen Widerstand an den negativen Eingang 
und hoffen dass es nicht oszilliert, sondern rauscht. Werds mal 
ausprobieren.
Gast #4059901
Lesenswert?

Es funktioniert mit besagtem Spannungsteiler (4k7 und nochmal 220k vor 
jedem Eingang), wenn der Ausgang ohne R an den negativen Eingang 
angeschlossen und mit 100 nF gepuffert ist. Das Rauschen ist lauter als 
mit dem LM393, allerdings ist das ganze System störanfällig, z.B. auch 
durch Last an der Puffer-Stufe. Vielleicht geht es ja noch stabiler mit 
anderen Paramtern.

Wäre doch schön, einen analogen Rauschgenerator und echten Zufall direkt 
im µC zu haben.
Gast #4060025
Lesenswert?

Sorry, dass ich mich hier die ganze Zeit öffentlich mit mir selbst 
unterhalte. Mit 100 nF am negativen Eingang läuft es jetzt stabil.

Ich habe keinen Entropie-Test gemacht, aber anhören tut es sich nach 
sauberem weißen Rauschen (brauche es eh nur für Audio).

Ist das jetzt besser als den + Eingang an VCC? Ich habe beide Varianten 
nochmal angehängt, zur besseren Übersicht ohne die Pufferstufe.
Angehängte Dateien:
Gast #4065027
Lesenswert?

Ich muss mich korrigieren: Der Plan in pic_comparator_noise_3.png stimmt 
nicht. Die 10k (wie in xr232_noise.png ganz oben zu sehen) müssen 
gekappt werden und die 220k überbrückt. Allerdings gibt dieser Aufbau 
gerade ein unschön knisterndes Rauschen.

@ Terotec:

pic_comparator_noise_2.png ist der komplette Plan für den 
Rauschgenerator, man kann an den Ausgang z.B. einen Piezo hängen und 
sich das Rauschen anhören. Je nachdem, wie man das Signal verwendet, 
schaltet man noch die Pufferstufe dahinter oder nicht.


Mit einem USB-fähigen PIC könnte man in der Tat den USB-TRNG mit nur 
einem Chip bauen. Den Ausgang der Pufferstufe würde ich dann direkt an 
die Datenleitung vom SPI legen, so kann man immer gleich ein ganzes Byte 
lesen.
Auch reizvoll fände ich, das als USB-Audio-Gerät zu realisieren: Man 
steckt den Stick an und hat dann einen Audio-Eingang, an dem echtes 
Rauschen anliegt.
Gast #4066360
Lesenswert?

Was fehlt denn an dem Plan? Die Verdrahtung des Komparators ist zu 
sehen, der Rest ist controller- und applikationsspezifisch. Ich habe es 
mit einem PIC16F1719 aufgebaut, bei dem ich wegen anderer Funktionen die 
Pins umkonfiguriert habe. Plan und Code wäre damit für einen Nachbau 
unnötig kompliziert.
Um einen kompletten USB-Rauschgenerator zu bauen / programmieren habe 
ich im Moment keine Zeit, aber wenn ich das mal mache, poste ich 
natürlich den kompletten Plan und Code.

Ich habe gestern zufällig noch eine andere Variante gefunden, die noch 
einfacher und stabiler ist, werde das nachher mal posten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren