Hallo,
mittlerweile verzweifelt, versuche ich einen AD9851 vernünftig
anzusteuern.
Ich habe hier das Phänomen, dass bei gewissen Frequenzen das Signal am
Oszi einen "Schatten" hat.
Aktuell bei 3950kHz+9000kHz=12950MHz. Das Sinus ist gut sichtbar und der
Schatten scheint um 180° Phasenverschoben zu sein.
Mein Tuningword berechne ich aktuell so (mikroPASCAL):
1
function AD9851_Calculate_Frequency_V2(inFrequency, inReferenceOszillator: dword): dword;
2
const Two30 = 1073741824;
3
var phase: dword;
4
r: real;
5
Begin
6
r:=Two30/inReferenceOszillator;
7
Phase:=round(inFrequency*4*R);
8
result:=phase;
9
end;
Übertragen werden zuerst die Frequenz-TuningBits und danach das
ControllByte.
Das ControlByte ist %00000001
ist der Sinus am Oszi "sauber", zeigt auch der Spektrumanalyzer einen
sauberen Peak an.
Zu meiner Frage:
Wie kann ich die "Schattenspiele" verhindern?
LG
Günter
Nein.
Hab den Punkt vergessen.
Aktuell bei 3950kHz+9000kHz=12.950MHz. Das Sinus ist gut sichtbar und
der
Schatten scheint um 180° Phasenverschoben zu sein.
LG
Günter
In dem Codenschnipsel in deinem letzten Post versuchst du ein 13.5 MHz
Signal mit einer DDS Clock von 30 MHz zu erzeugen. Wenn du dir das
ungefilterte Signal mal mit dem Design Tool auf der Analog Devices
Website anschaust wirst du sehen dass das schwer zu filtern ist, um noch
einen halbwegs vernünftigen Sinus zu bekommen. Mit dem 6x Clock
Multiplier würde schon das ungefilterte Signal viel besser sein und ist
daher auch leichter weiter zu verarbeiten.
Wie sieht dein Ausgangsfilter den aus?
Wie Achim schon schrieb:
Wähle bei http://designtools.analog.com/dtDDSWeb/dtDDSMain.aspx den
AD9851 aus, wähle
Reference Clock: 30 MHz
Output Frequency: 13500 KHz
Ref Clock Multiplier: Bypass (no multiplier),
stelle unten den Filter auf Lowpass mit 60 MHz Grenzfrequenz und sieh
dir das Ergebnis an.
Mit aktiviertem 6x Multiplier
Alex H. schrieb:> Mit aktiviertem 6x Multiplier> AD9851_Send_CtrlW(%10000000);> sollte es besser aussehen.
Ich glaube es müsste AD9851_Send_CtrlW(%00000001) heißen. Außerdem muss
dann natürlich auch das frequency tunig word entsprechen geändert
werden.
Achim schrieb:> Ich glaube es müsste AD9851_Send_CtrlW(%00000001) heißen. Außerdem muss> dann natürlich auch das frequency tunig word entsprechen geändert> werden.
Stimmt natürlich beides.
Danke euch allen.
Wie ich im Eröffnungspost geschrieben habe,
Aktuell bei 3950kHz+9000kHz=12950MHz.
Das Sinus ist gut sichtbar und der Schatten
scheint um 180° Phasenverschoben zu sein.
[...]
Übertragen werden zuerst die Frequenz-TuningBits und danach das
ControllByte. Das ControlByte ist %00000001
Ist der Sinus am Oszi "sauber", zeigt auch der
Spektrumanalyzer einen sauberen Peak an.
Habe ich zuerst auch mit x6 versucht.
Ich verstehe jedoch nicht, wieso das beschriebene Problem nicht bei
jeder Frequenz auftritt. Und ich bin ratlos wie ich nun weiter vorgehen
könnte.
PS: Die AD9851er Funktionen übertragen die Bits von rechts nach links.
Noch eine Frage: das x6 Bit? Schaltet dieses intern im AD9851 einen
Frequenzvervielfacher hinzu?
LG
Günter
Günter W. schrieb:> Danke euch allen.>> Wie ich im Eröffnungspost geschrieben habe,>>> Aktuell bei 3950kHz+9000kHz=12950MHz.> Das Sinus ist gut sichtbar und der Schatten> scheint um 180° Phasenverschoben zu sein.> [...]> Übertragen werden zuerst die Frequenz-TuningBits und danach das> ControllByte. Das ControlByte ist %00000001>> Ist der Sinus am Oszi "sauber", zeigt auch der> Spektrumanalyzer einen sauberen Peak an.>> Habe ich zuerst auch mit x6 versucht.>> Ich verstehe jedoch nicht, wieso das beschriebene Problem nicht bei> jeder Frequenz auftritt. Und ich bin ratlos wie ich nun weiter vorgehen> könnte.
Ich bin auch ratlos, wie dein Signal aussieht. Hat der Schatten die
selbe Frequenz ist aber um 180° verschoben? Dann würde er sich mit dem
eigentlichen Signal auslöschen.
Wie sieht dein Aufbau aus? Triggert dein Oszi vielleicht auf beide
Flanken?
> Noch eine Frage: das x6 Bit? Schaltet dieses intern im AD9851 einen> Frequenzvervielfacher hinzu?
Ja, dadurch wird die Referenzfrequenz versechsfacht. Damit sollte
zumindest das Signal aus deinem Beitrag
Beitrag "Re: AD9851 & Schattenspiele am Oszi"
besser aussehen.
Hast du eigentlich schon das Datenblatt durchgelesen?
Hallo Alex,
ich danke dir für deine Mühe, mein teilweise unzulängliches Posting zu
verstehen. Ich war leider erst heute in der Lage zwei Fotos von meinem
Oszi zu machen.
Alex H. schrieb:> Ich bin auch ratlos, wie dein Signal aussieht. Hat der Schatten die> selbe Frequenz ist aber um 180° verschoben? Dann würde er sich mit dem> eigentlichen Signal auslöschen.
Ich habe zwei Screenshots angehängt. Das kaputte Signal entsteht bei
19.450 MHz.
> Wie sieht dein Aufbau aus? Triggert dein Oszi vielleicht auf beide> Flanken?
Ich habe hier ein TRIO 60 MHz Oszi. Ich glaube nicht dass es auf beiden
Flanken triggert. Wissen jedoch tue ich es nicht.
Mein Aufbau:
DDS: DDS-60 vom AMQRP Club
(http://www.midnightdesignsolutions.com/dds60/index.html#Schematic), Der
Oszillator läuft mit 30MHz
CPU: ATMEGA 16 auf easyAVR6 Board.
Sprache: mikroPASCAL. Habe keinen Programmer für dieses Board und
BASCOM. C kann ich nicht so gut.
Das DDS Modul ist am PORT B angeschlossen. Stromversorgung (5V) via
easyAVR Board.
Software:
Ich habe die Frequenzen sowohl mit x6 als auch mit x1 berechnet.
Bei x6 verwende ich als Referenzfrequenz dann 180MHz anstatt von
30MHz.
Dieses FTW beispielsweise wurde mit dem Onlinetool berechnet. Als
RefClock habe ich 30MHz eingegeben.
AD9851_Send_FTW(%0001010010001101000101011001111);
// 6x 14.450MHz Phasenüberlagert
AD9851_Send_CtrlW(%00000001);
Letztlich ist das Ergebnis gleich. Es spielt auch keine Rolle ob die
Frequenzen selbst in der CPU berechnet werden oder via Designtool als
Festfrequenz übertragen werden. Bei manchen Frequenzen ist der Output
sauber (Oszi und Spectrumanalyzer), bei manchen eben nicht.
LG
Günter
Günter W. schrieb:>> Wie sieht dein Aufbau aus? Triggert dein Oszi vielleicht auf beide>> Flanken?>> Ich habe hier ein TRIO 60 MHz Oszi. Ich glaube nicht dass es auf beiden> Flanken triggert. Wissen jedoch tue ich es nicht.
Das Bild 07122010.jpg sieht nach schlechtem Trigger aus. Versuche mal
HF-Trigger statt AC (oder umgekehrt), Triggerlevel nicht Auto, sondern
Manuell, evtl. Holdoff-Regler drehen.
tschuessle
Bernhard
Danke Bernhard für deinen Input.
Leider hat das auch nicht zum Erfolg geführt.
In den Dateien befindet sich der Output bei 10.4 MHz.
Ich meine, wenn das OSZI nicht richtig Triggern kann, dann müsste beim
Spektrumanalyzer ein deutlicher PEAK zu sehen sein.
IDEE: Ist hier jemand des C's oder ASM mächtig? Ein Refernzprogramm wäre
echt toll.
Board: easyAVR6
CPU: ATMEGA16, extern CLK mit 8MHz Quarz
var
b9851_fqud: sbit at PORTB.1; // LOAD
b9851_clk: sbit at PORTB.2; // CLOCK
b9851_data: sbit at PORTB.3; // DATA
für 10.4 MHz + 9MHz = 19.4 MHz
Ich habe leider kein TTL Speicheroszi. Somit kann ich nur hoffen, die
Bits korrekt zu übertragen.
LG
Günter
Also dein letztes Oszilloskop Bild sieht immer noch so aus als ob der 6x
clock multiplier nicht an sein. Ändert sich an der Ausgabefrequenz denn
etwas wenn du nur das control word änderst? Also den clock multiplier
an- und ausschaltest bei gleichem frequency tuing word?
Du sagst das es keinen Unterschied macht ob du den 6x multiplier an hast
oder nicht. Kannst du dann noch mal ein Oszilloskop und Spektrumanalyzer
Bild von der gleichen Frequenz mit und ohne clock multiplier machen?
(Mit entsprechend veränderten frequency tunig word). Bei dem Oszilloskop
Bild wäre zudem die Time/DIV und Volt/DIV Werte interessant.
Hallo Achim,
danke für deine Anregung. Deiner Aufforderung nach habe ich drei PDF's
mit allen Parametern erstellt. Ich hoffe diese sind zur
Fehlereingrenzung hilfreich genug.
LG
Günter
Ich möchte hier noch einen BASCOM Code beisteuern, welcher bei 19400kHz
das exakt gleiche Phänomen erzeugt.
Ich bin jetzt mit meinem Latein komplett am Ende.
Ich hatte die Hoffnung mit meinen PASCAL Code etwas vermurkst zu haben -
dies scheint jedoch nicht der Fall zu sein.
LG und ein frustrierter
Günter
1
'Bascom-AVR code for Atmega16 and AD9851 with an 30.000 Mhz Xtal
Habe den Fehler gefunden.
der AD9851 braucht mindestens 5.0V + ein Paar zerquetschte.
Bei mir ist die Spannung auf 4.9V irgendwas runtergegangen. Das reicht
für mache Frequenzen nicht.
Kleine Ursache, Große Wirkung
LG
Günter