Полная версия этой страницы:
Сдох STM32F030
RadiatoR
Feb 1 2016, 14:27
Добрый день.
Имею 2 платки с 32F030K6T6 простой датчик, по 485 сыплет инфу. Уже работает пара таких устройств. Вроде нормально. Но есть проблема - что бы довести до работы прохожу кучу граблей.
Вот сейчас наткнулся на очередные: открыто 2 кейла - один для датчика, другой для F042K6U6 на основном устройстве. Есть 1 программатор stlink v2 оригинальный. Подключен нормально - все как в аптеке. Провод короткий, частота 950кГц, внешнее питание. Втыкаю его в 1 платку, шью - все ок. Втыкаю во 2, шью - выскакивает ошибка (одна из кучи разнообразия ошибок) то интернал еррор, то еще что-нить. В общем прошить не смог (хотя до этого спокойно прошивал и все работало). Запустил ST link utility - та же история. То одно, то другое. И ресетом пробовал и так и сяк. В инфе то Detection fail, то нормально видит (но только не в normal). Но писать отказывается, читать тоже отказывается. То фьюзы увидит на защиту - снять не удается - пишет всякие ошибки...
Короче как я понял девайс здох. Можно было бы выпаять чип и смайнать его в мусорку - да не он первый. Таких у меня не то что бы каждый второй, но бывают слишком часто, что бы это было случайностью. Питание ок - 3,3, не прыгает, емкости на каждом шагу. Не могу разобрать где косяк.
Раньше работал с AVR. Такого не то что бы не было, но на своей памяти я даже сейчас не вспомню что у меня глючило так. А тут что не плата, то проблемы выгребаю. Неужели STMки такие нежные? Или я что-то не так делаю?
Цитата(ЯadiatoR @ Feb 1 2016, 17:27)

Неужели STMки такие нежные? Или я что-то не так делаю?
Как обычно: схему и трассировку в студию))
Цитата(ЯadiatoR @ Feb 1 2016, 17:27)

Неужели STMки такие нежные? Или я что-то не так делаю?
Второе.

А есть возможность попробовать другой программатор? Может с ним какие-то проблемы. И как организовано тактирование?
Этому МК много не надо. Проверить питание, RST, BOOT0. Иногда бывает нужно "connect under reset". Ну и разводка должна быть не вопиющей, естественно.
RadiatoR
Feb 1 2016, 15:13
Схема проста как веник
http://c2n.me/3tIV3pJhttp://c2n.me/3tIVsSfhttp://c2n.me/3tIVwYH.
Тут можно заметить, что feedback на LMR14206 (DCDC) идет через всю плату - тут я понадеялся, а зря. Пуск контроллера давал помеху - изза этого у меня напруга при старте проскакивала бывало до 3,7 и контроллер улетал. Но сейчас у меня напрямую соплей с выходного кондера идет и все ок. Напруга стабильна.
Программатор пробовать смысла нет. Он в порядке. Есть 2 макетки и еще 1 ст-линк. Все нормально работают. Это чисто я косячу.
Какой провод короткий - USB или от отладчика к плате?
Посмотрите осциллографом сигналы с отладчика. Думаю, вас ждет неприятный сюрприз.
Цитата(ЯadiatoR @ Feb 1 2016, 18:13)

