Если ты считаешь время от ВЧ кварца, значит у тебя где то есть некий счетчик (в прерывании?) который считает входные импульсы и при накоплении некоторого значения инкрементирует счетчик секунд. Ну вот и сделай этот порог изменяемым и меняй его в зависимости от необходимости ускорить или замедлить ход секунд. Время при этом останется монотонным, просто секунды будут быстрее или медленнее идти. И регулируй любым алгоритмом. Установишь некий минимальный порог и никакое перерегулирование тебе будет не страшно, отрицательного времени все равно никогда не будет, просто локальное время будет медленно догонять реальное.
https://embedders.org - блоги разработчиков встраиваемых систем.