Niby prosta obsługa modułu AD9833 (kilka rejestrów po spi lub shiftout )a jednak nie bardzo . Wzorowałem się z stron
http://elektron.ucoz.ua/load/izmerenija ... 3/2-1-0-84
http://microsin.net/adminstuff/hardware ... rator.html
i niestety poległem :/ . Programy przerabiałem pod xmega , chodziły ale nie tak jak powinny (nie ta częstotliwość lub czasami cisza) .
Ma ktoś kawałek kodu z zapisem do rejestrów tak by naprzykład widzieć na oscyloskopie częstotliwość 10kHz w sinus , 2kHz prostokąt .
AD9833 szału zaraz dostanę :)
- tomaszdko
- Posty: 78
- Rejestracja: 06 gru 2018, 19:58
- niveasoft
- Posty: 1239
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: AD9833 szału zaraz dostanę :)
Na Forum MCS jest kod (02/2020) i przykłady autorstwa O-Family ->
https://www.mcselec.com/index2.php?opti ... ght=ad9833
Trzeba być tam zalogowanym by móc widzieć załączniki. W razie problemu napisz.
https://www.mcselec.com/index2.php?opti ... ght=ad9833
Trzeba być tam zalogowanym by móc widzieć załączniki. W razie problemu napisz.
- tomaszdko
- Posty: 78
- Rejestracja: 06 gru 2018, 19:58
Re: AD9833 szału zaraz dostanę :)
Dobra jakoś poszło . Więc tak by zaprogramować AD9833 przez spi trzeba skonfigurować samo SPI na MODE2
Config Spid = Hard , Master = Yes , Mode = 2 , Clockdiv = Clk64 , Data_order = msb , Ss = auto
Open "SPId" For Binary As #12
AD9833 ma inny standart clock-spi , musi zaczynać się zboczem opadającym jak w DS pokazano na stronie 4 , rysunek 4 (xmega w MODE=0 ma zbocze narastające , więc dajemy MODE=2 ) .
Najprościej skonfigurować wysyłając 4 word :
Tak zazwyczaj wyglądają dane do wprowadzenia by skonfigurować AD9833 ale to nie koniec bo trzeba zamienić MSB z LSB używając polecenia SWAP
i dopiero można wysłać po SPI przez polecienie PRINT
Dobra , teraz muszę pokombinować z 2 rejestrami częstotliwości by wrowadzić płynnie częstotliwość (zawsze muszą komplikować , 2 bajty 16 bit w których trzeba użyć po 14 bit ostatnich czyli 28 bit ehhh)
Config Spid = Hard , Master = Yes , Mode = 2 , Clockdiv = Clk64 , Data_order = msb , Ss = auto
Open "SPId" For Binary As #12
AD9833 ma inny standart clock-spi , musi zaczynać się zboczem opadającym jak w DS pokazano na stronie 4 , rysunek 4 (xmega w MODE=0 ma zbocze narastające , więc dajemy MODE=2 ) .
Najprościej skonfigurować wysyłając 4 word :
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- k(1)=&B00100001_00000000 '- włącza reset i możliwość zapisu częstotliwości
- k(2)=&B01000000_11111111 '- ustawienie czestotliwości
- k(3)=&B01000000_00000000 '- ustawienie czestotliwości
- k(4)=&B00100000_00000000 '-wyłączenie reset i zapis
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- swap k(1)
- swap k(2)
- swap k(3)
- swap k(4)
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- Print #12 ,k(1)
- Print #12 ,k(2)
- Print #12 ,k(3)
- Print #12 ,k(4)