Hi, nachdem ich den AD9833 (DDS-IC) in Betrieb genommen hatte, musste ich zunächst mit Aussetzern im ms-Bereich kämpfen. :-( Fehlerursache war die ISP-Schnittstelle des STK500 - die funkte da anscheinend immer kurz dazwischen.. :-( Mittlerweile füttere ich das IC alle 100ms mit einem neuen Wert für das FREQ0-Register nach dem FlowChart 28 vom Datenblatt. Jedoch habe ich immer noch alle ~10-30sek einen kurzen (~50-100ms) Aussetzer: entweder stimmt kurz die Frequenz nicht, oder mein Dreieck verwandelt sich in diesem Moment in einen Sinus. Frage: Ist das normal (Erfahrungswerte?), oder habe ich noch irgendwo einen Bug? Mir ist klar, dass ihr nicht den Fehler im Code erraten könnt. ;-) Mich interessiert nur, ob das Verhalten der sporadischen Aussetzer bekannt ist - oder ob dies eindeutig ein Bug ist.. :-) Danke!
Der Techniker schrieb: > Mich interessiert nur, ob das Verhalten der sporadischen Aussetzer > bekannt ist - oder ob dies eindeutig ein Bug ist.. :-) Ist mir nicht bekannt und ich hatte bisher keinerlei Probleme mit dem IC. Ohne wenigstens einen Schaltplan zu haben ist alles weitere Kaffeesatzleserei.
Maik Fox schrieb: > Ohne wenigstens einen Schaltplan zu haben ist alles weitere > Kaffeesatzleserei. AD9833 am Mega128 im SKT501/500. SDATA an PB0, SCLK an PB1 und FSYNC an PB2. Alle drei leitungen mit Pullup 8k2. AD9833 ist nach Datenblatt entkoppelt - jedoch "fliegender" Aufbau. Anbindung zum STK500 über Flachband <10cm. CPU läuft mit 16MHz. Ansteuerung ohne Delay's per Software-Protokoll. Da es (im Prinzip) ja sauber läuft und lt. deiner Aussage keine Probleme bekannt sind, hoffe ich als Fehlerursache den fliegenden Aufbau.. ;-)
Der Techniker schrieb: > AD9833 ist nach Datenblatt entkoppelt - jedoch "fliegender" Aufbau. > Anbindung zum STK500 über Flachband <10cm. Ein MSOP-10 im fliegenden Aufbau? Mir schwant fürchterliches. Wo kommt eigentlich der Takt für die MCLK her? Bitte sag' jetzt nicht "aus der Luft" ;)
Maik Fox schrieb: > Ein MSOP-10 im fliegenden Aufbau? Mir schwant fürchterliches. Wo kommt > eigentlich der Takt für die MCLK her? Bitte sag' jetzt nicht "aus der > Luft" ;) Hee..! Sooo schlimm ist der auch wieder nicht.. :-b (Ich kann ja mal ein Foto machen..) Der Master-Clock kommt von einem eigenen 16MHz-Blechwürfel (Quarzoszillator).
Das Phänomen, dass der AD9833 beim Register beschreiben kurz aussetzt hab ich leider auch... Da hilfts nur den maximalen SPI Takt beim AVR einzustellen (CLK/2).
Zeig mal deine Software zur Kommunikation *inkl.* der Einrichtung der SPI-Schnittstelle. Solche sporadischen Fehler gibt's meist, wenn die Daten zur falschen Taktflanke rausgeschoben werden und beim Empfänger Setup/Hold-Time Verletzungen auftreten.
Martin Wende schrieb: > Das Phänomen, dass der AD9833 beim Register beschreiben kurz aussetzt > hab ich leider auch... Wie oft pro Sek aktualisierst du die Register? Wie macht sich der Aussetzer bei dir bemerkbar? Hast du kontinuierliche oder sporadische Aussetzer? :-)
Maik Fox schrieb: > Mir schwant fürchterliches. http://www.bilder-hochladen.net/files/big/k2db-8-c9f0.jpg
Immer wenn die Register des AD9833 beschrieben werden gibts nette Spikes am Ausgang. Ein Modus umschalten für kurze Zeit habe ich jedoch nicht am Oszi gesehen. Es wird genau dann im Register geschrieben wenn der User das will: http://www.fritzler-avr.de/HP/sig1.php
Der Techniker schrieb: > Maik Fox schrieb: >> Mir schwant fürchterliches. > > http://www.bilder-hochladen.net/files/big/k2db-8-c9f0.jpg Danke für das Bild. Ich habe offensichtlich stark überreagiert ;) Dann weiter: schon mal die Signale, die vom STK500 kommen, mit einem Oszi angeschaut? Welcher uC? Wie ist die SPI initialisiert?
Maik Fox schrieb: > Dann weiter: schon mal die Signale, die vom STK500 kommen, mit einem > Oszi angeschaut? Ja - saubere Flanken. Einige Datenpakete habe ich "entschlüsselt" und diese sind ganau nach Vorgabe im Datenblatt. > Welcher uC? Mega128-16 > Wie ist die SPI initialisiert? Garnicht. Ich "zupfe" per Software an den Pins.. ;-) Im Prinzip sehen meine Routinen genau so aus, wie von Martin Wende. Weiterhin habe ich seine Routinen auch einmal getestet - gleiches Verhalten. Martin Wende schrieb: > Ein Modus umschalten für kurze Zeit habe ich jedoch nicht am Oszi > gesehen. D.h. du beschreibst den AD9833 nur, wenn es wirklich neue Daten gibt..?!?
Wenn Du Dich an die Software von Martin Wende hältst, wundert mich das nicht. Ich habe ihn schon mehrfach um die Korrektur eines gemeinen Bugs gebeten, aber er reagiert nicht bzw. er sucht seit April nach der Test-Hardware. Beitrag "Re: AD9833 DDS in c ohne SPI" Ein SMD-Abblock-C direkt am IC könnte auch nützlich sein. Und Rs in Reihe zu den µC-Leitungen reduzieren Reflexionen, die schon mal den Datentransfer stören können.
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.