Forum: Mikrocontroller und Digitale Elektronik AD9833: Sporadische Aussetzer


von Der T. (Gast)


Lesenswert?

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!

von Maik F. (sabuty) Benutzerseite


Lesenswert?

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.

von Der T. (Gast)


Lesenswert?

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

von Maik F. (sabuty) Benutzerseite


Lesenswert?

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" ;)

von Der T. (Gast)


Lesenswert?

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

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

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

von Maik F. (sabuty) Benutzerseite


Lesenswert?

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.

von Der T. (Gast)


Lesenswert?

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?

:-)

von Der T. (Gast)


Lesenswert?


von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

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

von Maik F. (sabuty) Benutzerseite


Lesenswert?

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?

von Der T. (Gast)


Lesenswert?

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

von eProfi (Gast)


Lesenswert?

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.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Die neue Version is doch schon längst aufm Server...

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.