Kurs XMEGA: uklad PLL (10)

|

Strona przeniesiona na nowy adres:
extronic.pl


13 komentarze :

ursmar pisze...

W jakim programie powstał schemat?

Dominik Leon Bieczyński pisze...

W Excelu :)

ursmar pisze...

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

Dominik Leon Bieczyński pisze...

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

Cegła pisze...

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ł :)

uKlocki pisze...

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

uKlocki pisze...

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

Dominik Leon Bieczyński pisze...

Bo to jest biblioteka lokalna a nie globalna

Unknown pisze...

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ę.

Dominik Leon Bieczyński pisze...

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

Unknown pisze...

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.

Dominik Leon Bieczyński pisze...

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ż |=)

Rafał pisze...

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

Prześlij komentarz

Skomentuj!