Mam problem z wewnêtrznym generatorem RC w ATTINY2313. Fabrycznie uk³ady ustawione s± na 8MHz z podzia³em czêstotliwo¶ci przez 8. Wy³aczam wiêc podzia³ przez 8 (bit CKDIV8) i wszystko jest OK ale poszczególne egzemplarze maja bardzo du¿y rozrzut czêstotliwo¶ci wewnêtrznego zegara RC. Z tego co mo¿na wyczytaæ na stronie Atmela w fabryce uk³ady ustawiane s± z dok³adno¶ci± do 3%. W praktyce kupi³em 7 uk³adów Attiny 2313 i ka¿dy z nich ma inn± czêstotliwo¶æ wewnêtrznego zegara. Zrobi³em w programie wpisanym do procka podzia³ zegara przez 210 i otrzymujê na nodze czêstotliwo¶c 38kHz. W praktyce poszczególne egzemplarze daj± na nodze czêstotliwo¶ci od 28kHz do
46kHz wiêc rozrzut czêstotliwo¶ci poszczególnych egzeplarzy wynosi kilkadziesi±t %. Sprawdzi³em w prockach bajt kalibracji i w ka¿dym egzemplarzu jest zapisany inna warto¶æ tego bajtu.
egzemplarz czêstotliwo¶c uzyskiwana bajt kalibracji
1 46kHz 0x52
2 41kHz 0x59
3 38kHz 0x5D
4 36kHz 0x61
5 35kHz 0x64
6 30kHz 0x6D
7 28kHz 0x70
Widaæ, ¿e czêstotliwo¶æ zegara ma zwi±zek z warto¶ci± bajtu kalibracji wpisanego fabrycznie do uk³adu. Sk±d siê biezrze taki rozrzut, czy to jest normalne. Jak to unormowaæ? Wyczyta³em, ¿e po restarcie bajt kalibracji jest przepisywany do rejestru OSCCAL w uk³adzie. Próbujê wiêc w programie wpisywaæ do tego rejestru warto¶æ 0x5D ale nie zmienia to czêstotliwo¶ci w ¿adnym egzemplarzu. Uk³ady programujê przez AVR-studio. Mo¿na tam odczytaæ warto¶æ bajtu kalibracyjnego ale nie mo¿na jej zapisaæ pod zmieniaon± warto¶ci±. Nie mam ju¿ pomyslu co robiæ. Mo¿e kto¶ ju¿ siê mordowa³ z tym tematem?
Zbyszek