fuse bits

May 01, 2006 12 Replies

Witam!



Mam problem z ustaleniem z jaką częstotliwością pracuje mój atmega128, mam podpięty zewnętrzny kwarc 14.7456MHz, ale zdaje mi się że on nie pracuje z tą częstotliwością. Wiem że atmega128 może też pracować z wewnętrznym oscylatorem, wszystko to jest ustawione przez fuse bits. Odczytałem sobie te bity, siedze nad manualem ale już się gubie w tych wszystkich trybach. Proszę o pomoc i ustalenie w jakim trybie pracuje i jak przestawić go aby pracował z zewnętrznym kwarcem. Kwarc jest podłączony: 22p XTAL1----------||-----GND | - === 14.7456MHz - | 22p XTAL2----------||-----GND



BootLock12 - 0 BootLock11 - 0 BootLock12 - 2 BootLock11 - 0 Lock2 - 0 Lock1 - 0 M103C - 0 WDTON - 0 OCDEN - 0 JTAGEN - 1 CKOPT - 1 EESAVE - 0 BOOTSZ1 - 1 BOOTSZ0 - 1 BOOTRST - 0 BODLEVEL - 1 SUT1 - 0 SUT0 - 1 CKSEL3 - 0 CKSEL2 - 0 CKSEL1 - 0 CKSEL0 - 0



dziękuję za pomoc i pozdrawiam


Oczywiście pamiętasz, że "fuse programmed" oznacza "0" i a "fuse unprogrammed" oznacza "1"

TP.

I teraz znów się pogubiłem :)

Nie ma podłączonego żadnego zewnętrznego generatora (zegara), jest tylko ten wbudowany 1MHz i zewnętrzny kwarc podłączony tak jak "narysowałem" wcześniej.

W jaki sposób domowymi sposobami można odczytać z jaką częstotliwością pracuje (myślałem ze po fuse bits). Te wartości, które wcześniej napisałem są odczytane za pomocy PonyProg2000 (Configuration and Secure Bits), co mam zaznaczyć a co odzanczyć, aby było te 14MHz z zewn. kwarcu.

Tylko żebym nie miał żadnych klocków ze przełączyłem go niechcąco w tryb zewn zegara i trzeba będzie podłączać jakiś zewnętrzyny gen. żeby obudzić procka i go przeprogramować.

z góry dziękuj

pioneer

pioneer napisal:

Napisz program ktory przy 14MHz migalby dioda co sekunde i z zegarkiem w reku zmierz co ile miga - potem wystarczy podzielic :) GRG

Tez jeśli ma się multimetr z pomiarem częstotliwości, to program może generować na pinie sygnał o częstotliwości z zakresu mierzonego przez multimetr.

TP.

Tomasz Piasecki napisal:

A tutaj mozna sie bardzo brzydko przejechac :( . Mam miernik z pomiarem czestotliwosci (VC820 jak kto ciekaw) - ma ta denerwujaca wlasciowosc ze "zasilony" sygnalem o poziomach TTL dla niskich (powiedzmy - akustycznych) czestoliowosci pokazuje dwa razy wieksza czestoliwosc niz w rzeczywistosci. Powyzsze kosztowalo mnie kiedys kilka godzina zastanwiania sie jakim cudem petla policzona na 1000 cykli wykonuje sie w 500 :) Oczywiscie - jak juz sie wie gdzie siedzi blad wystarczy dodac dodac do miernika "tlumik" z dwoch rezystorow i niewielki kondensator do odciecia skladowej stalej - tylko komu chcialoby sie czytac dokumentacje miernika i zapamietywac dozwolone zakresy napiec... :) GRG

Tomasz Piasecki napisał(a):

Aby uniknąć takich zawoalowań charakterystycznych dla Atmela polecam użycie softu ISP Programmer - tam fusebity są pokazane konkretnie jako "0" lub "1".

Czyli moim zdaniem wprowadza się totalne pomieszanie, bo trzeba je ustawiać odwrotnie niż to podaje datasheet.

TP.

Zale¿y jakiego programu u¿ywasz :)

Generalnie trzeba siê trzymaæ zasady: Odczytaæ fusy nowego AVRa i poczytaæ w pdf jakie jest domy¶lne ustawienie. I ju¿ wiesz jak ustawiaæ potem.

Tomasz Piasecki napisał(a):

Nie. W dokumentacji PDF Atmel podaje np. CKSEL0 = '0' i tak to ustawiasz w ISP Programmer (jeżeli oczywiście chcesz takie akurat ustawienie).

Ok, czyli IMHO pokazuje '0' dla 'programmed'.

TP.

Tomasz Piasecki napisał(a):

Zgadza się.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required