Hallo, ich möchte mit einem Atmel einen Quantenzufallsgenerator auslesen http://www.idquantique.com/products/files/quantis-specs.pdf Dieser hat systembedingt jedoch keine feste clockfrequenz. Mein Gedankenansatz (bitte um Berichtigung, wenn falsch): Die Breite eines Clockpulses (Quantenzufallszahlgenerator) beträgt 50ns. Um das auslesen zu können sollte mindestens ein Clockzyklus meines Atmel in diesen Zeitraum fallen, damit ich einen Interrupt auslösen kann. D.h. meine Taktfrequenz des Atmel sollte mindestens: 20Mhz sein!? Geht das, oder bekomme ich damit ein Problem? Das auszulesende Signal liegt nach dem Clockpuls noch weitere 100ns, also zwei Taktzyklen an. schaffe ich das mit einem Interrupt auszulesen, oder benötigt ein Interrupt zu lange Zeit? Da der Mikrocontroller in Abhängigkeit eines anderen Signals (~alle 20ms) den Quantenzufallsgenarator ausliesst gäbe es im Anschluss genug zeit für die weitere Verarbeitung. Gibt es schneller Atmels als 40 Mhz? Wenn nicht werde ich zur Not ein schieberegister zwischenschalten um eine Geschwindigkeitsreduktion zu erreichen. Viele Grüße Horst
Horst wrote: > Das auszulesende Signal liegt nach > dem Clockpuls noch weitere 100ns, also zwei Taktzyklen an. schaffe ich > das mit einem Interrupt auszulesen, oder benötigt ein Interrupt zu lange > Zeit? Allein bei einem "nackten" Interrupt Handler (also ohne Sicherung von Registern u.ä.) dauert es vom Auftreten des Ereignisses (Flag wird gesetzt) bis zur Ausführung des ersten Befehls im Interrupt Handler mindestens 5-6 Takte (4 Takte für PC sichern und Sprung in den Vektor, 2 oder 3 Takte für den Sprung in den Handler [je nachdem, ob rjmp reicht oder jmp benötigt wird], wenn der nicht direkt in der Vektortabelle steht). Und da kommt noch mal die Zeit hinzu, die benötigt wird, um den gerade in Arbeit befindlichen Befehl im Hauptprogramm zu Ende auszuführen, also i.d.R. noch mal 1-2 Takte.
Hallo Horst, je nachdem, was Du mit den Daten tun willst, käme vielleicht auch einer der Counter (mit externem Eingang) bzw. die "input capture unit" in Frage. Gruß Fred
Was es alles gibt... Kann es sein, dass das Ding einfach ein Wiederstand ist, an dem das thermische Rauschen abgenommen wird? Oder eine Diode knapp unter maximaler Sperrspannung, an der die Durchschläge gezählt werden? Egal. Der Generator gibt laut Beschreibung hinterm Link Clock und Daten. Okay, ich kenne Atmel Prozessoren nicht von innen. Aber vielleicht gibt es ja welche mit USART, das schnell genug ist, um im Synchronmodus mit dem Generatortakt getaktet zu werden. Abgesehen davon, du willst ja nicht alle Daten nutzen. Wenn das Ding vernünftigen Zufall produziert, dann ist egal, welche du verpasst. Du darfst also nur so schnell lesen, dass du kein Bit verdoppelst, kannst aber beliebig viele überspringen, wenn dein uC zu langsam ist. virtuPIC
Ich schätze, man könnte entweder mit dem SPI-Slave des AVR oder einem simplen Schieberegister '595 die Daten in handliche Byte-Häppchen umwandeln, die dann mit 500kHz eintrudeln.
Die Schieberegistervariante schlägt der Hersteller vor... http://www.idquantique.com/products/files/quantis-appnote.pdf Dahinter noch ein Latch und man kann die Daten in Ruhe auslesen. > Kann es sein, dass das Ding einfach ein Wiederstand > ist, an dem das thermische Rauschen abgenommen wird? Oder eine Diode > knapp unter maximaler Sperrspannung, an der die Durchschläge gezählt > werden? Egal. Nein, da ist tatsächlich drin was draufsteht: Eine Photonenquelle, ein halbtransparenter Spiegel und die Detektoren.
Vielen Dank für die vielen Antworten! Werde die Schieberegistervariante benutzen. Klar könnte ich auch einfach zu einem bestimmten zeitpunkt auslesen (welche Z-Zahl ist ja irrelevant) aber ich haette Bedenken gehabt zum Zeitpunkt eines Signalwechsels auszulesen. Nochmal vielen Dank an Alle! Horst
Horst wrote: > Vielen Dank für die vielen Antworten! > Werde die Schieberegistervariante benutzen. Nimm aber nicht das 164 sondern das 595. Dann hast du 8 Bitzeiten Zeit, um es auszulesen. Peter
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.