Internal RC Oscillator w ATMega8

Tutaj mozesz poruszać tematy ogólne powiązane z elektroniką, np. dyskusje na temat podzespołów, układów, zasad ich działania. Czyli można pisać o wszystkim czego nie da się przyporządkować do innych działów.
ODPOWIEDZ
slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Internal RC Oscillator w ATMega8

Post autor: slawek55 » 15 paź 2005, 15:23

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.

Awatar użytkownika
gaweł
Użytkownik
Posty: 651
Rejestracja: 05 kwie 2004, 8:38
Lokalizacja: Białystok
Kontakt:

Post autor: gaweł » 15 paź 2005, 21:20

Wewnętrzny generator w AVR'ach (MEGACH) jest ne około 1 MHz i nie jest modyfikowalny. Albo korzystasz z wewnętrznego na 1MHz lub zbuduj se na zewnątrz własny dowolny inny.

slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 16 paź 2005, 8:04

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.

ODPOWIEDZ