Mam pytanie ..wlasnie zaczynam zabawe AVR'ami, kupilem sobie sztuke takiego ATMega8535 ..i gdzies mi sie obilo o uszy ze przed pierwszym zaprogramowaniem musze z niego odczytac wartosci kalibracyjne dla wewnetrzego oscylatora ...czy to prawda ? A jesli tak czy zwykly programtor SPI i np Bascom poradzi sobie z tym ?
Nowy ATMEGA 8535
Apr 07, 2005
13 Replies
hmm, programowalem ATMege8 nie wydaje mi sie zeby by³o cos takiego, tzn cos mi sie obilo o uszy ale to w temacie przestawiania fusebit'ow przy pomocy bascoma co radze omijac dlugimi krokami... Do fusow urzywaj PonyProga, przeczytaj jednak najpierw albo archiwum elektrody na ten temat albo tej grupy bo nie trudno sobie narobic problemow.
Wedlug mnie aby normalnie uzywac tego rezonatora ktory jest zalaczony standardowo (wewnetrzny RC) nic nie musisz kablibrowac tylko normalnie programujesz...
Pozdrawiam Piotr
Robgold napisał(a):
Nie ma takiej potrzeby, wartości kalibracyjne czyta się, jeżeli się uzywa wewnętrznego oscylatora RC. Jak podłączasz standardowy "kwarc" to nie masz się czym przejmować, tylko musisz skonfigurować fusebits pod napędzanie zegara w ten sposób.
U¿ytkownik "Daniel Dawid <Light-I> Majewski" snipped-for-privacy@op.pl napisa³ w wiadomo¶ci news:d34hiu$1mn$ snipped-for-privacy@portraits.wsisiz.edu.pl...
No ale wlasnie chcialbym uzwyac wewnetrzego oscylatora ... i jeszcze mam pytanie czy jest ona tyle stabilny ze da sie na nim postawci transmisje na RS232 ?
Robgold napisał(a):
Masz do wyboru 1, 2, 4, 8 MHz. Dla 1MHZ niemusisz nic czytać/wpisywać, procesor robi to z automatu, jak wybierasz szybsze wartości to i musiszsobie odczytać korektę programatorem i wrzucać w procedurze resetu do OSCCAL. Stabilność - zależy od temperatury, trzeba poeksperymentować, no i złapać się w końcu za pdf-a ze strony Atmela... ;)
U¿ytkownik "Daniel Dawid <Light-I> Majewski" snipped-for-privacy@op.pl napisa³ w wiadomo¶ci news:d34lj7$v8c$ snipped-for-privacy@portraits.wsisiz.edu.pl...
Hehe no jzu przerobilem pdfa i znam te czestotliwosci ..tylko wlasnie chodzilo mi o to jak sie te poprawke wyciaga ... czy to sie odczytuje z fusow czy to gdzies fabrycznie w obszarze flash'a siedzi .... no i na ile ten wewnetrzny generator jest stabilny ...tak z praktycznego punktu widzenia.
Robgold napisał(a):
Skro przerobiłeś pdf, to i przerobiłeś dział o programowaniu... ;) Najpopularniejszy na te liście program ISPprog ;) czyta te wartości przy okazji odczytywania Fusebits. Co do praktycznego punktu widzenia, to najlepszy jest własny, masz układ, to poeksperymentuj trocha... ;)
Robgold napisał(a):
Skro przerobiłeś pdf, to i przerobiłeś dział o programowaniu... ;) Najpopularniejszy na te liście program ISPprog ;) czyta te wartości przy okazji odczytywania Fusebits. Co do praktycznego punktu widzenia, to najlepszy jest własny, masz układ, to poeksperymentuj trocha, nie miałem jeszcze potrzeby bawic sie na wewnetrznym zegarze, gdy zewnetrznymozna podgonic czasem nawet do 24MHz... ;)
Wewnetrzny oscylator nie nadaje sie za dobrze do taktowania transmisji RS232. Masz do wyboru 1 / 2 / 4 / 8 MHz, ta czestotliwosc taktowania procesora jest dzielona przez 8 lub 16 a nastepnie musi dac sie rowno podzielic przez predkosc transmisji (np. 115200). Odchylka od predkosci nominalnej jest dozwolona ale nie moze przekraczac 2% przy dzielniku 16 (najczesciej stosowanym) lub 1,5% przy dzielniku 8. Dokladne wzory i tabelki znajdziesz w PDFie do ATmega8535 od strony 158 ("Asynchronous operational range").
Do rownego taktowania transmisji RS232 przydaja sie kwarce o dosc "dziwnych" czestotliwosciach, taki dolacz i nie bedzie problemu. Np:
1843200 Hz, 3686400 Hz, 7372800 Hz, 11059200 Hz, 14745600 Hz. Musisz tez wybrac w fusebit'ach taktowanie zewnetrznym rezonatorem kwarcowym zamiast domyslnie wybranego wewnetrznego generatora.
a jak to jest w praktyce, np. dla predkosci transmisji 9600 kb/s ?? czy w praktyce sa z tym problemy czy raczej szkoda zabawy i mijsca na plytce dla kwarcu ??
Tomek
U¿ytkownik "tomm" snipped-for-privacy@poczta.gazeta.pl> napisa³ w wiadomo¶ci news:d37vnm$1su$ snipped-for-privacy@inews.gazeta.pl...
Tez mnie dokaldnie ta predkosc interesuje ..bo to bedzie komunikacja z telefonem GSM .... obecnie bawie sie na karcu 11.059Mhz i 89c2051 oprogramowanym w bascomie .... narazie wszystko dziala ale docelowo chce miec to na AVR bo '51 nie radzi sobie z odczytem danych z telefonu (za wolno , brak ramu)
Podawałem dokładne miejsce w PDFie, gdzie to można wyczytać. Atmel podał proste wzory, z których należy obliczyć maksymalną dopuszczalną odchyłkę. Przyjmując po obliczeniach np. 2% mamy dla prędkości 9600 bps:
- dla taktowania 8 MHz i dzielnika 8 (tryb U2X): 8000000 / 8 / 9600 ~ 104,16
- przybliżamy 104,16 do liczby całkowitej 104 czyli prędkość wyjdzie:
8000000 / 8 / 104 ~ 9615 bps- 9615/9600 = 1,0015625 czyli odchyłka 0,15% tzn. wszystko będzie grało
- trzeba jeszcze wyczytać z PDFa, w jakim zakresie może pływać ta częstotliwość oscylatora RC i policzyć odchyłkę dla częstotliwości granicznych, jeżeli zmieścisz się w dopuszczalnej odchyłce to jest OK.
Adam Dybkowski napisał(a):
ZTCP kalibracją można podganiać zagarek nawet 2x, więc ustawienie częstotliwości dający niy bład nie będzie problemem, tylko trzeba sobie dobrać na drodze eksperymentu, lub podpiąć demona szybkości dla Atmegi -
18.432MHz, który daje bardzo dobry podział.Adam Dybkowski napisał(a):
ZTCP kalibracją można podganiać zagarek nawet 2x, więc ustawienie częstotliwości dający nikły bład nie będzie problemem, tylko trzeba sobie dobrać na drodze eksperymentu, lub podpiąć demona szybkości dla Atmegi - 18.432MHz, który daje bardzo dobry podział.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required