Strony

Kurs XMEGA: uklad PLL (10)

Strona przeniesiona na nowy adres:
extronic.pl


13 komentarzy:

  1. W jakim programie powstał schemat?

    OdpowiedzUsuń
  2. No te bloczki kolorowe tak mi właśnie znajomo wyglądały ;)

    OdpowiedzUsuń
  3. Rysunku do tych artykułów też powstawały w Excelu :)
    http://www.leon-instruments.pl/2013/03/verilog-pwm-z-korekcja-fazy.html
    http://leon-instruments.blogspot.com/2013/09/wzmacniacze-operacyjne.html

    OdpowiedzUsuń
  4. Ciekawostka:
    W xmega64A3 w dokumentacji także jest wektor przerwania "OSCF_INT_vect" jednakże w pliku rejestrów iox64a3.h jest "OSC_XOSCF_vect" jako ten właśnie wektor 1.
    Tak jak by ktoś szukał :)

    OdpowiedzUsuń
  5. Dlaczego ostatni zdefiniowany plik naglowkowy .h jest w "" a nie <> ?

    OdpowiedzUsuń
  6. Dlaczego ostatni .h jest w "" a nie <> ?

    OdpowiedzUsuń
  7. Bo to jest biblioteka lokalna a nie globalna

    OdpowiedzUsuń
  8. Witam.
    Mam problem ze skonfigurowaniem PLL. Wywołanie funkcji:
    http://pastebin.com/cn0e92dG
    kręci moją ATXmega16D4-AU do 40 MHz zamiast 32MHz (sprawdzałem na timerze i używając delay, oba sposoby wykazując 40MHz).
    Gdy jako sygnał zegarowy ustawię rezonator kwarcowy dostaję ładne 16MHz, czyli coś źle robię z PLL.
    PLL taktowany z 16MHz rezonatora, mnoży zegagar x8, później preskalery B i C dzielą zegar każdy przez dwa, co powinno dać 32MHz
    Mógłby mi Pan powiedzieć co jest nie tak?
    Dziękuję.

    OdpowiedzUsuń
  9. W jaki sposób dokładniej mierzysz częstotliwość zegara?

    OdpowiedzUsuń
  10. Wiem, że linkowanie do obcego forum nie jest ładne, ale proszę najwyżej tego nie dodawać do komentarzy.
    http://forum.atnel.pl/topic10829.html
    Wie może pan dlaczego |= nie jest równoznaczne z =, jeżeli wg. noty initial value rejestru OSC_PLLCTRL to 0? Proszę o maila. deerjelen@gmail.com. Ew mógłbym podesłać disassembly obu funkcji.

    OdpowiedzUsuń
  11. Trudno powiedzieć. Najprawdopodobniej coś już było wpisane do OSC_PLLCTRL i użycie operatora |= nadpisało nową wartość na starą i w ten sposób możliwe, że PLL dostawał nie ten sygnał co trzeba. Zdecydowanie odradzam stosowanie operatorów |= oraz &= wszędzie jak leci, bo można się na tym nieźle przejechać. Tylko operator = daje pewność, że odpowiednie bity zostaną ustawione lub wyzerowane (a poza tym = działa szybciej i zajmuje mniej pamięci niż |=)

    OdpowiedzUsuń
  12. Witam. W książce "AVR Praktyczne projekty" i w tym artykule pisze Pan, że do poprawnej pracy PLL, czętotliwość wyjściowa zegara musi wynosić co najmniej 10 MHz. Mógłby Pan podać źródło tej informacji bo szukałem w nocie PDF mojego procesora (ATXmega128A1U" oraz w dokumentacji AVR:1003 i nie udało mi sie na to trafić. Rozumiem przez to, że dla wewnętrznego oscylatora RC 2 MHz i PLL = 4 nie uda się uzyskać 8 MHz bo coś będzie się "krzaczyć"?
    Pozdrawiam

    OdpowiedzUsuń

Skomentuj!