Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 21 lut 2025, o 23:46


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 
Autor Wiadomość
PostNapisane: 23 lut 2017, o 07:32 
Offline
Nowy

Dołączył(a): 29 lis 2016
Posty: 11
Pomógł: 0

Witam!
Szanowni forumowicze. Prosiłbym o pomoc w zaprogramowaniu układu AD9850 poprzez uC avr, tak aby na wyjściu otrzymać jedną określoną częstotliwość. Najlepsza by była instrukcja krok po kroku jak dla idioty, ale wszystkie wskazówki mile widziane.
Z góry dziękuję i serdecznie pozdrawiam!
J



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2017, o 12:04 
Offline
Nowy

Dołączył(a): 14 cze 2015
Posty: 24
Lokalizacja: Olesno
Pomógł: 5

SunRiver na swojej stronie opisał obsługę tego DDSa.
http://www.sunduino.pl/wordpress/prosty ... 1-czesc-1/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2017, o 17:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 258
Lokalizacja: Norwegia
Pomógł: 16

Musisz ogarnąć transmisję po SPI.
Podam Tobie dwie funkcje które zrobiłem do swojego projektu
Najpierw zrób inicjację SPI dla Twojego procka.
Zadeklaruj częstotliwość zegara w Twoim AD9850 która zapewne wynosi 125Mhz
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Musisz zainicjować też ten scalak w ten sposób
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Tutaj masz działanie obliczające słowo qrg czyli to co musisz wysłać do DDSa
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Tutaj masz funkcję wysyłania słowa qrg do modułu DDS -
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Zrobiłem sobie taki syntezer sterując go Atega88
Będziesz miał pytania pisz.

_________________
SP2LUB - LA1BUA



Ostatnio edytowano 23 lut 2017, o 17:53 przez SP2LUB, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2017, o 17:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 258
Lokalizacja: Norwegia
Pomógł: 16

Data z funkcji powyżej to częstotliwość jaką chcesz uzyskać podana w postaci liczby dziesiętnej na przykład
1KHz - 1000
15MHz - 15000000
3,7MHz 3700000
itd
czyli jeżeli wpiszesz tak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

wysyłasz do swojego DSSa rozkaz wygenerowania częstotliwości 3700000Hz czyli 3,7Mhz


Autor postu otrzymał pochwałę

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2017, o 18:29 
Offline
Nowy

Dołączył(a): 29 lis 2016
Posty: 11
Pomógł: 0

Dzięki wielkie za pomoc. Przeglądałem trochę sieć i takich opisów znalazłem dużo. Mi chodzi o taki prosty opis, mianowicie jak podłączyć piny uC np. Atmega328 z AD9850 i jaki program wgrać do atmegi żeby dds wystawiał zadana przez program czestotliwosc. Zmieniać jej nie chce jak już ustawie więc nie potrzebuje enkodera ani lcd. Pozdrawiam.

------------------------ [ Dodano po: 10 minutach ]

Dzięki SP2LUB szczerze mowiac czekałem na Twoja wypowiedz w tym temacie:). Dokładnie częstotliwość mojego zegara wynosi 125 000000. Jak przyjdę do domu to będę działał. Czy mogę w razie co pytać na priv? Wysłałem Ci ostatnio pytanko o PLL na ne564 ale chyba nie widziałeś. Pzdr



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2017, o 19:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 258
Lokalizacja: Norwegia
Pomógł: 16

oczywiście pisz. Ja jestem raczkujący w programowaniu, ale jakiś czas temu przekopałem wszystkie dostępne źródła żeby ogarnąć temat najlepiej dopasowując to swoich potrzeb i języka C. Powyżej podałem wyrywki swojego programu, ale tam trzeba właśnie ogarnąć hardware...
W swoich zabawach zauważyłem że bardzo ważna jest inicjacja tej kości, czyli w odpowieni sposób wysłać sygnały reset i sck żeby DDS zrozumiał że chcemy wysyłać serial data do niego... czyli musisz użyć SPI i dwóch portów to latchowania, resetowania DDSa

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 mar 2017, o 02:05 
Offline
Nowy

Dołączył(a): 29 lis 2016
Posty: 11
Pomógł: 0

Napisałem taki oto program:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


no i podłączyłem tak w uproszczeniu:
Obrazek