Схема проста как веник
Тут можно заметить, что feedback на LMR14206 (DCDC) идет через всю плату - тут я понадеялся, а зря. Пуск контроллера давал помеху - изза этого у меня напруга при старте проскакивала бывало до 3,7 и контроллер улетал. Но сейчас у меня напрямую соплей с выходного кондера идет и все ок. Напруга стабильна.
Программатор пробовать смысла нет. Он в порядке. Есть 2 макетки и еще 1 ст-линк. Все нормально работают. Это чисто я косячу.
Так ты питание откуда бершь? С ST-Link или с импульсника? И нога питания подключена к ST-Link? Соединять напрямик выходы двух питателей нехорошо.
Сергей Борщ
Feb 1 2016, 15:37
От чего питается устройство в момент подключения программатора? Я намекаю на то, что если устройство питается от воткнутого в незаземленную розетку импульсного источника, а компьютер воткнут в заземленную или наоборот или оба воткнуты в незаземленные розетки на разных фазах, то по земле между программатором и устройством может пробегать некислый ток.
Огурцов
Feb 1 2016, 16:38
было аналогичное на f407 несколько раз, после микрофреймворка обычные программы отказывались прошиваться
лечилось бубном и многократным стиранием оригинальным флешером
RadiatoR
Feb 1 2016, 16:54
Провод от программатора до девайса ~15см - осциллом там на 950 кГц идеальный прямоугольник. Я и меньше ставил - это не причина, т.к. я ставил вплоть до 4МГц и все тоже прекрасно работало. Именно на этом же девайсе.
Плата питается от регулируемого БП -> LMR14206 (1,25MHz DC-DC) -> 3,3v. Тут вопросов не возникает.
Сам ст-линк питается с компа. С платы он вообще питаться не может, но для его работы требуется внешнее напряжение. В самом ст-линке оно просто подтягивает SWDIO к питанию и все. А так идет общая земля ну и сами сигналы и reset. Кстати все сигналы к самому процу ст-линка через резюки идут. Так что прямого контакта тоже нет. Да и вообще программатор работает нормально.
По поводу земли - понятия не имею. Но опять же врятли - не первое устройство, которое шью. Просто у меня некоторые выкаблучиваются по непонятным мне причинам.
Цитата(ЯadiatoR @ Feb 1 2016, 19:54)

Провод от программатора до девайса ~15см - осциллом там на 950 кГц идеальный прямоугольник. Я и меньше ставил - это не причина, т.к. я ставил вплоть до 4МГц и все тоже прекрасно работало. Именно на этом же девайсе.
Там же не один провод.

Прямо на ножках микроконтроллера смотрели?
Можно попробовать тестовую программу записать. Простейшую.
RadiatoR
Feb 1 2016, 17:09
Да, щупом в ноги.
Ну как вам сказать) девайс даже не стирается. И не читается - это труп. Тут делать нечего. Вопрос в том, что я делаю не так.
Завтра я его еще конечно подраконю, но не думаю что это вернет его к жизни
По схеме криминала не видно. Ещё накидаю вариантов:
1. Монтаж: непропай, проводящий флюс и т.д.
2. "Левые" контроллеры. Даже у крупных поставщиков нынче часто контрафакт проскакивает.
HHIMERA
Feb 1 2016, 18:11
Цитата(ЯadiatoR @ Feb 1 2016, 19:54)

Плата питается от регулируемого БП -> LMR14206 (1,25MHz DC-DC) -> 3,3v. Тут вопросов не возникает.
Уверены???
RadiatoR
Feb 1 2016, 18:20
1 .Монтаж - я не первый день паяю. Флюс юзаю такой:

Пайка идеальная - ни волоска, ни пылинки - короч тут не вариант (жалко фотик так не сфотает. Было бы приятно выкинуть. Как тут короче

).
2. Контроллеры - врятле. Я покупаю в elbase. В целом все ок. Но порюсь именно на мк (кстати эти мк не единственные, которые у меня вылетают. Я больше грешу все же на себя, но кто его знает... Буду надеяться что не магаз).
Цитата(HHIMERA @ Feb 1 2016, 21:11)

Уверены???
Что значит уверен ли? А как еще?
Посмотрел схему и испытал "легкое ощущение дежавю".
Пошуршал, и нашел
тему.
Про потребителя 600 мА вы так и не ответили, уверяя, что все заработало после манипуляций с землей.
RadiatoR
Feb 1 2016, 19:56
Верно, дежавю никакого нет)
Про разные глюки я уже писал) одним из них была идиотски проведенная дорожка feedback у стабилизатора. И когда стартовал проц питание улетало, он вылетал и начинал потреблять 600ма. С этим я уже давно разобрался.
Цитата(ЯadiatoR @ Feb 1 2016, 22:56)

С этим я уже давно разобрался.
Но процы продолжают умирать.
Есть предположение, что DC-DC у вас очень мощный (на 600 мА), а такому бугаю качнуть лишних пол-ампера много ума не надо.
При этом потребителей у вас в сумме на десяток мА наберется - вот напряжение и подскакивает до фатальных значений.
Цитата(adnega @ Feb 2 2016, 02:09)

