The chip designers tried to make the devices as versatile as possible for
the money you pay. Face it, these microcontrollers are inexpensive! I can
remember what 8008's cost when they first came out. :-)
Having provisions for an internal RC oscillator, an external RC
oscillator, two different types of oscillators using different types of
elements, is pretty versatile. They let the engineer decide what he
needs based on cost versus performance.
The internal RC oscillator is great for a minimum external component count
but, as has been noted by a few people, changes frequency with supply
voltage and temperature. I don't use them for applications that require
an exact frequency as a reference. You could go to the trouble of adding
external circuitry to regulate temperature and voltage to the nth degree,
but it would be far cheaper to just supply extra board space for a quartz
crystal or clock oscillator.
Zack
Show quoted textHide quoted text
On Tue, 27 Nov 2007, Philippe Habib wrote:
> I'm new to AVR so I can't get into specifics. In general, to avoid
> using an external crystal a timebase for the chip can be generated by
> an internal RC. These types of RC are not very precise so the chip
> maker can do one of two things. 1. Make them more precise by
> individually trimming the R using a laser on a chip by chip basis to
> improve accuracy. 2. measure just how imprecise the RC is on a chip
> by chip basis and store a correction factor that is applied to get
> the clock. That correction factor is stored in the oscillator
> calibration register.
>
> I hope that's what you were looking for.
>