Niestety na wyjsciu modułu ad9850 nic się nie pojawiło, więc się chyba nie skomunikował.
Co jest grane :)?

J



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 mar 2017, o 20:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Witam,
john napisał(a):
uint32_t zegar= 125000000;
uint32_t data;
uint32_t qrg;
mi tu nie pasuje coś.
john napisał(a):
            data=1000;
            qrg = data * 4294967296/zegar; // ?? --> czyli 1000*4294967296?? uint32_t to max 4294967296 , potem dopiero jest / zegar


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2017, o 03:30 
Offline
Nowy

Dołączył(a): 29 lis 2016
Posty: 11
Pomógł: 0

Zmieniłem wszędzie qrt na uint64_t ale nie działa dalej :( Nie wiem co jest grane z tym uC... Wgrałem do atmegi328p kod z bb 09_SPI. Jak używam SPI sprzętowe to nie mogę żadnego przebiegu zarejestrować na oscyloskopie, a jak używam programowe to elegancko widzę co się dzieje. W ds jest napisane jeszcze żeby w PRR ustawiony był PRSPI na zero, też ustawiłem ale to i tak jest 0 fabrycznie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2017, o 07:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 258
Lokalizacja: Norwegia
Pomógł: 16

Przepraszam Cie że dopiero teraz odpowiadam.

Tu masz poprawnie ustawioną traansmisję SPI

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Po prostu do tej kości musisz wysyłać pierwszy LSB

Potem jeszcze zerknę na resztę kodu, to tak co mi się teraz na szybko zobaczyło..

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2017, o 08:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Jeszcze jedna istotna sprawa.
Czy ustawiając sprzętowe SPI zmieniasz piny na sprzętowe.?
Bo widzę że ustawiasz na porcie D.?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2017, o 18:26 
Offline
Nowy

Dołączył(a): 29 lis 2016
Posty: 11
Pomógł: 0

Właśnie nie i tego mi brakowało w logicznym analizowaniu mojego kodu. Jak to zrobić?:))



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2017, o 19:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

john napisał(a):
Właśnie nie i tego mi brakowało w logicznym analizowaniu mojego kodu. Jak to zrobić?:))

Jeżeli dobrze rozumiem - to zerknij do noty atmegi-.... 328P i 88
które to nogi są od sprzętowego SPI :)
SS (LC)(CS) można wybrać dowolnie. Pozostałe na sztywno są ustalone.
Obrazek


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2017, o 19:45 
Offline
Nowy

Dołączył(a): 29 lis 2016
Posty: 11
Pomógł: 0

No właśnie nie wiem co mi się ubzduralo że mogę sobie obojętnie jakie piny wybrać... zaraz będę w domu i sprawdzę:) dzięki!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2017, o 20:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 258
Lokalizacja: Norwegia
Pomógł: 16

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

U mnie tak to wygląda. Konfig sprzętowy

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2017, o 22:08 
Offline
Nowy

Dołączył(a): 29 lis 2016
Posty: 11
Pomógł: 0

Ok, wszystko działa. Dziękuję za pomoc!!!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2017, o 23:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

john napisał(a):
No właśnie nie wiem co mi się ubzduralo że mogę sobie obojętnie jakie piny wybrać..

Każdemu się zdarza coś sobie ubzdurać
i dopóki ktoś inny nie zauważy to szukamy nie tam gdzie jest chochlik. :)
No ale po to właśnie mamy forum. ;)
Pozdrawiam Darek.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2017, o 07:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 258
Lokalizacja: Norwegia
Pomógł: 16

No i fajnie :) Przy pomocy tych modułów można robić fajne układy do wyposażenia własnego laboratorium pomiarowego, albo właśnie generatory w układach radiowych. Jeżeli zechcesz wykorzystać taki moduł w szerszym spektrum częstotliwości, to zwróć uwagę że sygnał na wyjściu sinus, spada liniowo w funkcji częstotliwości. Żeby temu zaradzić stosuje się wzmacniacze logarytmujące albo widziałem też jeden z kolegów w sieci zrobił układ automatycznej regulacji wzmocnienia. Przy cyfrowym sterowaniu, niemal wszystko jest możliwe :) Mi zabawa z tym układem dała dużo radochy.

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 8 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO