Calibrated internal rc oscillator, Oscillator calibration register – osccal, Attiny28l/v – Rainbow Electronics ATtiny28L User Manual
Page 28
28
ATtiny28L/V
1062E–10/01
Calibrated Internal
RC Oscillator
The calibrated internal oscillator provides a fixed 1.2 MHz (nominal) clock at 3V and
25
°C. This clock may be used as the system clock. See the section “Clock Options” on
page 4 for information on how to select this clock as the system clock. This oscillator
can be calibrated by writing the calibration byte to the OSCCAL register. When this
oscillator is used as the chip clock, the Watchdog oscillator will still be used for the
Watchdog Timer and for the reset time-out. For details on how to use the pre-pro-
grammed calibration value, see the section “Calibration Byte” on page 44.
Oscillator Calibration Register
– OSCCAL
• Bits 7..0 – CAL7..CAL0: Oscillator Calibration Value
Writing the calibration byte to this address will trim the internal oscillator to remove pro-
cess variation from the oscillator frequency. When OSCCAL is zero, the lowest available
frequency is chosen. Writing non-zero values to the register will increase the frequency
to the internal oscillator. Writing $FF to the register gives the highest available fre-
quency. Table 12 shows the range for OSCCAL. Note that the oscillator is intended for
calibration to 1.2 MHz, thus tuning to other values is not guaranteed. At 3V and 25
o
C,
the pre-programmed calibration byte gives a frequency within ± 1% of the nominal
frequency.
Bit
7
6
5
4
3
2
1
0
$00
CAL7
CAL6
CAL5
CAL4
CAL3
CAL2
CAL1
CAL0
OSCCAL
Read/Write
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial Value
0
0
0
0
0
0
0
0
Table 12. Internal RC Oscillator Range
OSCCAL Value
Min Frequency
Max Frequency
0x00
0.6 MHz
1.2 MHz
0x7F
0.8 MHz
1.7 MHz
0xFF
1.2 MHz
2.5 MHz