ну есть OSCHF, который генерится встроенным RC. Этот RC можно подстраивать софтово. И есть XOSC на 32кгц. Отмеряем 1 секунду (условно) по XOSC и за это время считаем такты OSCHF. Если их слишком много - чутка замедляем OSCHF, если слишком мало - чутка ускоряем.