mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AD8934 - DDS SPI Ansteuerung


Autor: Jürgen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Community,

ich habe bisher wenig Erfahrung mit SPI und der Programmierung von ICs 
gesammelt. Theoretisch ist das ziemlich einfach.

Nun will ich den obigen DDS programmieren und bekomme es nicht hin.
Ich verwende einen MSp430F2013. Damit kann ich wunderbar SPI Daten 
senden (am Oszi gut zu sehen), aber die DDS rührt sich nicht und 
reagiert nicht darauf.

Ich versuche zur Zeit herauszufinden warum.

Es ist höchstwahrscheinlich ein Softwareproblem. Ich kann mir nicht 
vorstellen den DDS-IC beim Löten zerstört zu haben, da die Stromaufnahme 
"normal" ist.

Die Ansteuerung im Datenblatt (Anhang) ist aber auch verwirrend 
beschrieben.

Man kann die Control Bits mittels Pins (extern) oder mittels Bits im SPI 
Datenstrom einstellen. Das Befehlswort hat 16Bit und wird an zwei 
vorangestellten '0' erkannt. Wenn man nun das Control Bit PIN/SW=0 
setzt, sollten alle Control Bits per Software (durch SPI Kommunikation) 
verändert werden können.

Aber wie sehen die Befehlsworte aus, wenn mam mehrere Befehle 
nacheinander hat.
z.B.

1.) IC Reset - Reset Bit=1 im Datenstrom
2.) Frequenzeinstellung - Reset Bit wieder 1 setzen oder 0, weil es ein 
Schreibefehl in das Frequenzregister ist ? Der Baustein soll ja 
weiterhin im Reset bleiben.

usw.

Das heißt: Muss ich bei allen folgenden Befehlen immer wieder das Reset 
Bit setzen, um auch im Reset Zustand zu bleiben ? Oder verlasse ich 
diesen, wenn ich in einem Schreibbefehl das Reset-Bit = 0 setze ? Im 
Datenblatt ist ein Beispiel zur Frequenzeinstellung (S.20))- da ist das 
Reset Bit 0, aber im Text steht ausdrücklich, es soll 1 während der 
Initialisierung sein (siehe auch Abb. 31).

Noch eine Frage zu SPI.

SPI scheint mit diesem Baustein bis zu 40MHz SCLK zu gehen. Ich betreibe 
es mit ca. 70kHz. Das sollte doch kein Problem sein, oder ? Die Timings 
sind ja nur zu höheren Frequenzen begrenzt ?

Ich stelle all diese vielleicht dummen Fragen, um überhaupt einen Ansatz 
zur Fehlersuche zu bekommen. Ich weiß zur Zeit überhaupt nicht woran es 
liegt.

Danke für eure Mühe !

Jürgen

Autor: Mensch Z (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
;----------------------------------------------------------------------- 
--
;               AD9833  Waveform generator word manual tuning values:-

;//                     2100 46DC 400D 8000 8000 C000 E000 2000  = 20khz
;//                     2100 449C 4083 8000 8000 C000 E000 2000  = 
200khz
;       bei 25MHz Quarz
;----------------------------------------------------------------------- 
--

dieser chip ist aehnlich....da siehst du wie mit dem Reset umgegangen 
wurde

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke, ich schaue es mir mal an.

Jürgen

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

so ähnlich hab ich das auch gemacht.
Allerdings habe ich die Phasenregister und das zweite Frequenzregister 
(FREQ1) nicht beschrieben, sondern nur FREQ0.

Und das funktioniert bei dir ?

Welchen SPI Takt verwendest du ?

Danke.

Jürgen

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich kann an dem DDS-IC nach Einschaltung der Versorgungsspannung an den 
Ausgängen REFOUT und COMP keine Spannung messen.

Ist das normal ?

Eigentlich sollten doch da 1,2V und 2,5V anliegen ?

Hoffentlich kann mir da jemand helfen.

Jürgen

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,


bei COMP messe ich ungefährt 2,4V.
Das ist schonmal gut.

Kann es sein, dass die Referenz erst nach der Initialisierung 
zugeschalten wird ?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entschuldigung, ich meine an dem Pin CAP/2.5V messe ich 2,4V.
An Comp und REFOUT messe ich 0V.

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim AD9851 wird die Referenz erst nach dem Init eingeschaltet, das wird 
bei dir wohl genauso sein.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das klingt schon gut.

Ich habe nähmlich eben die zweite Platine bestückt und dort habe ich an 
der Referenz ebenfalls 0V.

Wie sieht es denn bei den anderen Ausgängen aus ?

Ich habe am COMP 3,5V und am CAP/2,5 2,5V nach Einschalten der 
Betriebsspannungen.

Danke für eure Hilfe.

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

DDS funktioniert.

Der andere IC war einfach defekt !

Danke an alle.

MfG
Jürgen

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.