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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> проблема с кварцевым резонатором 32K у STM32F100C8Tхх
Михась
сообщение Feb 11 2015, 12:39
Сообщение #16


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

Группа: Участник
Сообщений: 161
Регистрация: 29-09-10
Пользователь №: 59 816



Цитата(RKS @ Feb 10 2015, 17:22) *
Практически ту же тему хочу поднять но с небольшим отличием. Скопилось некоторое количество плат с проблемой уже к часам не относящейся. STM32F100C8xx получает основную частоту не с резонатора, а от генератора. Частота генератора 50МГц делится на 4 двумя триггерами (на приложенной схеме показан только 1). И в такой позе не может программно стереться. Программных особенностей привести не могу (поскольку не программист), но замечено что если поднять и промыть под процессором то в большинстве случаев ей становится легче. Есть те которым становится легче от прикосновения щупа осциллографа к 5-ому выводу. Процесс прошивки во время теста идет по кругу и как только STMка отвечает вменяемо - это значит что сначала стерлась , потом прошилась. Прямо в момент прикосновения чудо и случается. Тем платам, которым становится легче от прикосновения щупа здорово помогает конденсатор на 10 пик с 5-ого вывода на землю. Может что-то принципиально неправильное в нашей схеме включения? Буду благодарен любым мыслям...


Три вопроса
1. Зачем резистор на OSCOUT?
2. Бит HSEBYP установлен в "1"?
3. Зачем вы используете термин "чудо"? Это не опасно? wink.gif

Сообщение отредактировал Михась - Feb 11 2015, 12:39
Go to the top of the page
 
+Quote Post
RKS
сообщение Feb 11 2015, 12:55
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 394
Регистрация: 13-10-05
Из: Москва
Пользователь №: 9 599



Цитата(Михась @ Feb 11 2015, 16:39) *
Три вопроса
1. Зачем резистор на OSCOUT?
2. Бит HSEBYP установлен в "1"?
3. Зачем вы используете термин "чудо"? Это не опасно? wink.gif



1. Сходу найти не получилось, но уверен что либо использовался какой-нибудь рефдизайн либо нашли в описании.
2. Задал вопрос программисту. Предварительно все в порядке с битом.
3. Не опасно но неприятно....
Go to the top of the page
 
+Quote Post
Михась
сообщение Feb 11 2015, 13:01
Сообщение #18


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

Группа: Участник
Сообщений: 161
Регистрация: 29-09-10
Пользователь №: 59 816



Цитата(RKS @ Feb 11 2015, 18:55) *
1. Сходу найти не получилось, но уверен что либо использовался какой-нибудь рефдизайн либо нашли в описании.


в мануалах такое не попадалось. попробуйте снять.
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Feb 11 2015, 21:09
Сообщение #19


Знающий
****

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



Цитата(RKS @ Feb 11 2015, 14:55) *

Вы будите смеяться, но, столкнувшись с аналогичной проблемой незапуска часового кварца на F103, я в итоге просто похерил нагрузочные ёмкости, и все застучало. С тех пор на платах они предусмотрены, но не запаиваются.
Go to the top of the page
 
+Quote Post
RKS
сообщение Feb 12 2015, 09:57
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 394
Регистрация: 13-10-05
Из: Москва
Пользователь №: 9 599



С часовым кварцем все более-менее понятно. Кварц должен быть с нагрузочной емкостью не более 7 пик. В природе есть с 6-ю и 12.5 пиками причем те что с 12.5 пиками СТРОГО! не рекомендовано использовать. С внешними емкостями сложнее но в нескольких местах рекомендовано ставить по 10 пик.

С основной частотой проблема! Нет проблем при использовании резонатора. Что на 8 что на 24 МГц все стартует и работает стабильно. Для последовательного резистора нашел рекомендацию на 390 Ом, но никогда с резонатором его не использовали.

Проблема проявляется массово только на изделии где STM32F100C8T6 тактируется от генератора 12.5 МГц. Резистор 220 Ом действительно нигде в документации не нашел (мистика какая-то wacko.gif ). Но зато нашел два документа в которых прочел что: выход надо засадить на землю и надо оставить в свободной позе.