Но процы продолжают умирать.
Есть предположение, что DC-DC у вас очень мощный (на 600 мА), а такому бугаю качнуть лишних пол-ампера много ума не надо.
При этом потребителей у вас в сумме на десяток мА наберется - вот напряжение и подскакивает до фатальных значений.
Когда вижу питание отлаживаемого устройства от регулируемого БП, сразу вспоминается:
Есть у нас в конторе довольно много регулируемых лабораторных источников некоего криворукого производителя, с максимальным возможным напряжением ==25V.
Так вот, они имеют гадскую особенность - при подаче сетевого напряжения, выдают на выход импульс напряжения равный максимальному выходному напряжению.
Даже если на нём задано U.вых ==3.3V, при включении на выходе будет кратковременно 25V. Уже не одно устройство ими попалили, которое включали напрямую мимо его LDO-стабилизатора.
Достаточно сетевому напряжению чуток дёрнуться - и привет.
RadiatoR
Feb 2 2016, 05:13
Ребят я понял ваше беспокойство по поводу dcdc, но у меня 6 таких устрйоств. Да, раньше улетал из за feedback. Сейчас такого нет. Это хороший, не дешевый dcdc. Я его использую очень давно (но с avr юзал большую часть практики, куда только его не пихал) и не вижу в нем проблем.
У меня девайс вылетел не при включении, а при программировании (ну при его попытке). Другие то работают хоть бы хны. В плане включай/выключай этот БП - хоть бы что. Девайс на технике стоит, от генератора заводится. Там при заводе машины огого что скачет, а он подключен просто на общую шину питания.
Кстати судя по тому, что я сам косяк у меян вылетают и другие стм-ки, там этого dcdc нет. Там стоят вообще другие БП. Тоже обычные на 12-24в. Неужели все они такие плохие и все dcdc пропускают? С трудом верится
У меня такой стоит

и куча разных MW
ps. Сегодня сутра подрубил эту платку и что вы думаете? Все работает, все читается, все шьется
Можно проверить осциллографом чистоту сигналов SWCLK, SWDIO. Если там есть проблема, можно повесить ~47пФ на SWCLK. Ещё можно попробовать подключаться через ноутбук на батарейке (отключенном от сети 220В).
SasaVitebsk
Feb 2 2016, 06:53
У меня таких 2. К нему претензий не было. Точнее один получили с оборванной защитой по току, да так и не делали ничего. Второй полностью исправен. Прямо на кристалл мы не подаём с него правда. Но при подаче на плату никаких проблем не замечали. Причём он достаточно хорошо развязан. Это мы точно проверяли. У нас измерительные цепи.
Применяем несколько типов stm. На серийных изделиях вообще ничего не вылетает. Записываем ISP.
На отладочных платах я спалил два f407. Стандартным stlink-ом. И кстати один stlink. Потом его восстановил. Сгорели в момент отключения. Я так понимаю, "на живую" к JTAG подключать нельзя и отключать тоже. )) Да только периодически это происходит ...
RadiatoR
Feb 2 2016, 07:33
Кстати что-то про 15 см провод я загнул) там у меня примернр 42-45 см будет :D
Я ищу вот такой коннектор

Он втыкается в сам ст-линк. Это типа PBD только с ключом, что бы не включить наоборот. Мож кто знает маркировку? Я хочу такую же платку переходник сделать и не париться. От него уже 10 см кабелем выйти.
Переходник? Глупости какие. Вот как надо:
Цитата(ЯadiatoR @ Feb 2 2016, 10:33)

Я ищу вот такой коннектор
.
По фото коннектор похож на BHR. Так и не уяснил: питание от ST-Link подается на плату с контроллером или нет? На схеме у тебя видно 2 разъема для программирования.
Сергей Борщ
Feb 2 2016, 07:55
Цитата(ЯadiatoR @ Feb 2 2016, 09:33)

