-
1. Data: 2014-10-29 23:02:17
Temat: dds ad9850 - dziwne zachowanie
Od: Marek <f...@f...com>
Witam,
mam dziwny problem z tym układem. Działa inaczej niż opisuje
datasheet.
Na str. 8 datasheeta mamy wzór na obliczenie wartości jaką trzeba
wpisać do rejestru konfiguracyjnego układu aby uzyskać żądaną
częstotliwość Fout:
Fout = (delta Phase * CLKIN ) / 2^32
delta Phase - szukana wartość dla rejestru CLKIN - 125000000 Hz
(kwarc układu)
Po przekształceniu wzoru, mamy: delta Phase = (2^32 * Fout )
/125000000
np. aby uzyskać 1000Hz, do rejestru powinniśmy wpisać: delta Phase =
( 4294967296 * 1000) / 125000000 = 34359
Ale jak wpisuję do rejestru 34359 to na wyjściu mam sinus ~34kHz a
nie oczekiwany 1kHz. Jak wpiszę 1000 to na wyjściu mam ~1000Hz
(oscyloskop tak podaje). Wygląda tak, jakby wpisywana wartość stawała
się Fout.
Gdzie robię błąd??
--
Marek
-
2. Data: 2014-10-29 23:43:29
Temat: Re: dds ad9850 - dziwne zachowanie
Od: platformowe głupki <N...@g...pl>
cos źle robisz mi taki wzór działa
N= f&10^5 * 343,5973837
-
3. Data: 2014-10-29 23:54:23
Temat: Re: dds ad9850 - dziwne zachowanie
Od: platformowe głupki <N...@g...pl>
> N= f x 10^5 * 343,5973837
f w MHz
dla 1000 Hz mamy
34359,7
-
4. Data: 2014-10-30 08:18:05
Temat: Re: dds ad9850 - dziwne zachowanie
Od: "J.F." <j...@p...onet.pl>
Dnia Wed, 29 Oct 2014 23:02:17 +0100, Marek napisał(a):
> Fout = (delta Phase * CLKIN ) / 2^32
> delta Phase - szukana wartość dla rejestru CLKIN - 125000000 Hz
> (kwarc układu)
> Po przekształceniu wzoru, mamy: delta Phase = (2^32 * Fout )
> /125000000
> np. aby uzyskać 1000Hz, do rejestru powinniśmy wpisać: delta Phase =
> ( 4294967296 * 1000) / 125000000 = 34359
>
> Ale jak wpisuję do rejestru 34359 to na wyjściu mam sinus ~34kHz a
> nie oczekiwany 1kHz. Jak wpiszę 1000 to na wyjściu mam ~1000Hz
> (oscyloskop tak podaje). Wygląda tak, jakby wpisywana wartość stawała
> się Fout.
Jak widac Fout jest pwoporcjonalna do wartosci, ale nie tak.
> Gdzie robię błąd??
Nie odwrociles gdzies bitow/bajtow ?
Sprobuj wpisac 1001, 1002, 1003 - moze sie wyjasni.
A o slowie W0 pamietales ?
J.
-
5. Data: 2014-10-30 09:32:39
Temat: Re: dds ad9850 - dziwne zachowanie
Od: Marek <f...@f...com>
On Thu, 30 Oct 2014 08:18:05 +0100, "J.F."
<j...@p...onet.pl> wrote:
> Nie odwrociles gdzies bitow/bajtow ?
To było pierwsze co sprawdziłem. Wpisuje 30000 to na wyjściu sinus
30kHz, wpisuje 100 to na wyjściu 100 Hz. Jakieś jaja normalnie.
> A o slowie W0 pamietales ?
Tak, używam go zaincjowania transmisji szeregowej (w0=xxxxx011) a
później szeregowo, czyli napierw 32 bity freq od lsb do msb (swoją
druga czemu w datashicie wcześniej nazywają ten parametr delta phase,
a później przy opisie transmisji nazywają freq co sugeruje
frequency). Później 8 bitów 0 zero (2 bity control + 1 bit power + 5
phase), razem 40.
--
Marek
-
6. Data: 2014-10-30 16:18:29
Temat: Re: dds ad9850 - dziwne zachowanie
Od: Marek <f...@f...com>
On Thu, 30 Oct 2014 08:18:05 +0100, "J.F."
<j...@p...onet.pl> wrote:
> Nie odwrociles gdzies bitow/bajtow ?
Eh starość, oczywiście był błąd w 5 bitach fazy. Było wysyłane 2 a
nie 5, przez co fq_up był po 37 bitach a nie po 40. Ciekawe że dawało
to efekt zbliżonej Fout do tego co wpisało się do pierwszych 32
bitów. Teraz działa ok.
--
Marek
-
7. Data: 2014-10-30 17:01:09
Temat: Re: dds ad9850 - dziwne zachowanie
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Marek" napisał w wiadomości grup
On Thu, 30 Oct 2014 08:18:05 +0100, "J.F."
>> Nie odwrociles gdzies bitow/bajtow ?
>Eh starość, oczywiście był błąd w 5 bitach fazy. Było wysyłane 2 a
>nie 5, przez co fq_up był po 37 bitach a nie po 40. Ciekawe że dawało
>to efekt zbliżonej Fout do tego co wpisało się do pierwszych 32
>bitów. Teraz działa ok.
Jak pisales - zawyzalo czestotliwosc ok 34 razy.
Ale 32 to jest 5 bitow roznicy, a nie 3 (5-2) :-)
J.
-
8. Data: 2014-10-30 17:10:09
Temat: Re: dds ad9850 - dziwne zachowanie
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Marek" napisał
>Tak, używam go zaincjowania transmisji szeregowej (w0=xxxxx011) a
>później szeregowo, czyli napierw 32 bity freq od lsb do msb (swoją
>druga czemu w datashicie wcześniej nazywają ten parametr delta phase,
>a później przy opisie transmisji nazywają freq co sugeruje
>frequency).
No bo to to samo :-)
Wartosc o ktora zmieniaja faze w kazdym kroku okresla jednoczesnie
czestotliwosc.
J.
-
9. Data: 2014-10-31 01:27:19
Temat: Re: dds ad9850 - dziwne zachowanie
Od: Marek <f...@f...com>
On Thu, 30 Oct 2014 17:10:09 +0100, "J.F."
<j...@p...onet.pl> wrote:
> No bo to to samo :-)
> Wartosc o ktora zmieniaja faze w kazdym kroku okresla jednoczesnie
> czestotliwosc.
Ale tam jest też wysyłana faza (oprócz freq).
--
Marek
-
10. Data: 2014-10-31 10:38:18
Temat: Re: dds ad9850 - dziwne zachowanie
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Marek" napisał w wiadomości grup
On Thu, 30 Oct 2014 17:10:09 +0100, "J.F."
<j...@p...onet.pl> wrote:
>> No bo to to samo :-)
>> Wartosc o ktora zmieniaja faze w kazdym kroku okresla jednoczesnie
>> czestotliwosc.
>Ale tam jest też wysyłana faza (oprócz freq).
Ale to jest faza stala.
A w kazdym kroku jest faza zmieniana o ... delta phase, co wyznacza
czestotliwosc.
J.