Atmel AVR, kwarc dla UART i taktowania procesora

May 07, 2004 2 Replies

Witam,



Tworze program na procesorze ATmega16, ktory bedzie zliczal nawrotnie impulsy encodera, a do tego komunikowal sie z komputerem poprzez UART.



Z tego co sie dowiedzialem, standardowo procesor moj pracuje z czestotliwoscia 1MHz -- jest to za malo, gdyz nie nadazam ze zliczaniem impulsow encodera, dla czestotliwosci wiekszych niz ok. 5 kHz.



Potrzebuje podlaczyc kwarc, aby taktowac procesor z wieksza niz 1MHz czestotliwoscia. Do tego, kwarc ten powinien tez byc odpowiedni dla UART (0% bledow w transmisji), bo jesli dobrze rozumiem, ten sam kwarc musi taktowac procesor i byc wykorzystywany przez UART. Nie potrzebuje az 16 MHz dla procesora -- np. ok. 10 MHz bedzie OK.



Mam kwarc 11,059 MHz. Czy wystarczy go podlaczyc do XTAL1 i XTAL2 oraz cos ustawic z poziomu programu, aby procesor byl nim taktowany ? Czy podlaczenie kwarcu 11,059 MHz oznaczac bedzie, ze procesor bedzie pracowal z ta wlasnie czestotliwoscia ? Czy bez problemow ten sam kwarc bedzie mogl taktowac procesor i byc wykorzystywany w transmisji UART ?



Umpa.



Trzeba pod³aczyæ kwarc razem z dwoma kondensatorkami (np. 22p) do masy. Musisz w programatorze (nie w programie) pozmieniaæ odpowiednie bity konfiguracyjne, by ustawiæ taktowanie z rezonatora kwarcowego.

Tak

Tak

Zastanów siê jeszcze czy ta warto¶æ czêstotliwo¶ci bêdzie odpowiednia dla twojego zastosowania. Jest to typowa wygodna warto¶æ dla '51.

Pozdr EM

Znalazlem fuse bity i przestawilem wewnetrzny generator z 1MHz na 8MHz -- starczy w zupelnosci. Osiagam o wiele wieksze czestotliwosci niz mi potrzebne do zliczania impulsow encodera (max. 10kHz).

Moj kwarc 11,...MHz zastosuje wylacznie do UART -- kwarc o tej wlasnie wartosci ma 0% bledow w transmisji.

Umpa.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required