Guten Tag zusammen, ich arbeite gerade an einer Kostengünstigeren Variante eines DDS-Boards. Momentan steht mir das Evulation Board AD9958 von Analog Devices zur Verfügung. Wie bereits angesprochen möchte ich eine selbst angefertige DDS-Platine ätzen, da ich viele Funktionen des Evulation Boards nicht benötige. Ich habe auch schon einen Testprint gefertigt welcher leider nicht funktioniert hat. Ich glaube ich habe einen Fehler beim extrahieren des Chips gemacht - sprich ich habe vermutlich Bauteile für nicht wichtig genug betrachtet. Ich hoffe mir kann jemand ein paar entscheidende Tipps geben. Datenblatt: http://www.analog.com/static/imported-files/eval_boards/57241686299254AD995EB_0.pdf Kurz: Ich benötige 2 Outputs (max 200MHz), verwende einen 25MHz Quarz. Ich verwende zusätzlich einen EXTERNEN µC (SPI Übertragung) wobei die Initalisierungs Software zu 100% funktioniert (weil bei dem Evulation Boards funktioniert der Code). Nach dem ersten Test erkannte ich folgendes. Der Quarz schwingte hervorragend auf seinen 25MHz. Auch die Filter am Ausgang passen zu 100%. Jedoch klappte die Initialisierung nicht, ich bekam nicht meine Startfrequenz am Output heraus.. Um jetzt den Fehler suchen zu können benötige ich ein paar Informationen die ich dem Datenblatt leider nicht wirklich entnehmen konnte. Und zwar benötige ich den µC (vom Evulation Board), auch zum Speichern meiner Werte die ich über die SDIO_0 Leitung hineinschreibe, bzw gibt es irgendwo einen Speicher oder nimmt der DDS-CHIP die geschickten Bits Intern auf?(vermute ich) Einfacher ist meine Frage eventuell zu beantworten anhand der Beschaltung im Datenblatt. Besonders Interessant für mich ist Page 26/28 da die Seiten 24,25 kein Problem darstellten. U2,U13 - Headers (SDIO_0, SCLK, CSB, Reset, PWR_DOWN,IO_Update - werden verwendet der Rest nicht. U5,U6 - I/O Buffers (Die Buffers wurden von mir weggelassen, das ich das so auffasste das ich diese nur bentötige falls ich Bits vom "OnBoard" µC zum DDS-Chip schicke. Oder benötige ich diese doch?) µC - Komplett weggelassen, alles um den µC herum wurde von mir nicht beachtet. Mir ist bewusst das diese kurze Formulierung sicherlich keinen sonderlich guten Überblick gibt, ich hoffe jedoch das jemand mit ein paar Guten Tipps, Tricks und Erfahrung mir bei dem Problem weiterhelfen kann. Vielen Dank im voraus!
>Wie bereits angesprochen möchte ich eine selbst angefertige >DDS-Platine ätzen Ganz schön sportlich.. Wahrscheinlich willst du das mit 2 Layer machen? Wie lötest du den AD9958? >da ich viele Funktionen des Evulation Boards nicht >benötige. Was ist dann zuviel auf dem Eval Board? >Ich hoffe mir kann jemand ein paar entscheidende Tipps geben. Was sind deine Grundlagen? DDS mit 200Mhz Output sind nichts für Anfänger >wobei die Initalisierungs Software zu 100% funktioniert >Jedoch klappte die Initialisierung nicht, ich bekam nicht meine Was jetzt klappt es oder nicht? Oder nicht zu 100%? >Um jetzt den Fehler suchen zu können benötige ich ein paar Informationen >die ich dem Datenblatt leider nicht wirklich entnehmen konnte. Da hilft meistens mehrmals (kann bis zu 20 mal oder mehr sein) durchlesen. >Einfacher ist meine Frage eventuell zu beantworten anhand der >Beschaltung im Datenblatt. Besonders Interessant für mich ist Page 26/28 >da die Seiten 24,25 kein Problem darstellten. Oder besser Page 9,10 und 31-43 >U5,U6 - I/O Buffers (Die Buffers wurden von mir weggelassen, das ich das >so auffasste das ich diese nur bentötige falls ich Bits vom "OnBoard" µC >zum DDS-Chip schicke. Oder benötige ich diese doch?) Schade, brauchst du SCLK nicht? (U6,7-13) >µC - Komplett weggelassen Wie sprichst du dann mit deinem AD9958? >Mir ist bewusst das diese kurze Formulierung sicherlich keinen >sonderlich guten Überblick gibt, ich hoffe jedoch das jemand mit ein >paar Guten Tipps, Tricks und Erfahrung mir bei dem Problem weiterhelfen >kann. Ist das nicht eine Schuhnummer zu gross? >Vielen Dank im voraus! Cheers
>>> ...ich habe vermutlich Bauteile für nicht wichtig genug betrachtet. >>> Ich hoffe mir kann jemand ein paar entscheidende Tipps geben. >> Besonders Interessant für mich ist Page 26/28 >> da die Seiten 24,25 kein Problem darstellten. > Oder besser Page 9,10 und 31-43 Das Datenblatt vieleicht? Aber bitte nicht das Datenblatt des Eval-Boards, sondern das des DDS-Chips (darauf beziehen sich die Seitenangaben von Felix ;-) http://www.analog.com/static/imported-files/data_sheets/AD9958.pdf Denn du mußt nicht einen Chip aus einem EVAL-Board extrahieren. Sondern einen in dein Design integrieren. Und deshalb ist die erste Literatur das Datenblatt des Chips, nicht das Datenblatt des EVAL-Boards. Wie sieht denn dein Layout aus? Bei dem Chip sind doch einige Vcc-GND-Pins. Sind die sauber abgeblockt und gut versorgt? BTW: > Der Quarz schwingte hervorragend auf seinen 25MHz. schwingt, schwankte, schminkte, schwang?
Hallo! Arbeite selber an einem Design mit dem AD9958 und hatte erhebliche Schwierigkeiten ihn zum Laufen zu bringen, mittlerweile hab ich ihn aber halbwegs im Griff. Beim Layout und bei den Umgebungs-Bauteilen (Abblock-C, div. Widerstände) würd ich keinesfalls sparen. Wenn dann nämlich was nicht funktioniert findest du nie raus, ob der Fehler vom Layout verursacht wurde oder nicht. Wenn du das Hühnerfutter minimieren willst, dann sieh zuerst am Layout alles vor. Wenns erst mal läuft kannst du ja schrittweise die Kondensatoren reduzieren und testen ob noch alles ordentlich funktioniert. Eine große Schwachstelle des AD9958 ist das serielle Interface. Ich hatte (und hab nach wie vor) das Problem, dass sich das Interface manchmal "aufhängt". Dann reagiert der DDS auf keine Programmierung mehr. Dann ist RESET angesagt. Die Häufigkeit der Abstürze hab ich minimieren können, indem ich bei jeder Übertragung das IO_SYNC Signal verwende (vor dem /CS auf low, nachher wieder auf high). Lesen vom DDS ist nicht zu empfehlen, irgendwo (errata, faq oder so) hab ich auch gelesen dass die Geschwindigkeit beim Lesezugriff nicht von ADI getestet ist !! Auch das CLK-Timing ist beim Lesezugriff anders! Der AD9958 ist jedenfalls kein IC den man mal eben auf eine Platine pappt. Nides
Hi danke für die Posts. @ FELIX >Ganz schön sportlich.. Wahrscheinlich willst du das mit 2 Layer machen? >Wie lötest du den AD9958? Natürlich mit 2Layer da es auf einem Layer sogut wie nicht zu schaffen ist. - mit Lötpaste wurde gelötet, das funktioniert da ich ein 2tes Board zur Verfügung hatte welches defekt war. So konnte ich austesten ob es mit normalen Löten funktioniert. >Was sind deine Grundlagen? DDS mit 200Mhz Output sind nichts für >Anfänger HF bezüglich habe ich einen guten Beistand der mir hilft, verwende eine 0,7mm Platine mit Mikrostreifenleitungen ;) >Was jetzt klappt es oder nicht? Oder nicht zu 100%? Sorry das drückte ich missverständlich aus. Ich will damit sagen die Software (Assembler) funktioniert 100% da die Initialisierung mit dem EVAL Board funktioniert hat. Bei MEINER gefertigten Platine jedoch hatte die INIT nicht funktioniert -> meine Platine ist defekt. >Wie sprichst du dann mit deinem AD9958? Über einen externen µC. @Lothar Miller Das Datenblatt des Chips direkt habe ich natürlich auch schon begutachtet. Jedoch fehlen in diesem Datenblatt Schaltpläne wie man diesen Chip verwenden kann. Es stehen die Grundlagen im Datenblatt drin, mehr jedoch auch nicht.. @ nides Ich würde gerne mehr über dein Layout erfahren wie du den Chip zumindest zum Laufen gebracht hast. Wäre super wenn du mir die Schaltung irgendwie zu kommen lassen könntest. (uploaden zB). Es würde mir auch sehr helfen wenn du nur Grob sagst welche IC's ich benötige? Ich bin total unsicher bei dem µC der sich auf dem EVAL Board befindet, da ich eigentlich vorhabe den Chip über die Steckleisten (U2) extern anzusprechen. Ich würde mich sehr für deine Schaltung interessieren wäre äußerst nett wenn du sie mir zukommen lassen könntest. Vielen Danke für alle die hier gepostet haben, wünsche einen guten Rutsch ins neue Jahr.
>Das Datenblatt des Chips direkt habe ich natürlich auch schon
begutachtet. Jedoch fehlen in diesem Datenblatt Schaltpläne wie man
diesen Chip verwenden kann. Es stehen die Grundlagen im Datenblatt drin,
mehr jedoch auch nicht..
Die Grundlagen sollten genuegen um was rauszubekommen. Eine externe CPU
ueber SPI... ist keine gute Idee. Die Frage mit den 2 Layern war eher
ein Witz, bei diesen Frequenzen sollte man auf 4 Lagen gehen.
Hallo! Anbei der Schematic von meinem ersten Board. Da sind noch einige Fehler drin, die ich noch nicht umgezeichnet hab. (Hab daher einige Drähte auf der Platine ;-) 1. SDIO_3 wird auch für die Kommunikation verwendet (IO_Sync) 2. Die Widerstände am DAC_Rset müssen gegen GND, nicht gegen 1V8 geschaltet werden. 3. Bauteilwerte teilw. falsch (vor allem die L) 4. Abblock-Cs: Sortierung enthält 4u7, 2u2, 1u, 470n, 220n, 100n, 10n, 2n2. Die Verteilung hab ich nach Anordnung im Layout gemacht. Ansteuerung über einen ADSP Signalprozessor (3V3). nides
Hi nides, Vielen Dank! Ich habe soeben gesehn das mein Schematic nicht sonderlich von deinem Abweicht. Jedoch hab ich noch zwei kleine Fragen. - Warum hast du bei "LoopFilter" (Pin27) nach dem Kondensator 1,8V? Im Datenblatt geht der Pin gegen Masse. Würde mich interessieren wieso/woher diese 1,8V kommen. - Wie hast du es mit der Analogen/Digitalen Masse am Print gelöst. Mir wurde empfohlen mehrere "Masseflächen" zu layouten und diese dann alle nur auf einem Punkt miteinander zu Verbinden um eventuelle Kreisströme zu vermeiden. - Der Widerstand zwischen SYNC_IN - SYNC_Out ist schlussendlich eine Unterbrechung und beide Pins bleiben daher offen richtig? Auf den ersten Blick schauen unsere Schematic's ident aus, daher ist mein Verdacht das ich den IC durch einen Fehler im 1.Testprint bereits in das jenseits geschickt habe vermutlich bestätigt. Nochmals vielen Dank ich hoffe das ich mit deiner Hilfe zu dem gewünschten Ergebniss komme wäre nett wenn du mir diese Fragen noch beantworten könntest, danach hoffe ich keine Fragen mehr zu haben :D Vielen vielen Dank!
Hallo! Das mit dem Loop-Filter ist eine echt gute Frage :-) Ich hab die ganze Sache nicht zur Hand (bin zu Hause), aber ich glaube mich zu erinnern dass der Filter nur ein Kleinsignal-Ground braucht. Möglicherweise hab ich ihn aus Layout-Gründen auf die +1V8 gelegt. Ich werd am Layout nachsehen ob die Vermutung stimmt! Widerstand zw. Sync-In und Sync-out dient nur dazu, um Testflächen am Print zu haben, der ist nicht bestückt. Zur Layout-gestaltung: ich versuch nächste woche mal den betreffenden Layout-Teil zu posten. Derweil, nides
Hi! loop-filter: in meinem Datenblatt geht der gegen AVDD !! Anbei Layer 1 und 2 des Schaltungsteils. 3 und 4 kommen gleich.
Achtung! Die oben beschriebenen Fehler sind in diesem Layout noch drin! Hab noch keine neue Version geroutet!
Und der bottom Layer noch mal alleine. Hoffe geholfen zu haben, und wenn noch jemand Fehler findet, bitte schreiben :-) nides
Moin, könntest du eventl. die .sch und .brd bzw target3001 Dateien uploaden? Vielen Dank Dirk
Kann ich leider nicht, da das 1. nicht Target ist! 2. kein privates Projekt ist! nides
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.