Odpowiedz 
 
Ocena wątku:
  • 3 Głosów - 3.33 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Programowanie w języku C w środowisku AVR Studio4
SP4EJT Offline
Marcin
****

Liczba postów: 340
Dołączył: 06-05-2011
Post: #117
RE: Programowanie w języku C w środowisku AVR Studio4
Jadymy dalej... skopiowałem kod z posta #117 i troche go dostosowałem do naszych potrzeb - zrobiłem z niego osobną funkcję która wysyła bajt do DDSa. Usunąłem też komentarze z kodu, żeby nie "zaśmiecały"
Kod:
void bajt_DDS(unsigned char bobo)
{
   for(i=0; i<8; i+=1)
   {
      if(bobo&0b10000000)
      { PORTB = PORTB|0b00000010; }
      else
      { PORTB = PORTB&(~0b00000010); }
      PORTB = PORTB|0b00000001;
      PORTB = PORTB&(~0b00000001);
      bobo = bobo << 1;
   }
}
Przypuścmy że wlutowaliśmy w płytkę DDSa generator kwarcowy 100MHz i chcemy żeby DDS chodził na częstotliwości nominalnej czyli 400MHz.
Aby zainicjować naszego DDSa musimy po podaniu napięcia/zresetowaniu
wysłać do niego 4 bajty:
1. 0b00000001
2. 0b00000000
3. 0b00000000
4. 0b00100100
Czynimy to za pomocą naszej funkcji bajt_DDS(tu_wpisujemy_wartość_bajtu)
Czyli w program trzebaby wpisać:
Kod:
bajt_DDS(0b00000001);
bajt_DDS(0b00000000);
bajt_DDS(0b00000000);
bajt_DDS(0b00100100);
KONIEC inicjacji !!
Najważniejsza z tego sprawa to czwarty bajt ... ustawia się nim mi ędzy innymi mnożnik dla taktowania DDSa. 5 najstarszych bitów tego bajtu za to odpowiada
czyli 0b00100100
Jeśli chcecie przetaktować na 500 MHz - mając generator 100MHz mnoznik musi być 5x - będzie to wyglądać tak: bajt_DDS(0b00100100);
Jesli zaś nie dysponujecie generatorem 100MHz, a posiadacie 50MHz lub 40 lub inny jakiś to tez da radę. Dla 50MHz trzeba ustawić mnożnik 8x bo 8x50=400MHz czyli bajt_DDS(0b01000100);
Dla generatora 40MHz trzeba ustawić mnożnik 10x czyli bajt_DDS(0b01010100);
Jutro dalsza część a mianowicie sklejanie obsługi DDSa do kupy a potem dodanie konfiguracji aby możnabyło wykorzystać dowolny PORT atmegi do sterowania DDSem wedle naszych potrzeb.
(Ten post był ostatnio modyfikowany: 19-02-2012 23:20 przez SP4EJT.)
19-02-2012 23:20
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Wiadomości w tym wątku
RE: Programowanie w języku C w środowisku AVR Studio4 - SP4EJT - 19-02-2012 23:20

Skocz do:


Użytkownicy przeglądający ten wątek: 8 gości