реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> STM32F101x + LSE, проблема с часовым генератором
pan_oleg
сообщение Jan 16 2009, 13:22
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



День добрый.
У меня проблема с 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 - оставлен в воздухе.
Подскажите, может кто в курсе, куда копать.

Заренее благодарен, Олег.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 16 2009, 21:29
Сообщение #2


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(pan_oleg @ Jan 16 2009, 17:22) *
День добрый.
У меня проблема с STM32F101CBT6, в котором иногда, (и это иногда не поддается систематизации) не хочет запускаться генератор на 32КГц.

Не пробовали поиграться с номиналами нагрузочных ёмкостей кварца?
Попробуйте их уменьшить...
Go to the top of the page
 
+Quote Post
cebotor
сообщение Jan 16 2009, 21:42
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(pan_oleg @ Jan 16 2009, 16:22) *
Извесно олько где весит - не может дождатся RCC_FLAG_LSERDY.

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


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Jan 19 2009, 08:03
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



По поводу запуска с толчка, когда как. Заметил что при касании на корпус кварца иногда помогало, и в отладке STM32-H103 на землю корпус посажен кварца (и вроде так лучше везде делать). Я у себя посадил корпус кварца на землю, а также Vbat c Vdd соединил, как в доке сказано, вроде как лучше. Вероятнось нормального запуска увеличилась. Пробовал кварц брать с STM32-H103 отладки, тоже с задержкой стартует.
По поводу посмотремь осцилографом, нет пока возможности.
Может кондеры не такие взял, NPO? X7R?
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Jan 19 2009, 08:45
Сообщение #5


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата(pan_oleg @ Jan 19 2009, 12:03) *
с задержкой стартует.



Задержка эта сколько ?

в мануале наеписано что он старнует 3 секунды !
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Jan 19 2009, 09:35
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



видел про 3 секунды. иногда 3, а иногда 30 секунд, или 10 минут, когда как,
при том при тех же температурных условиях,
например ноч девайса в холодильнике при -15, и может запустится, n раз запустится, потом нет
ничего не могу понять, может сделать задержку на 3 сек после велючения генераторана 32кГц, а потом проверять бит его состояния?
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Jan 19 2009, 10:49
Сообщение #7


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Вы лучше сделайте так.
включите генератор, далее проверяйте флаг готовности если он в течении 6 секунд не будет установлен скажем зажгите светодиод, в майн поставте вечный цикл да бы никак не грешить на программу. Если при таком раскладе у вас будут какие то не понятки со стартом переходите на шаманство с железом, попробуйте емкостя поменять возмите несколько кварцев, могу еще заметить факт что кварцы 32 кГц китайские в маленьком крулом корпусе боятся ударов, тобиш не бейте их smile.gif.
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Jan 19 2009, 14:33
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



попробувал кварц уменшить до 5 пФ, не помогает,
светодиодик я зажигаю, и место где весит точно известно,

/* Enable LSE */
RCC_LSEConfig(RCC_LSE_ON);
/* Wait till LSE is ready */
while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)
{
}(тут и весим вечно)

тоесть, или кварц не запускается, или біт что он запустился STM32 не выставил, а почему не запкстился не пойму
P.S. буду рад любым идеям, ато мне только бредовые уже лезут в голову
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 19 2009, 15:49
Сообщение #9


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(pan_oleg @ Jan 19 2009, 18:33) *
попробувал кварц уменшить до 5 пФ, не помогает,
светодиодик я зажигаю, и место где весит точно известно,

/* Enable LSE */
RCC_LSEConfig(RCC_LSE_ON);
/* Wait till LSE is ready */
while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)
{
}(тут и весим вечно)

тоесть, или кварц не запускается, или біт что он запустился STM32 не выставил, а почему не запкстился не пойму
P.S. буду рад любым идеям, ато мне только бредовые уже лезут в голову


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

Почему бы вам не опробовать LSE генератор на фирменной плате - взять какой-нибудь кит от Олимекса или другой, где могут быть исключены проблемы с разводкой/некачественными комплектующими?
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Jan 20 2009, 09:24
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



У меня начинаются подозрения, что STM что-то не договорил...
Отладка Olimex STM32H103 после прогулки чуть на мороз (опять же за окно) тоже весит, не стартует LSE. crying.gif
На нем STM32F103, у меня STM32F101CBT6.
Чо все STM32 с багом, или у Olimex отладочная плато тож с багом?
чото мне это все не нравится
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 20 2009, 10:33
Сообщение #11


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(pan_oleg @ Jan 20 2009, 13:24) *
У меня начинаются подозрения, что STM что-то не договорил...
Отладка Olimex STM32H103 после прогулки чуть на мороз (опять же за окно) тоже весит, не стартует LSE. crying.gif
На нем STM32F103, у меня STM32F101CBT6.
Чо все STM32 с багом, или у Olimex отладочная плато тож с багом?
чото мне это все не нравится

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

А от какого источника запитана плата? Каким напряжением?
И сколько там у вас за окном? smile.gif
Go to the top of the page
 
+Quote Post
zksystem
сообщение Jan 20 2009, 11:05
Сообщение #12


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



Цитата(pan_oleg @ Jan 20 2009, 12:24) *
У меня начинаются подозрения, что STM что-то не договорил...
Отладка Olimex STM32H103 после прогулки чуть на мороз (опять же за окно) тоже весит, не стартует LSE. crying.gif
На нем STM32F103, у меня STM32F101CBT6.
Чо все STM32 с багом, или у Olimex отладочная плато тож с багом?
чото мне это все не нравится

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


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Jan 20 2009, 11:31
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



та не много за окном, может -1...0.
питание у меня LM1117ADJ - 3.0V выдает, кондеры 4 шт 0,1мкф
не пойму, ладно, допустим у мення чото, а чо же олымекс выделуется отладка ?
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 20 2009, 12:46
Сообщение #14


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(pan_oleg @ Jan 20 2009, 15:31) *
та не много за окном, может -1...0.
питание у меня LM1117ADJ - 3.0V выдает, кондеры 4 шт 0,1мкф
не пойму, ладно, допустим у мення чото, а чо же олымекс выделуется отладка ?

А фирменную плату вы от USB компьютера запитываете?
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Jan 20 2009, 13:06
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



нет, от своего,
пробовал и от юсб только что, тоже задержка старта в 30 секунд.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 20 2009, 14:22
Сообщение #16


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(pan_oleg @ Jan 20 2009, 17:06) *
нет, от своего,
пробовал и от юсб только что, тоже задержка старта в 30 секунд.

А если попробовать следовать таким рекомендациям:
Код
● Enable the APB1 backup domain and power interface clocks by writing the BKPEN and
PWREN bits to ‘1’ in the RCC_APB1ENR register
● Enable access to backup domain by writing the DBP bit to ‘1’ in the PWR_CR register
● Enable the LSE clock by writing the LSEON bit to ‘1’
● Poll the LSERDY flag in the RCC_BDCR register until the LSE clock is ready (if the
external crystal is used as the clock source).

Второй шаг у вас выполняется?

Вот ещё нашёл ветку на форуме ST по проблеме старта LSE:
http://www.st.com/mcu/forums-cat-7598-23.html

В кратце смысл таков - нужно использовать часовые кварцы с параметром CL ≤ 7 пФ. Таким образом ёмкости CL1 и CL2 будут в диапазоне 2-7 пФ.
Go to the top of the page
 
+Quote Post
Altemir
сообщение Jan 21 2009, 18:53
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 249
Регистрация: 2-05-06
Из: Россия, Поволжье
Пользователь №: 16 686



pan_oleg
Так какие у вас нагрузочные конденсаторы от пинов кварца на землю стоят сейчас? Марка кварца какая?
Например, для этого: http://www.geyer-electronic.de/pdfs/qurz/m...8.pdf?langSel=0 требуются кондёры по ~24-27пФ. Я использую NPO

З.Ы. И не мешало бы привести разводку участка кварц-проц

Сообщение отредактировал Altemir - Jan 21 2009, 18:54
Go to the top of the page
 
+Quote Post
ababkin
сообщение Jan 27 2009, 03:52
Сообщение #18





Группа: Новичок
Сообщений: 6
Регистрация: 4-08-08
Пользователь №: 39 421



poprobui vot eto dobavit' pered vsei inicializaciei

/* Enable PWR and BKP clocks */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);


Alex
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Feb 17 2009, 15:41
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



взял кварц KX-38T 6pF (GEYER), кондеры по 6 pF, после мороза (где-то -3°С) не запускается LSE?
что-то дела совсем плохи,
народ,на практике кто работал с LSE на STM32?, посоветуйте что-то
Go to the top of the page
 
+Quote Post
MikePic
сообщение Feb 17 2009, 17:33
Сообщение #20


Участник
*

Группа: Новичок
Сообщений: 57
Регистрация: 7-11-06
Пользователь №: 22 054



pan_oleg
Если кварц действительно 6-пиковый, то нагрузочные кондёры должны быть в диапазоне 10-12пФ
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Apr 13 2012, 19:40
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



У меня LSE включился после того как я перед его включением сделал то что написано на с 59 документации RM0038 Reference manual STM32L151
Код
RCC->APB1ENR|=RCC_APB1ENR_PWREN;  
PWR->CR|=PWR_CR_DBP;

Стоит кварц KX-327NT c конденсаторами 8.2Pf
В документации написано CL standard 12.5Pf available 7 and 9 Pf .


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Apr 14 2012, 18:57
Сообщение #22


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(pan_oleg @ Feb 17 2009, 16:41) *
народ,на практике кто работал с LSE на STM32?, посоветуйте что-то

Слежу за этой темой, т.к. и сам столкнулся с проблемой. Первое, что сделал, - убрал конденсаторы вообще! RTC стал запускаться стабильней. Правда, в моем устройстве есть батарейка, которая продолжает питать RTC, пока питание отключено. Поэтому уж если кварц раз запустился, он тикает и дальше.

Чтобы избежать блокирования программы в случае незапуска LSE я написал свою процедуру инициализации, которая при старте системы запускает LSE и ждет его секунду, а в случае неудачи переключается на LSI. Затем один из процессов программы пытается периодически перезапустить LSE, что в итоге приводит рано или поздно к успеху.

Есть еще тема включить параллельно кварцу сопротивление от 1M и выше (как это рекомендуют и для высокочастотных генераторов), чтобы дать инвертору смещение по постоянному току.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 00:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.02519 секунд с 7
ELECTRONIX ©2004-2016