Cześć.
Potrzebuję zmienić w ATMega8L z rezonatora kwarcowego na Internal RC Oscillatr i ustawić na 8MHz. Problem w tym że w katcie katalogowej jest podane, że rejestr OSCCAL jest domyślnie ładowany wartościa domyślna dla częstotliwości 1MHz. Czy i jak mam to zrobić dla 8MHz.
Internal RC Oscillator w ATMega8
Gaweł, ja Cię bardzo przeraszam ale nie mogę się zgodzić z tym co piszesz.
Zajęło mi to troszkę czasu ale moje wnioski są następujące:
W przypadku ATMega8 do wyboru mamy 4 częstotliwości taktowania z wewnętrznym generatorem RC: 1, 2, 4 i 8MHz. Dla karzdej z tych częstotliwości jest odpowiednia wartość kalibracyjna. BASCOM-AVR podaje je jako CALIBRATOIN 0, 1,2,3 odpowiednio dla częstotliwości 1, 2, ,4 i 8 MHz. Niestety jezeli wybierzemy którąkolwiekk z nich to zawsze po esecie do rejestru OSCCAL będzie ładowana wartośc Calibration 0 i nie można tego znienić, więc jeśli wybierzemy np 8 MHz to odczytaną wartośc podaną z programatora jako Calibration 3 trzeba załadować samemu. Te wartości podane i zapisane przez producenta są dla typowych warunków pracy tzn 25 st. C itd. Jeśli układ będzie pracował np w 0 st C to oczywiście są to układy RC parametry się zmnienią i będzie inna częstotliwość. Aby temu zapobiec można wpisać inną wartość do OSCCAL zmieniająć tym samym częstotliwość. Oczywiście tą inną warość trzeba poprzez "sztuczki" wyznaczyć programowo. W katcie katalogowej jest nawet charakterystyka zmniay częstotliwości w zależności od warości wpisanej do OSCCAL.
Niezbyt dobrze znam PonyProga i nie wiem jak w nim sie odczytuje te bajty ale bardzo dobrze podaje je BASCOM-AVR.
Zajęło mi to troszkę czasu ale moje wnioski są następujące:
W przypadku ATMega8 do wyboru mamy 4 częstotliwości taktowania z wewnętrznym generatorem RC: 1, 2, 4 i 8MHz. Dla karzdej z tych częstotliwości jest odpowiednia wartość kalibracyjna. BASCOM-AVR podaje je jako CALIBRATOIN 0, 1,2,3 odpowiednio dla częstotliwości 1, 2, ,4 i 8 MHz. Niestety jezeli wybierzemy którąkolwiekk z nich to zawsze po esecie do rejestru OSCCAL będzie ładowana wartośc Calibration 0 i nie można tego znienić, więc jeśli wybierzemy np 8 MHz to odczytaną wartośc podaną z programatora jako Calibration 3 trzeba załadować samemu. Te wartości podane i zapisane przez producenta są dla typowych warunków pracy tzn 25 st. C itd. Jeśli układ będzie pracował np w 0 st C to oczywiście są to układy RC parametry się zmnienią i będzie inna częstotliwość. Aby temu zapobiec można wpisać inną wartość do OSCCAL zmieniająć tym samym częstotliwość. Oczywiście tą inną warość trzeba poprzez "sztuczki" wyznaczyć programowo. W katcie katalogowej jest nawet charakterystyka zmniay częstotliwości w zależności od warości wpisanej do OSCCAL.
Niezbyt dobrze znam PonyProga i nie wiem jak w nim sie odczytuje te bajty ale bardzo dobrze podaje je BASCOM-AVR.