English
Language : 

AN2326 Datasheet, PDF (1/20 Pages) STMicroelectronics – Calibrating the RC oscillator of the ST7ULTRALITE MCU using the mains
AN2326
Application note
Calibrating the RC oscillator of the
ST7ULTRALITE MCU using the mains
Introduction
The ST7ULTRALITE microcontroller contains an internal RC oscillator which can be
trimmed to a specific frequency with the required accuracy. The oscillator frequency has to
be calibrated by software using the RCCR register (RC Control Register) and the SICSR
register (System Integrity Control/Status Register). The value entered in the RCCR/SICSR
registers will switch ON a corresponding number of resistors that will modify the oscillator
frequency. Whenever the ST7ULTRALITE microcontroller is reset, the 10-bit value
contained in the RCCR/SICSR registers is restored to its default value (3FFh) i.e. the lower
) possible frequency, so each time the device is reset, you have to load the calibration value in
t(s the RCCR/SICSR registers. There are predefined calibration values stored in memory (refer
c to the” Internal RC Oscillator Adjustment” section in the ST7ULTRALITE datasheet). You
u can load one of these values in the RCCR/SICSR registers if one of the operating conditions
d matches that in your application. Otherwise, you can define your own value, store it in non
ro volatile memory and load it in the RCCR/SICSR registers after each reset. However, if any
P of the external conditions (temperature or voltage, for instance) changes too drastically, the
te stored value may no longer produce the required accuracy. One solution is to recalculate the
le RCCR/SICSR register values after each reset, based on an external reference.
o The purpose of this application note is to present a software solution using the frequency of
s the European standard mains (220V/50Hz) as a timebase to adjust the internal RC oscillator
b of the ST7ULTRALITE to 8 MHz. The same approach can also be used for the US mains
O standard (110V/60Hz).
) - The basic software takes less than 200 ms to calibrate the oscillator and uses less than128
t(s bytes of program memory and five bytes of RAM for its simplest version. These RAM bytes
c can be freed for other purposes when the calibration is done. Another example using
u averages is given in this application note. This can be useful with noisy mains.
rod This application note also contains the diagram of a low cost circuit which converts the
mains into a 5 volt power supply and protects the microcontroller from overcurrent on the
Obsolete P input connected to the mains.
April 2006
Rev 1
1/20
www.st.com