Это типа PBD только с ключом, что бы не включить наоборот. Мож кто знает маркировку?
Немного изменить конструктив и необходимость в ключе пропадает:
Нажмите для просмотра прикрепленного файла
RadiatoR
Feb 2 2016, 08:30
Цитата(Сергей Борщ @ Feb 2 2016, 10:55)

Немного изменить конструктив и необходимость в ключе пропадает:
Хорошая идея! Спс.
2
=L.A.= Извиняюсь. Компонента С99 на плате нет и не было. Это я Tag connect примерял как он будет смотреться - в итоге пока что смотрится дорого :D.
питание платы я выше описал: БП -> LMR14206(DC-DC) -> 3.3v.
С ст-линк соединена земля. Она является общей. Питание 3,3 на ст-линк подается тоже, но оно внутри него проходит так:
http://c2n.me/3tKG0rw - питание используется только что бы подтянуть некоторые линии к нему через резюки. Это схема внутри ст-линка
Цитата(ЯadiatoR @ Feb 2 2016, 10:33)

Кстати что-то про 15 см провод я загнул) там у меня примернр 42-45 см будет :D
И остальное, видимо, настолько же достоверное?
Когда смотрите осциллографом, емкость пробника может придушить выбросы-отражения. Лучше повесьте конденсатор небольшой на такты, и длину провода я уменьшил бы до "загнутой".
RadiatoR
Feb 2 2016, 08:56
Цитата(ViKo @ Feb 2 2016, 11:36)

И остальное, видимо, настолько же достоверное?

Ну остальное вы видели (я про трассировку и схему).
Длину я уменьшу. Сейчас переходник нормальный сделаю и будет ок.
Сейчас кондеры впихнуть некуда, на следующую плату пару воткну
AlanDrakes
Feb 2 2016, 15:02
У меня с STLink/V2 есть забавный прикол. Его внутреннее питание - 3.0V. Если питание целевой платы ВЫШЕ, чем те самые 3.0V - прошивка не записывается, ошибки - когда как, чаще всего - что ядро находится в Reset'е.
Если опустить питание целевой платы до 2.8V (есть у меня под рукой такой стабилизатор) - всё шьётся с первой попытки и без ошибок.
Попробуйте проверить напряжения на программаторе и целевой плате.
Цитата(AlanDrakes @ Feb 2 2016, 18:02)

У меня с STLink/V2 есть забавный прикол. Его внутреннее питание - 3.0V. Если питание целевой платы ВЫШЕ, чем те самые 3.0V - прошивка не записывается, ошибки - когда как, чаще всего - что ядро находится в Reset'е.
Если опустить питание целевой платы до 2.8V (есть у меня под рукой такой стабилизатор) - всё шьётся с первой попытки и без ошибок.
Попробуйте проверить напряжения на программаторе и целевой плате.
Думаю, у вас тоже проблема не в питании, а в сигналах. Которые неким чудесным образом становятся более похожими на нормальные. Пороги смещаются, или сопротивления меняются, или еще из той же оперы...
RadiatoR
Feb 2 2016, 20:02
Ну напруга ст-линка согласно его же схеме 3 в. Про это я в курсе. Он обычно работает без особых проблем, как и сейчас. Просто иногда хз почему выскакивают непонятные глюки
AlanDrakes
Feb 3 2016, 07:11
Цитата(ViKo @ Feb 2 2016, 22:28)

Думаю, у вас тоже проблема не в питании, а в сигналах. Которые неким чудесным образом становятся более похожими на нормальные. Пороги смещаются, или сопротивления меняются, или еще из той же оперы...
Хотел бы я знать, почему именно так.
Осфиллограф и логический анализатор отлично видят сигнал как при 2.9V, так и при 3.3V на плате. Только вот программатор при более высоком напряжении сыплет случайными ошибками. Плату при этом раз через раз не видит даже ST-Util, иногда находит кристалл, иногда - нет. Иногда может прочитать часть FLASH, чаще - нет. Про запись - вообще молчу.
Кстати, надо бы придумать как заставить работать SWD в оконечном устройстве при такой специфике.
Ничего иного, кроме падения напряжения на проводах земли и сигналов, на ум не приходит. В дополнение к выше сказанным отражениям в длинных линиях.
Покажите осциллограммы, когда есть ошибки.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.