Собственно оба варианта на 8 платах (сейчас лежат у меня на столе) не повлияли особенно никак. Здорово помогает нагреть процессор феном и пока он не остынет у платы нет проблем. Как только остыла (где то через полчасика дойдет до комнатной температуры) начинаются проблемы. Уже научились паять совсем без флюса. Сначала площадки лудятся до блеска обычной канифолью, потом все оттирается ацетоном, потом процессор аккуратно кладется феном. После такого оживают где-то 80% плат и с ними больше никогда ничего не случается. Остальным 20 процентам пока приходится менять саму SMКу. Текущее производство использует безотмывный флюс, пока все шишки летят в него. Не верю что у процессоров STM могут быть такие капризные отношения с обычными флюсами. Не может быть чтобы STM было таким Г. Чувствую зреет перелом мозга....
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 12 2015, 12:05
Сообщение #21


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Тактируем STM32F100R8T6B частотой 12.8 МГц от внешнего генератора через конденсатор 1нФ. OSCOUT никуда не подключен. Проблем нет как с HSE_BYP, так и без него.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 13 2015, 03:51
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(RKS @ Feb 12 2015, 15:57) *
Собственно оба варианта на 8 платах (сейчас лежат у меня на столе) не повлияли особенно никак. Здорово помогает нагреть процессор феном и пока он не остынет у платы нет проблем. Как только остыла (где то через полчасика дойдет до комнатной температуры) начинаются проблемы. Уже научились паять совсем без флюса. Сначала площадки лудятся до блеска обычной канифолью, потом все оттирается ацетоном, потом процессор аккуратно кладется феном. После такого оживают где-то 80% плат и с ними больше никогда ничего не случается. Остальным 20 процентам пока приходится менять саму SMКу. Текущее производство использует безотмывный флюс, пока все шишки летят в него. Не верю что у процессоров STM могут быть такие капризные отношения с обычными флюсами. Не может быть чтобы STM было таким Г.

Не понимаю я Вас.... wacko.gif
Если такая большая проблема, тем более с серьёзным производством, то почему костыли ставите, а не решаете её???
Возьмите готовую отладку, накатите ваш код (можно в урезанном виде только с запуском тактирования) на неё. Если не работает - пинайте программиста - возможно где-то он криво запускает PLL.
Если работает - заменяете кварц на оталдке своим генератором, опять проверяете то же самое. Не работает - курите схему подключения генератора, питание генератора и ЦП, схему ресета и т.п.
Если у вас проблема возникает не со всеми экземплярами (не 100% проявляется) - купите несколько отладок и проверьте это на всех.
Go to the top of the page
 
+Quote Post
viakon
сообщение Feb 13 2015, 05:08
Сообщение #23


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Цитата(RKS @ Feb 12 2015, 14:57) *
Текущее производство использует безотмывный флюс, пока все шишки летят в него. Не верю что у процессоров STM могут быть такие капризные отношения с обычными флюсами. Не может быть чтобы STM было таким Г. Чувствую зреет перелом мозга....

Попробуйте просушить плату, если поможет, однозначно флюс. А STM-ка не причем, у любого МК при утечках генератор работать не будет.
Go to the top of the page
 
+Quote Post
RKS
сообщение Feb 13 2015, 07:59
Сообщение #24


Местный
***

Группа: Участник
Сообщений: 394
Регистрация: 13-10-05
Из: Москва
Пользователь №: 9 599



Цитата(Сергей Борщ @ Feb 12 2015, 16:05) *
Тактируем STM32F100R8T6B частотой 12.8 МГц от внешнего генератора через конденсатор 1нФ. OSCOUT никуда не подключен. Проблем нет как с HSE_BYP, так и без него.


Я правильно понимаю - вы подаете меандр с генератора через керамический конденсатор? Вы такое решение опытным путем получили или где то подглядели?

Если бы брак был 100% не было бы никакого серийного производства. Мы пробовали менять монтажников и вобщем получали лучший результат - не более 5% брака. Там действительно все отмывали и использовали смываемый флюс (видимо придется вернуться к этим ребятам хотя они подороже....). Я хочу понять каким конкретно узлам процессора мешает безотмывный флюс и возможно ли победить это конструктивным способом. Потрясти программиста идея неплохая - попрошу его прочесть эту ветку.

Не понял что значит "просушить плату ". Влаги на них нет никакой - это видно и глазами и в микроскоп. Какое-то время после получения с монтажа платы лежат в открытых ячеистых коробках в хорошо кондиционируемом помещении. Кондей влагу сосет отлично из воздуха. Безотмывный флюс плавится только от фена или стирается ацетоном. Просто так положит в ацетон не поможет. Флюс побелеет но останется на месте. Возможно поверхностно и растворится немного но это точно не поможет.

Еще соображение вдогонку - а часовой и основной генератор как-нибудь связаны? У нас действительно были проблемы с часовыми кварцами , правда показалось что с ними мы разобрались... По крайней мере частотомер говорит что 32768 мы на OSC32_OUT имеем.

