Forum: Mikrocontroller und Digitale Elektronik CDCE906 I2C Ansteuerung


von MaxS (Gast)


Lesenswert?

Hallo,

kann mir jemand sagen wie ich Über I2C den CDCE906 von TI richtig 
ansteuere.
Evtl hat auch jemand ein Programmbeispiel. Ich möchte 3 Verschiedene 
Frequenzen variabel ausgeben können.

Beste Grüße

MaxS

von AW (Gast)


Lesenswert?

Keiner eine Ahnung ?
Ich hab das selbe Problem

von Stephan (Gast)


Lesenswert?

Was fehlt euch beiden denn an Wissen?
Was geht nicht?

aktuelle HW (Schaltplan) ?
aktuelle SW (Code)?

Ist doch ein ganz normaler SMBus V2.0 Chip....
Ihr habt nur 4 mögliche Adressen!

von MaxS (Gast)


Lesenswert?

Mir gehts hauptsächlich um die Befehle, welche man benötigt um 3 
verschiedene Frequenzen zu bekommen

von Stephan (Gast)


Lesenswert?

Du kannst also mit dem Chip sprechen?

Wenn ja mach die Konfiguration der default Settings sichtbar. per 
Terminal oder so! (RS232)
Das hat mir bei einem anderen Chip auch sehr geholfen, erst recht wenn 
der HF Entwickler gerade nicht da ist. :-)

der Switch B sollte den Ausgang auswählen, der sollte bei allen auf 2 
stehen, für P2 (siehe Bild Figure 13. Default Device Setting)
Darunter steht auch die Formel für die Frequenz!

einfach mal den Switch B auf andere Ausgänge schalten und andere DIVs 
für P3 P4 P5 angeben und schon sollte es laufen.
sollte keine große Aufgabe sein.

Was brauchst du noch?

von Stephan (Gast)


Lesenswert?

Ahhh Sorry, hatte mich falsch ausgedrückt.

>der Switch B sollte den Ausgang auswählen, der sollte bei allen auf 2
>stehen, für P2 (siehe Bild Figure 13. Default Device Setting)
>Darunter steht auch die Formel für die Frequenz!
soll heißen:
der Ausgang zb Y0 wählt mit den switch B den Teile Px
und der steht per default auf 2 für P2

>einfach mal den Switch B auf andere Ausgänge schalten und andere DIVs
>für P3 P4 P5 angeben und schon sollte es laufen.
soll heißen:
mal den Ausgang zb Y1 per switch B auf einen anderen Teiler wie P3 
schalten und wenn der P3 einen anderen Wert hat, ändert sich auch die 
Ausgangsfrequenz.

PS: Prüfe mal die Einstellungen des SW A, ob alle Teiler Px die PLL1 als 
Quelle haben.

lt Datenblatt haben die Px Teiler schon andere Werte, wird also noch 
einfacher für euch. NUR den SW B ändern.
>Default setting of divider
>P0 = 10, P1 = 20, P2 = 8, P3 = 9, P4 = 32, and P5 =4

Da kannste doch aus den 27MHz einiges machen. :D

von Stephan (Gast)


Lesenswert?

MaxS hast du das schon hin bekommen oder brauchst du noch Hilfe?

von MaxS (Gast)


Lesenswert?

Nein hab es leider noch nicht hinbekommen... sorry dass ich mich nicht 
gemeldet habe...
Ich greife zz zuerst auf adressen 0x1, 0x2, 0x4, 0x5, 0x7, 0x8 zu um die 
M und N Teiler einzustellen. (Auch die P Teiler)
Nur verstehe ich das nicht, wie ich die "Schalter" umstellen soll... ich 
will in meiner Anwendung einfach immer die M und N Teiler einstellen, 
bezogen auf den jeweiligen Ausgang... Muss ich den P Teiler auch immer 
festsetzen?

von Stephan (Gast)


Lesenswert?

Hi MaxS
hatte gar nicht gesehen das du noch dran bist.

Also um zu sehen das erstmal was passiert würde ich dir nur raten den 
Switch B zu ändern! Reg. 19 - 24
Die letzten 4 Bits sind sehr wichtig:
Bit 0:2 ist der B-Switch -> sollte 2 sein für P2
Bit 3 ist der Output Enable -> sollte 1 sein für On

Wenn du nun hier die Zahlen zwischen 2 und 5 rein schreibst, siehst du 
wie die Quellfrequenz von 27MHz auf die Outputs gemäß der default 
Settings
>P2 = 8, P3 = 9, P4 = 32, and P5 =4
an den Ausgängen anliegen sollte: Y0-Y5
(Der Input, für P2, P3, P4, P5 ist default auf PLL1 geschaltet)

Damit weißt du das der Chip und deine SW läuft. :-)

********************************
Mit den Werten fin, m und n bestimmst du die max von fout!

fout(max) = fin * n / m

mit den Px Teilern kannst du nun die Frequenz, nach unten, ändern.
(auf die Hälfte(Px=2), ein drittel(Px=3) usw.)

fout(Px=2) fin * n / (m * 2)

Warum man das so macht, mußt du deinen HF-Entwickler fragen. KA.

*********************************
Wenn du alle PLLs verwenden willst, mußt du Switch A entsprechend 
umstellen. (Reg. 9-12)
per default ist die Quelle von:
P0 = PLL2 non-SSC
P1 = PLL3

MaxS schrieb:
> ich
> will in meiner Anwendung einfach immer die M und N Teiler einstellen,
> bezogen auf den jeweiligen Ausgang...

Ich kenne deine Anwendung nicht, aber du hast nur 3 Quellen und 6 
Outputs!
Ich gehe vom default aus:
Wenn du die Werte der PLL1 änderst (Reg 1 + Reg 2):
- M divider auf sagen wir auf 2
- N divider auf sagen wir auf 10
 so ergibt das ein Fout(max) von: 27MHz * 10 / 2 = 135MHz
dann stellt sich an den Outputs Y0-Y5 über P2(Wert ist 8) ein Wert von 
16,875MHz ein.

Achtung: die Hochwertigsten Bits von N und M sind in den Reg 3!!!

Also eigentlich ganz einfach:
- Für Yx den passenden Vorteiler definieren (Switch B, Px) (nur einmal 
nötig)
- Für Px die passende Quelle definieren (Switch A, PLLx) (nur einmal 
nötig)
- Für PLLx die N und M Werte einstellen und den Px Wert setzen (nur alle 
3 Werte zusammen ergeben Fout(Yx))
FERTIG. :-)

Ich hoffe das bringt dich weiter.

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.