Перейти к содержанию
    

День добрый.

У меня проблема с STM32F101CBT6, в котором иногда, (и это иногда не поддается систематизации) не хочет запускаться генератор на 32КГц. Код висит в цикле

 

/* Enable LSE */

RCC_LSEConfig(RCC_LSE_ON);

/* Wait till LSE is ready */

while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)

{

}(тут и весим вечно)

 

Дефект был выявлет после ночовки девайса (в собраном корпусе) в машине, и было сделано предположение, что все дело в температуре. После того удалось выясньть точку зависания, предварительно высунув девайс за окно, и потом подключив к дебагеру.

За окном гдето 0...-3 ­°С. Однак потом етот баг перестал появлятся при погружении в за окно (температура там та же). Пробовал на двух кромбах (платка с контроллером и , обвязкой по питанию и кварцами - 32кГц и 8 МГц), наблюдал то же. теперь и не знаю на что думать. Извесно олько где весит - не может дождатся RCC_FLAG_LSERDY. Vbat - оставлен в воздухе.

Подскажите, может кто в курсе, куда копать.

 

Заренее благодарен, Олег.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

День добрый.

У меня проблема с STM32F101CBT6, в котором иногда, (и это иногда не поддается систематизации) не хочет запускаться генератор на 32КГц.

Не пробовали поиграться с номиналами нагрузочных ёмкостей кварца?

Попробуйте их уменьшить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Извесно олько где весит - не может дождатся RCC_FLAG_LSERDY.

Еще такой вопрос - когда в этом цикле - на кварце точно генерации нет ? и если нет - пробовали завести с толкача (коснуться пальцем) ? Коли поможет - то или обвязка или кварцы сами - "маленькие такие ,кругленькие " ;-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу запуска с толчка, когда как. Заметил что при касании на корпус кварца иногда помогало, и в отладке STM32-H103 на землю корпус посажен кварца (и вроде так лучше везде делать). Я у себя посадил корпус кварца на землю, а также Vbat c Vdd соединил, как в доке сказано, вроде как лучше. Вероятнось нормального запуска увеличилась. Пробовал кварц брать с STM32-H103 отладки, тоже с задержкой стартует.

По поводу посмотремь осцилографом, нет пока возможности.

Может кондеры не такие взял, NPO? X7R?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

видел про 3 секунды. иногда 3, а иногда 30 секунд, или 10 минут, когда как,

при том при тех же температурных условиях,

например ноч девайса в холодильнике при -15, и может запустится, n раз запустится, потом нет

ничего не могу понять, может сделать задержку на 3 сек после велючения генераторана 32кГц, а потом проверять бит его состояния?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость MALLOY2

Вы лучше сделайте так.

включите генератор, далее проверяйте флаг готовности если он в течении 6 секунд не будет установлен скажем зажгите светодиод, в майн поставте вечный цикл да бы никак не грешить на программу. Если при таком раскладе у вас будут какие то не понятки со стартом переходите на шаманство с железом, попробуйте емкостя поменять возмите несколько кварцев, могу еще заметить факт что кварцы 32 кГц китайские в маленьком крулом корпусе боятся ударов, тобиш не бейте их :).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

попробувал кварц уменшить до 5 пФ, не помогает,

светодиодик я зажигаю, и место где весит точно известно,

 

/* Enable LSE */

RCC_LSEConfig(RCC_LSE_ON);

/* Wait till LSE is ready */

while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)

{

}(тут и весим вечно)

 

тоесть, или кварц не запускается, или біт что он запустился STM32 не выставил, а почему не запкстился не пойму

P.S. буду рад любым идеям, ато мне только бредовые уже лезут в голову

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

попробувал кварц уменшить до 5 пФ, не помогает,

светодиодик я зажигаю, и место где весит точно известно,

 

/* Enable LSE */

RCC_LSEConfig(RCC_LSE_ON);

/* Wait till LSE is ready */

while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)

{

}(тут и весим вечно)

 

тоесть, или кварц не запускается, или біт что он запустился STM32 не выставил, а почему не запкстился не пойму

P.S. буду рад любым идеям, ато мне только бредовые уже лезут в голову

 

Тут идеи могут быть только две - у вас проблемы или с железом (кривой кварц/ёмкости/длинные проводники/плохое питание и т.д.) или что-то в софте не так.

 

Почему бы вам не опробовать LSE генератор на фирменной плате - взять какой-нибудь кит от Олимекса или другой, где могут быть исключены проблемы с разводкой/некачественными комплектующими?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня начинаются подозрения, что STM что-то не договорил...

Отладка Olimex STM32H103 после прогулки чуть на мороз (опять же за окно) тоже весит, не стартует LSE. :crying:

На нем STM32F103, у меня STM32F101CBT6.

Чо все STM32 с багом, или у Olimex отладочная плато тож с багом?

чото мне это все не нравится

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня начинаются подозрения, что STM что-то не договорил...

Отладка Olimex STM32H103 после прогулки чуть на мороз (опять же за окно) тоже весит, не стартует LSE. :crying:

На нем STM32F103, у меня STM32F101CBT6.

Чо все STM32 с багом, или у Olimex отладочная плато тож с багом?

чото мне это все не нравится

Ну а если не выносить плату за окно - то с олимексом всё стабильно?

 

А от какого источника запитана плата? Каким напряжением?

И сколько там у вас за окном? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня начинаются подозрения, что STM что-то не договорил...

Отладка Olimex STM32H103 после прогулки чуть на мороз (опять же за окно) тоже весит, не стартует LSE. :crying:

На нем STM32F103, у меня STM32F101CBT6.

Чо все STM32 с багом, или у Olimex отладочная плато тож с багом?

чото мне это все не нравится

были подобные проблемы с RTC DS1306 - проблемы в пылинках и прочем мусоре, протиралось бензином и всё работало... вообще подобные вещи лаком покрывают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

та не много за окном, может -1...0.

питание у меня LM1117ADJ - 3.0V выдает, кондеры 4 шт 0,1мкф

не пойму, ладно, допустим у мення чото, а чо же олымекс выделуется отладка ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

та не много за окном, может -1...0.

питание у меня LM1117ADJ - 3.0V выдает, кондеры 4 шт 0,1мкф

не пойму, ладно, допустим у мення чото, а чо же олымекс выделуется отладка ?

А фирменную плату вы от USB компьютера запитываете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нет, от своего,

пробовал и от юсб только что, тоже задержка старта в 30 секунд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...