Forum: FPGA, VHDL & Co. Suche SPI verstellbaren Takt


von Johann (Gast)


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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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?

von Lattice User (Gast)


Lesenswert?


von Johann (Gast)


Lesenswert?

Der Takt muss nur einmal pro Sekunde verstellt werden. Es ist der Takt 
für eine Regellung und sollte schon recht genau und vor allem stabil 
sein.

von Generator (Gast)


Lesenswert?

Ich benutze für sowas den AD9832 DDS

von Johann (Gast)


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.

von Generator (Gast)


Lesenswert?

Der AD9832 hat doch ein SPI Interface. Und durch die 32Bit 
Frequenzregister wird der angelegte Masterclock auf extrem kleine 
Schrittweiten heruntergeteilt.

von Johann (Gast)


Lesenswert?

Ich werde mir mal den AD9832 anschauen. Dieser schein ja etwas complexer 
zu sein.

Vielleicht kennt jemand ja noich andere Hersteller oder andere Modelle.

von Generator (Gast)


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...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

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"

von Generator (Gast)


Lesenswert?

Stimmt !
Deshalb wird der Sinus-Ausgang des AD9832 hinterher per RC-Glied und 
Komparator zu einem jitterfreien Rechteck mit der gewünschten Frequenz 
geformt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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.

von Generator (Gast)


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.

von Lattice User (Gast)


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).

von Johann (Gast)


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.

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
Noch kein Account? Hier anmelden.