Presnost RC oscilatoru

Jan Waclawek konfera na efton.sk
Úterý Březen 19 12:09:20 CET 2013


>Jo cist DS je hodne otravne ;-)

Keby len citat, ale aj pochopit, a to aj to co je medzi riadkami. A keby
len DS, ale aj sprievodnu literaturu, napr. AN AVR055, v ktorom je uvedeny
zoznam piatich roznych RC oscilatorov pouzitych v roznych AVRkach (a to je
ten appnote uz dost stary, takze dnes ich bude  asi viac). Len tak cvicne,
pre dojem, ako domaca uloha si pozrite nejaku ATMega so suffixom P, ze aku
chybu ma vyrobna kalibracia (mate cas odovzdat riesenie do konca tyzdna
;-) ).

> ATMEGA ma toleranci int. RC 3% (a to jeste 
> nepouzivam 5V ale 3V3)

At 5V, 25°C and 1.0MHz Oscillator frequency selected, this calibration
gives a frequency within ±3% of the nominal frequency.

Z tohoto je vsetko dolezite. Uplne prvu chybu ste spravili, ked ste pouzili
8MHz oscilator a predpokladam, ze ste si neprecitali nasledovne:

> During Reset, the 1MHz value is automatically loaded into the
> OSCCAL Register. If other frequencies are used, the calibration value has to be loaded manually,

Ono tam totiz nie je 8MHz oscilator a delic, ale 4 rozne oscilatory, kazdy
so svojou charakteristikou a chybou. Kazdy ma tovarensku kalibraciu, avsak
sa nenatiahne len tak automaticky, musite si ju precitat pocas
programovania (z procesora nie su citatelne) a niekde si ulozit a potom v
programe ulozit do OSCCAL. To uz sa takmer oplati rozmyslat aj nad
presnejsou kalibraciou pocas programovania... cim by sa mimochodom dala
kompenzovat aj ta chyba 2.1% kvoli blbemu pomeru hodinovej frekvencie a
baudrate.

Potom sa este pozrieme do typickych kriviek pre 8MHz RC oscilator, z
ktoreho nam vyplynie dalsia chyba asi 0.5MHz (t.j. -6.25%) pre rozdiel
5V/3.3V, a dalsich cca +-0.1MHz (cca +-1.nieco%) pre rozmedzie teplot +-20
stupnov od nominalnej.

> Ale nefungoval jen 1 z 8

No vynikajuce, takze si zasluzite strhnut len 12.5% z platu... :-)

wek





Další informace o konferenci Hw-list