Suche SPI verstellbaren Takt

Gast #2367907
Lesenswert?

Hallo @ all FPGA User,

ich benötige einen Takt so um die 4000kHz den ich per SPI verstellen 
kann. Der Takt soll z.B. 4000,123kHz oder 4000,432kHz besitzen. Bis 
jetzt habe ich leider nichts gefunden. Die Bauteile die ich gefunden 
hatte waren zu ungenau.

Ich hatte schon drüber nachgedacht den DCM vom FPGA zu benutzen. Jedoch 
halte ich das für etwas übertrieben. Ich weiß auch nicht ob dieser DCM 
in so feinen Schritten verstellbar ist.

Kennt vielleicht jemand einen über SPI verstellbaren Takt der für mich 
geeignet ist?

Ich habe erste gedacht das sollte kein Problem sein. Man nehmen einen 
32Mhz Talkt z.B. und benutzt einen Counter zum herunterteilen. Jedoch 
stellt man sehr schnell fest das man einen GHz Takt benötigt um solch 
eine feine Verstellung hinzubekommen.
Moderator (Firma: Titel) Persönliche Seite #2367925
Lesenswert?

Johann schrieb:
> ich benötige einen Takt so um die 4000kHz den ich per SPI verstellen
> kann. Der Takt soll z.B. 4000,123kHz oder 4000,432kHz besitzen.
Du gibst (mindestens) 8 signifikante Stellen an, soll der Takt 
tatsächlich auf 1/4000000 genau eingestellt werden können?
Wie genau ist deine Referenz?
Welchen Jitter darf der Takt haben?
Wie schnell muß die Umschaltung erfolgen?
Worauf kommt es bei diesem Takt an?
Wofür ist dieser Takt?
Gast #2368732
Lesenswert?

Danke auf jedenfall schon mal für den Hinweis. Die sind schon sehr gut 
habe noch nicht geschaut woe man die ICs kaufen kann.

Jedoch wäre mir ein SPI Bus lieber da ich bereits damit schon mal 
gearbeitet habe.
Gast #2368877
Lesenswert?

complex ist relativ.

Wird der Chip mit z.B. 20MHz Masterclock versorgt, so ergibt sich durch 
den 32Bit Teiler eine Schrittweite von: 0,0000000046566MHz also 4,6566 
mHz. Also sehr fein justierbar.

Um den gewünschten Takt 4000,123MHz zu erzeugen, musst du ihm die 32Bit 
in Form von je einem Kommando und einem Datenbyte übermitteln (also 
8Byte senden)

com/data
h33/h33
h22/h33
h31/h9A
h20/h61

ergibt 4000,1229988MHz am Ausgang.

com/data
h33/h33
h22/h34
h31/h9D
h20/h96

ergibt 4000,4319977MHz am Ausgang.

Der Chip teilt einfach den Masterclock in 4294967296 Schritte.

Sendet man FF FF FF FF so liegen bei 20MHz Masterclock 20MHz am Ausgang.
Sendet man 7F FF FF FF so liegen bei 20MHz Masterclock 10MHz am Ausgang.
usw...
Moderator (Firma: Titel) Persönliche Seite #2369234
Lesenswert?

Generator schrieb:
> Sendet man FF FF FF FF so liegen bei 20MHz Masterclock 20MHz am Ausgang.
Nicht ganz: es liegen dann rechnerisch (2^32-1)*20MHz/2^32 = 
19,99999999953 MHz an. Tatsächlich ist das dann aber ein Decrement um 1 
und damit eine Frequenz von 20MHz/2^32. Shannon lässt grüßen...

> ergibt 4000,1229988MHz am Ausgang.
> ergibt 4000,4319977MHz am Ausgang.
So einfach geht das aber nicht!
Mit 20MHz Eingangstakt ergibt das einfach ein Signal mit 4MHz, das immer 
wieder mal "jittert", weil ein "Korrekturtakt" eingefügt werden muß. Im 
Anhang ist das zu sehen: aus den 20MHz werden mit 33349d96 genau 4 MHz 
erzeugt, die ab&zu mit einem "kürzeren" Impuls auf die 4000,4319977MHz 
"aufgebhohrt werden (Screenshot)...  :-o
Im "langjahrigen Mittel" passt die Frequenz, kurzzeitig betrachtet ist 
sie auf ganzzahlige Teile von 20MHz beschränkt.

Deshalb meine Fragen nach dem Jitter aus dem 
Beitrag "Re: Suche SPI verstellbaren Takt"
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #2369364
Lesenswert?

Generator schrieb:
> Deshalb wird der Sinus-Ausgang des AD9832 hinterher per RC-Glied und
> Komparator zu einem jitterfreien Rechteck mit der gewünschten Frequenz
> geformt.
Das hast du aber jetzt nicht so ganz durchdacht, oder?
Wenn schon der Sinus unterschiedlich lang ist, ist der Rechteck nach dem 
Komparator auch unterschiedlich lang. Und "unterschiedlich lang" 
bedeutet Jitter...

Kurz: mit einer DDFS wirst du aus 20MHz niemals einen richtig sauberen 
4,000xxx MHz Takt gewinnen können.
Gast #2369438
Lesenswert?

Das hab nicht ich durchdacht sondern der Hersteller.

Das RC-Glied muss natürlich an die gewünschten Ausgangsfrequenzen 
angepasst sein. Dieser Tiefpaß filtert den Jitter weg.

Siehe App-Notes des Herstellers: "A Technical Tutorial on Digital Signal 
Synthesis"


Dass dabei eine Phasenverschiebung entsteht ist bei meinen Anwendungen 
egal.
Gast #2369511
Lesenswert?

Generator schrieb:
> Das RC-Glied muss natürlich an die gewünschten Ausgangsfrequenzen
> angepasst sein. Dieser Tiefpaß filtert den Jitter weg.

Das RC-Glied ist der Anti-Alias-Filter nach dem DAC. Bei den 
Gegebenheiten DAC Frequenz 16 MHz -> Nyquist 8 MHz, ZielFrequenz ca 4 
MHz ist ein einfacher RC meiner Ansicht schon nicht mehr gut genug.

Was mir auch aufgefallen ist, dass im Datenblatt nur ganzzahlige Teiler 
(1/7) in den Referenzspektren verwendet wurden.

Insgesamt viel (analoger!) Aufwand nur um SPI statt I2C und einen 
dedizierten Clockgenerator einzusetzen. So viel Aufwand ist I2C nun auch 
wieder nicht, wenns nur um die Ansteuerung eines bestimmten ICs geht, 
kann man da viel vereinfachen. (z.B. es ist kein Clickhandshake nötig).
Gast #2371889
Lesenswert?

Ich finde den Silab SI514 sehr schön. Dieser ist sehr klein schon fast 
wie ein 0805 Widerstand. Dieser scheint auch sehr genau zu sein.

Vlleicht kennt noch jemand einen anderen Hersteller da der SI514 
schlecht zu beschaffen ist.

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