AVR a zacatecnik - casovani

Tom Mazouch mazouch
Středa Březen 17 14:53:14 CET 2004


>> Preji pekny den,
>> 
>> pronikam do zavislosti procesoru ATtiny a mam par veci, ktere jsou mi
>> nejsou z dokumentace zcela jasn?. Konkretne jde o ATtiny15L, ale na tom
>> asi nezalezi.

> Zalezi, Atmelove ty svoje hracky postupne vylepsujou.
> Napr. 90S2313 (pouzivam) jeste nema brownout reset a to by krava
> brecela... Pokrocilejsi typy uz maji.

No do brownout resetu jsem jeste nepronikl. Matne tusim, ze je to neco
s hlidanim napajeciho napeti.

>> 1.Procesor ma jakysi registr OSCCAL ($31). A soucasne jde jakysi
>> OSCCAL ovlivnit pri programovani, ale ten je tusim uplne nekde jinde.

> Ovlivnit ne, jen precist. Vyrobcuv kalibracni "hint" je na dvou mistech:
> 1) kdesi v signature, lockbitech nebo fuses
> 2) v poslednim wordu (nevim kterym bajtu) flash - odsud se ale pri
> mazani flash smaze, takze jen 1)
> Je potreba ho vzit a nacpat do OSCCAL...nojo, ale JAK?
> U kteryhosi programatoru jsem cetl, ze umi ten bajt pri paleni nacist a
> vypalit do flash na zadanou adresu bud jako konstantu, nebo jako
> instrukci LDI Rxx,<ten_bajt>.  
> Pokud se pri paleni na stole mota vic jak jeden cip, je to pakarna.

>> Jestli to dobre chapu, je to proto, ze by se pri vypalovani dal
>> "prednastavit" kmitocet, ale musel by s tim programujici pocitat a
>> hned ze zacatku prepsat tento vypaleny bajt do adresy $31. Pokud tak
>> neucini, tak nema vypalovana hodnota na nic vliv. Standardni hodnota
>> OSCCAL ($31) je 00 a zapisem vetsi hodnoty jde procesor zrychlit. Je
>> to tak, nebo to nechapu?

> Je to tak.
> BTW takova ATtiny26 ma tusim 4 kalibracni "hinty" a ten prvni (pro 1MHz)
> se pri startu do OSCCAL zapise automaticky. Pokrok...ale pokud je
> potreba jinej kmitocet, moc to nepomuze.
> Optimalni by bylo, kdyby k tem konstantam byl pristup primo z beziciho
> programu.

>> 
>> 2.Jak moc jde rychlost procesoru pomoci OSCCAL ovlivnit. Je to opravdu
>> jen kalibrace nebo jde procesor vyznamne "pretaktovat/podtaktovat").
>> Jaky je kmitocet pri OSCCAL=00?

> To presne nevim, ale pokud jsem do OSCCAL misto 0x8B (hodnota pro
> konkretni cip, co mam doma) nezapsal nic, bylo to na blikani LED dost
> poznat. Tzn. neni to ladeni +- nekolik oktav, ale jemna kalibrace na
> desitky ppm to taky nebude. Neco mezi tim.

No zacinam tusit, ze se tim zatim nebudu zabyvat. Me aplikace nejsou
na presnost kriticke. Jen poddotaz. Pokud naprogramuju 10 ruznych
ATtiny15 stejnym programem a OSCCAL nebudu nastavovat, pojedou ve
vysledku vsechny procesory stejne rychle?

>> 3.Neexistuje nejaky programek, kterym bych snadno zjistil, kolik casu
>> bude potrebovat casovac pro napocitani nejake hodnoty pro dany delici
>> kmitocet a OSCCAL? Rucne se mi to pocitat nechce a kdyz jsem to
>> odmeroval v AVR studiu breakama, tak mi vychazi pitomosti uz proto, ze
>> tam nejde nastavit kmitocet 1,6MHz.

> Kalkulacka :-), rucne bych to taky nepocital.

No ja to taky na hubu nepocitam ;-), ale na www.hw.cz se da poridit CD
s popisem AVR a tam je odkaz na jakysi program AVRCALC, ktery to asi umi, ale
kdyz si to CD prohlizim online na inetu, tak ten odkaz nefunguje. Ale
mozna je ten AVRCALC primo od Atmelu. Zkusim to tam.

>> 
>> 4.Zjistil jsem, ze Watchdog muze byt nastaven nejcasteji na 1x za 16ms
>> a nejpomaleji 1x za 2048ms. Je to pravda, nebo tomu nerozumim? I
>> nejkratsi doba 16ms mi pripadne dost dlouha.

> Hm...pro jakou aplikaci je 16ms strasne moc? 

No ja moc zkusenosti nemam, tak mozna je to pitomost. Ale mne prijde,
ze kdyz udela procesor za 1us instrukci, tak za 16ms jich udela 160000
(doufam ze jsem se nesekl v radech) a kdyz je Flash pamet dlouha
512slov, tak by v tom byl cert, aby kdyz program zabloudi, aby
nezabloudil nekam, kde bude WDR. Ale treba je to pitomost.

>> 5.Jak je kmitocet zakladniho oscilatoru citlivy na zmenu napeti?
>> Zarazilo mne, ze oscilator pro Watchdog kmit? na 1MHz p?i 5V a na
>> 350kHz p?i 3V. To je dost podstatn? rozd?l. Nen? tak nestabiln? i
>> hodinovy kmitocet.

> Nevim, ale snad ne.

Diky za odpovedi.

Kolbis




Další informace o konferenci Hw-list