Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: проблема с кварцевым резонатором 32K у STM32F100C8Tхх
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
RKS
Проблема встретилась в массовой серии. У процессора или совсем не стартует часовой генератор и стартует и срывается. Причина оказалась в безотмывном флюсе который использует сборочное производство. Пока ничего умнее не придумали чтобы поднять резонатор, оттереть сухой ватой расплавленный флюс и поставить его назад. Резонатор используем вот такой http://www.compel.ru/infosheet/GEYER/KX-38...B80101%5D%20LF/ . емкости со входа и выхода генератора на землю 10 пик. Что-то совсем мысли закончились...
Alex11
А если измерить сопротивление между контактами кварца на отмытой и нет платах - разница большая? Обычно с плохим флюсом сопротивление получается меньше сотен килоом, на чистой плате - 5-10 МОм. Если так - отмывайте плату любым способом.
ViKo
Глянул в таблицу в спецификации на STM32F100, вижу, что время старта генератора может доходить до 1 мин (при - 40 град.). Там бит есть, сигнализирующий, что частота установилась. Может, вы рано его читаете?
У меня генератор на STM32F207 запускается, тоже долго. И не сразу заработал, там питание нужно включить, еще что-то...
rx3apf
Может быть, с флюса и начать ? Я на опытной сборке, когда монтажники вручную паяют, неоднократно сталкивался (и уже цензурных слов не осталось) - полная неработоспособность, особенно как раз "часовых" цепей (в моем случае AVR). Снимешь, отмоешь, заново запаяешь - работает. Но я-то тоже безотмывным паяю (EFD FluxPlus 6-412-A), и никаких проблем. Хоть часовые кварцы, хоть малосигнальные цепи, хоть СВЧ. Феном, не в печке. Может быть, нарушают технологию, а может быть недоброкачественный флюс...

Да и номинал нагрузочных емкостей стоит уточнить, на всякий случай. Хоть измерением реальной частоты генерации (если вдруг отклонение стабильно больше 10 ppm, скорее всего, номиналы неправильные, а с неправильными номиналами и время старта больше, и надежность хуже). Только, конечно, не напрямую с ноги кварца измерять wink.gif
RKS
Цитата(rx3apf @ Dec 2 2014, 18:16) *
Может быть, с флюса и начать ? Я на опытной сборке, когда монтажники вручную паяют, неоднократно сталкивался (и уже цензурных слов не осталось) - полная неработоспособность, особенно как раз "часовых" цепей (в моем случае AVR). Снимешь, отмоешь, заново запаяешь - работает. Но я-то тоже безотмывным паяю (EFD FluxPlus 6-412-A), и никаких проблем. Хоть часовые кварцы, хоть малосигнальные цепи, хоть СВЧ. Феном, не в печке. Может быть, нарушают технологию, а может быть недоброкачественный флюс...

Да и номинал нагрузочных емкостей стоит уточнить, на всякий случай. Хоть измерением реальной частоты генерации (если вдруг отклонение стабильно больше 10 ppm, скорее всего, номиналы неправильные, а с неправильными номиналами и время старта больше, и надежность хуже). Только, конечно, не напрямую с ноги кварца измерять wink.gif

Для полноты картины надо сказать что STM32 тактируется по основной частоте от 12.5 МГц (с генератора 50 МГц деленной на 4). Фактически симптомов несколько: иногда не получается запрограммировать с основного ARMа эту маленькую STMку - нет связи по UART. Не удается откалибровать встроенные часы (калибровочный коэффициент слишком большой и пр.). Часы не заводятся или срываются. Флюс действительно самый дешевый и пока помогает только отмывка. Наш менеджер в Компеле сказал что вот такие http://www.compel.ru/infosheet/GEYER/KX-38...B80101%5D%20LF/ пользуются популярностью в том числе утех кто покупает STM32/ Причем те что поменьше http://www.compel.ru/infosheet/GEYER/KX-26T%2032.768%20kHz/ не так популярны. Насколько я понимаю то что мы покупаем в SMD корпусе фактически и есть KX-26. Может ктло-нибудь объяснить какая между ними разница. Я пока вижу 2 преимущества. Для штыревых кварцев не нужен безотмывный флюс и соответственно там не будет луж. А тот флюс что используется при ручном монтаже они смывают хорошо. Ну и дешевле он - даже с учетом монтажа.
rudy_b
Я тоже столкнулся с проблемой часового кварца на STM32F207. Стандартный кварц с емкостью 12 пф не заводится. Старый советский часовой - заводится только после щелчка. Но, по прописи на проц, следует использовать кварц с емкостью 6 пф - такие есть. Поставил его - все стало работать без проблем. В документах на проц это прописано + тщательный расчет емкостей, реально нужно ставить 4 - 10 пф.

Флюс тоже может помешать, схема с микропотреблением, но это так, побочно. Самое важное - емкость кварца.
rx3apf
Упомянутый мой случай с плохим флюсом - относился, кстати, к цилиндрическим "трухольным" кварцам. Когда этой дрянью паяли SMD-кварц - картина тоже проявлялась. С флюсом от EFD я паял и те, и другие - никаких проблем. Так что если проблема решается промывкой и перепайкой - либо флюс вообще в принципе непригоден, либо он требует каких-то специальных условий (типа пайки в печке) для устранения проводимости (возможно, мой случай относился к таким, но это уже не мое дело, пусть технолог разбирается).

