AVR, wewnętrzny oscylator, I2C

Apr 12, 2008 11 Replies

Czy AVR popędzany wewnętrznym oscylatorem pracuje wystarczająco stabilnie dla poprawnej komunikacji po I2C (TWI)? Trochę dużo miejsca zajmują mi kwarce na płytkach i chciałbym je wywalić z modułów, w których są niepotrzebne.



Dariusz Żołna


Hmmm a czy I2C w ogóle wymaga stabilności czasowej - jakiejkolwiek ?

Dariusz Zolna pisze:

Po to I2C ma linie SCL, żeby nie wymagał stabilnego zegara po obu stronach ;).. To nie jest UART ;)...

Pozdrawiam Konop

Sebastian Bialy pisze:

Raczej nie, ale wolałem się upewnić :) A czy są jakieś inne przeciwwskazania do używania wewnętrznego oscylatora (oprócz ograniczonej prędkości działania)?

Dariusz Żołna

Nie używanie UARTa w trybie asynchronicznym. Zależność od temperatury. Duży rozrzut w egzemplarzach co wymaga kalibracji. Ale ogólnie jest cool jeśli nie ma silnych założeń co do czasów. No i fakt, chyba do 8MHz tylko.

Nie używanie UARTa w trybie asynchronicznym. Zależność od temperatury. Duży rozrzut w egzemplarzach. Ale ogólnie jest cool jeśli nie ma silnych założeń co do czasów. No i fakt, chyba do 8MHz tylko.

No wymaga - dobrze by bylo zeby nominalne 10us cyklu nie skrocily sie za bardzo. IMHO juz z 5us bywa ryzykowne - nie wszystkie kosci chodza dobrze na 400kHz..

J.

J.F. pisze:

No to popędzasz nominalnie np. 2x wolniej aby przy warunkach ekstremalnych nie przekroczyć 100kHz i już. Prawie zawsze układy na I2C (zresztą na SPI też) nie mają określonej dolnej granicy zegara transmisji. No przy 0 Hz raczej nie pogadasz. ;)

Co jednak wymaga pewnej stabilnosci generatora, bo jak przyspieszy 3x ? :-)

J.

Przesadzasz. Generator RC w AVR jest kalibrowany, roznice nie przekraczaja kilkunastu %. Jesli go sam skalibrujesz w czasie programowania to mozesz uzyskac 2-3%. Zobacz datasheet i wykresy stabilnosci i rozrzutu generatora RC.

Pytanie Sebastiana bylo czy I2C wymaga "jakiejkolwiek" stabilnosci.

A wiec tak - jakiejkolwiek wymaga. Nie moze sie cykl zegara nagle skrocic 10x :-)

J.

Pytanie było w kontekście RC.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required