Witam
Prześledziłem posty na temat AD9850 (wydaje mi się, że wszystkie na elektrodzie) i nie znalazłem odpowiedzi na mój problem.
Zmontowałem sobie DDS na układzie AD9850, który jest sterowany przez 89C4051 i mam problem. Do częstotliwości 1MHz jest wszystko ok (jeśli chodzi o częstotliwość). Generuje sygnał o zadanej częstotliwości. Problem sie pojawia jak chce ustawić częstotliwość powyżej 1MHz. Gdy ustawię 2Mhz to generuje sygnał o częstotliwości 3MHz, a jeżeli ustawie 3MHz to generuje o częstotliwości 5MHz, przy 4 generuje f=7MHz itd. Tak jak by dodawał co 2MHz. teraz przy zmianie częstotliwości w dół dzieje się coś takiego: powiedzmy ze zmieniam z 7MHz w dół (pamiętajmy ze przy 7MHz ustawionych generuje sygnał o f=13MHz) to przy zmianie na 6 nic sie nie dzieje dalej generuje sygnał o f=13MHz przy zmianie z 6MHz na 5MHz zmienia sie o 2 MHz czyli generuje 11MHz itd. Co dziwne gdy dojdę do 1MHz (ustawię) to generuje właściwą częstotliwość.
To pierwszy problem. Drugi to zmiana amplitudy wraz ze wzrostem częstotliwości. Im większa częstotliwość tym mniejsza wartość sygnału na wyjściu układu.
Kod odpowiedzialny za przeliczenie częstotliwości:
Kod który jest odpowiedzialny za wysłanie inf. do AD9850:
A użyłem kwarcu 100MHz do AD9850, konfiguracja do układu wysyłana jest szeregowo.
Proszę o pomoc.
Prześledziłem posty na temat AD9850 (wydaje mi się, że wszystkie na elektrodzie) i nie znalazłem odpowiedzi na mój problem.
Zmontowałem sobie DDS na układzie AD9850, który jest sterowany przez 89C4051 i mam problem. Do częstotliwości 1MHz jest wszystko ok (jeśli chodzi o częstotliwość). Generuje sygnał o zadanej częstotliwości. Problem sie pojawia jak chce ustawić częstotliwość powyżej 1MHz. Gdy ustawię 2Mhz to generuje sygnał o częstotliwości 3MHz, a jeżeli ustawie 3MHz to generuje o częstotliwości 5MHz, przy 4 generuje f=7MHz itd. Tak jak by dodawał co 2MHz. teraz przy zmianie częstotliwości w dół dzieje się coś takiego: powiedzmy ze zmieniam z 7MHz w dół (pamiętajmy ze przy 7MHz ustawionych generuje sygnał o f=13MHz) to przy zmianie na 6 nic sie nie dzieje dalej generuje sygnał o f=13MHz przy zmianie z 6MHz na 5MHz zmienia sie o 2 MHz czyli generuje 11MHz itd. Co dziwne gdy dojdę do 1MHz (ustawię) to generuje właściwą częstotliwość.
To pierwszy problem. Drugi to zmiana amplitudy wraz ze wzrostem częstotliwości. Im większa częstotliwość tym mniejsza wartość sygnału na wyjściu układu.
Kod odpowiedzialny za przeliczenie częstotliwości:
Sub Policz
Frq = 0
Frqz = 0
Frqz = 1h * 43
Frq = Frq + Frqz
Frqz = 10h * 430
Frq = Frq + Frqz
Frqz = 100h * 4295
Frq = Frq + Frqz
Frqz = 1k * 42950
Frq = Frq + Frqz
Frqz = 10k * 429497
Frq = Frq + Frqz
Frqz = 100k * 4294969
Frq = Frq + Frqz
Frqz = 1m * 42949673
Frq = Frq + Frqz
Kat = Faza
End Sub Kod który jest odpowiedzialny za wysłanie inf. do AD9850:
Sub Wyslij1
Set Fq_ud
nop
nop
Reset Fq_ud
A = 0
For A = 0 To 31
Dana = Frq.a
Set W_clk1
nop
nop
Reset W_clk1
Next A
A = 0
Reset Dana
For A = 0 To 7
Set W_clk1
nop
nop
Reset W_clk1
Next A
Set Fq_ud
nop
nop
Reset Fq_ud
End Sub
A użyłem kwarcu 100MHz do AD9850, konfiguracja do układu wysyłana jest szeregowo.
Proszę o pomoc.