Так что разбирайтесь с флюсом, однозначно. А что до кварцев - мы от применения "трухольных" отказались из-за неудобства автоматизированного монтажа, цилиндрический вариант с SMD-формовкой тоже решили не применять, и сейчас применяем SMD типоразмера 3215.

И да, обязательно уточните нагрузочные емкости - если у контроллера уже есть встроенные, то лишние 10 pF внешних на пользу не пойдут, вплоть до потери работоспособности.

Цитата(rudy_b @ Dec 2 2014, 19:20) *
Флюс тоже может помешать, схема с микропотреблением, но это так, побочно. Самое важное - емкость кварца.

Если после отмывки и перепайки работает - дело не в емкостях, по-любому.
Golikov A.
а че такое "трухольным"

а флюс емкости не может добавить и влить ту самую каплю которая смещает в сторону неработоспособности?
RKS
Цитата(Golikov A. @ Dec 3 2014, 00:24) *
а че такое "трухольным"

а флюс емкости не может добавить и влить ту самую каплю которая смещает в сторону неработоспособности?


Трухольный - это штыревой по нашему. То есть не поверхностного монтажа. А флюс видимо именно так и гадит... Емкости пытались подбирать - не помогает. Пытались ставить параллельно резонатору сопротивление от мегаома до пяти - пофиг. Только отмывка помогает.
Собственно от "противного" и пошли - пытаемся единственный работоспособный вариант поставить на поток.
Golikov A.
я реально заинтригованsm.gif
почему штырьевой - трухольныйsm.gif? Что это штырьевой я догадался из контекста, но почему трухольный осознать не смогsm.gif
rx3apf
"Trough hole" wink.gif
Velund
QUOTE (rx3apf @ Dec 2 2014, 17:16) *
Но я-то тоже безотмывным паяю (EFD FluxPlus 6-412-A), и никаких проблем. Хоть часовые кварцы, хоть малосигнальные цепи, хоть СВЧ. Феном, не в печке.


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

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

Сам паяю прототипы только Кестеровскими оригинальными флюсами (135 или 186 - в зависимости от того, что паяю и какая плата (с HAL или с иммерсионным серебром)). 135 это тип R (чистая канифоль без активаторов), 186 - RMA (Rosin Mildly Activated). На eBay у китайцев их покупать - табу абсолютное, 100% подделок.
Golikov A.
"Trough hole"
мда... не доперsm.gif все правда было просто
rx3apf
Цитата(Velund @ Dec 3 2014, 09:54) *
Попробуй то же самое запаять паяльником, и с очень хорошей вероятностью выгребешь проблем.

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


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



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


в мануалах такое не попадалось. попробуйте снять.
KnightIgor
Цитата(RKS @ Feb 11 2015, 14:55) *

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

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

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

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

Не понимаю я Вас.... wacko.gif
Если такая большая проблема, тем более с серьёзным производством, то почему костыли ставите, а не решаете её???
Возьмите готовую отладку, накатите ваш код (можно в урезанном виде только с запуском тактирования) на неё. Если не работает - пинайте программиста - возможно где-то он криво запускает PLL.
Если работает - заменяете кварц на оталдке своим генератором, опять проверяете то же самое. Не работает - курите схему подключения генератора, питание генератора и ЦП, схему ресета и т.п.
Если у вас проблема возникает не со всеми экземплярами (не 100% проявляется) - купите несколько отладок и проверьте это на всех.
viakon
Цитата(RKS @ Feb 12 2015, 14:57) *
Текущее производство использует безотмывный флюс, пока все шишки летят в него. Не верю что у процессоров STM могут быть такие капризные отношения с обычными флюсами. Не может быть чтобы STM было таким Г. Чувствую зреет перелом мозга....

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


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

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

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

Еще соображение вдогонку - а часовой и основной генератор как-нибудь связаны? У нас действительно были проблемы с часовыми кварцами , правда показалось что с ними мы разобрались... По крайней мере частотомер говорит что 32768 мы на OSC32_OUT имеем.
Сергей Борщ
Цитата(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 Ома с потолка).
RKS
Цитата(Сергей Борщ @ Feb 13 2015, 12:54) *
......
В этом случае стоит включить в разрыв дорожки перед процессором небольшой резистор (номинал 22 Ома с потолка).


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

Например - старт PLL - это довольно сложный многошаговый процесс, с прописыванием регистров в определённой последовательности, ожиданием каких-то битов готовности и т.п.
Если что-то делается не так (например не ожидается какая-то готовность), то на некоторых экземплярах может прокатывать (успевает генератор раскачаться), на других - нет.
Как предположение.
Existing
Также сталкивался с этой проблемой с 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 пФ кварц попал в схему сугубо по инерции мышления.
RKS
Цитата(Existing @ Feb 19 2015, 14:29) *
Также сталкивался с этой проблемой с STM32F205, суть ее выяснилась после прочтения (удивительное дело!) даташита:

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

Долго мы с этим протрахались. Оказалось - это целая религия. Угадать невозможно - надо просто знать. И как оказалось 12 пик не такая уж смертельная проблема. Есть даже рекомендованные кварцы с такими емкостями от NDK например. Может еще кому пригодится.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.