Возникла проблема при реализации первого проекта на кристалле STM32F105VCT6. После включения питания RTC инициализируется и начинает работать от внешнего генератора. Генерация на кварце устойчивая, частота в пределах нормы. Часы работают нормально, данные в BKP регистры также пишутся и читаются. Батарейка (3,0В) подключена, напряжение присутствует непосредственно на ножке, рядом конденсатор 0u1. Но стоит отключить основное питание (3,3В), как примерно через 2 секунды генерация на кварце срывается. Соответственно при следующем включении в BKP регистрах пусто, а часы находятся в неинициализированном состоянии. Всё так, как будто батарейки нет. Может ли такое состояние быть результатом того, что что-то неправильно настроено? Или нужно копать в сторону аппаратного дефекта, т.е. попросту менять процессор?
Ещё один момент: Было несколько случаев, когда LSE не стартовал при включении питания. Удалось полечить так: Функция инициализации часов проверяет, запущены ли часы. Если нет, то перед тем, как что-то делать (настраивать регистры часов), делается задержка 10ms. После этого генератор запускается надежно. Может кому поможет. Моя версия такая: При нарастании напряжения питания процессор стартует при достижении 2,0В. Если при этом напряжении пытаться запускать LSE, то он может не стартовать. Причём когда напряжение нарастает до нормы, это уже не помогает запуску. А если подождать пока напряжение питание нарастёт до уровня 3,3В, то LSE легко запускается.
|