Сообщение отредактировал RKS - Feb 13 2015, 08:20
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 13 2015, 08:54
Сообщение #25


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(RKS @ Feb 13 2015, 09:59) *
Я правильно понимаю - вы подаете меандр с генератора через керамический конденсатор? Вы такое решение опытным путем получили или где то подглядели?
Да, через конденсатор. Решение плавно перетекло с предыдущего устройства на ATmega8, там оно нужно было для согласования 3.3-вольтового выхода генератора с входом меги. Его можно подглядеть в документации на синтезаторы LMX1601 и более поздние.
Цитата(RKS @ Feb 13 2015, 09:59) *
Я хочу понять каким конкретно узлам процессора мешает безотмывный флюс и возможно ли победить это конструктивным способом.
Интересный подход - вы пытаетесь понять методом тыка? В даташите на ваш процессор есть все требования к сигналу внешнего тактирования - допустимый размах, постоянная составляющая, допуски на длительности и фронты. Что вам мешает ткнуть осциллограф на соответствующую ногу процессора и сравнить параметры вашего сигнала с допустимыми? Если ваш сигнал укладывается в требования - трясите программиста. Хотя что там можно неправильно настроить я слабо себе представляю.
Цитата(RKS @ Feb 13 2015, 09:59) *
Безотмывный флюс плавится только от фена или стирается ацетоном.
Что ж за кака должен быть этот ваш флюс, чтобы безнадежно испортить сигнал с двухтактного (push-pull) выходного каскада триггера?

Показывайте картинку с осциллографа, чудес не бывает.

Тут вот еще подумал - может у вас триггер дает сигнал с очень крутыми фронтами, которые вызывают "звон" и этот звон процессор воспринимает как лишние такты? На эту мысль косвенно наталкивает упоминание об оживании при касании щупом осциллографа. В этом случае стоит включить в разрыв дорожки перед процессором небольшой резистор (номинал 22 Ома с потолка).


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
RKS
сообщение Feb 13 2015, 09:35
Сообщение #26


Местный
***

Группа: Участник
Сообщений: 394
Регистрация: 13-10-05
Из: Москва
Пользователь №: 9 599



Цитата(Сергей Борщ @ Feb 13 2015, 12:54) *
......
В этом случае стоит включить в разрыв дорожки перед процессором небольшой резистор (номинал 22 Ома с потолка).


Это на следующей версии железа будет сделано обязательно......
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 13 2015, 09:44
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Сергей Борщ @ Feb 13 2015, 14:54) *
длительности и фронты. Что вам мешает ткнуть осциллограф на соответствующую ногу процессора и сравнить параметры вашего сигнала с допустимыми? Если ваш сигнал укладывается в требования - трясите программиста. Хотя что там можно неправильно настроить я слабо себе представляю.

Например - старт PLL - это довольно сложный многошаговый процесс, с прописыванием регистров в определённой последовательности, ожиданием каких-то битов готовности и т.п.
Если что-то делается не так (например не ожидается какая-то готовность), то на некоторых экземплярах может прокатывать (успевает генератор раскачаться), на других - нет.
Как предположение.
Go to the top of the page
 
+Quote Post
Existing
сообщение Feb 19 2015, 11:29
Сообщение #28





Группа: Новичок
Сообщений: 4
Регистрация: 16-03-06
Пользователь №: 15 309



Также сталкивался с этой проблемой с STM32F205, суть ее выяснилась после прочтения (удивительное дело!) даташита:
Цитата
To avoid exceeding the maximum value of CL1 and CL2 (15 pF) it is strongly recommended
to use a resonator with a load capacitance CL ≤ 7 pF. Never use a resonator with a load
capacitance of 12.5 pF

Так оно и вышло, 12 пФ кварц попал в схему сугубо по инерции мышления.
Go to the top of the page
 
+Quote Post
RKS
сообщение Mar 7 2015, 22:44
Сообщение #29


Местный
***

Группа: Участник
Сообщений: 394
Регистрация: 13-10-05
Из: Москва
Пользователь №: 9 599



Цитата(Existing @ Feb 19 2015, 14:29) *
Также сталкивался с этой проблемой с STM32F205, суть ее выяснилась после прочтения (удивительное дело!) даташита:

Так оно и вышло, 12 пФ кварц попал в схему сугубо по инерции мышления.

Долго мы с этим протрахались. Оказалось - это целая религия. Угадать невозможно - надо просто знать. И как оказалось 12 пик не такая уж смертельная проблема. Есть даже рекомендованные кварцы с такими емкостями от NDK например. Может еще кому пригодится.

Прикрепленные файлы
Прикрепленный файл  Design_gide_for_STM32.pdf ( 2.79 мегабайт ) Кол-во скачиваний: 27
 
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 01:47
Рейтинг@Mail.ru


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