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

Сдох контроллер или..?

Согласна насчет емкостей. Странно, у меня и тантал на выходе и керамика... Плюс на NRST конденсатор... Не могут же все три конденсатора быть бракованными...

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

 

Ну бог с ними, я отпаяла ножку до конденсаторов и факт остается фактом - пребразователь бракованый.

Буду разбираться потихоньку со всем.

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


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

Думаю факт только в том, что при измерениях там что-то не чисто.... Ибо не может быть одинаковая осциллограмма на ноге NRST и на выходе стабилизатора тот-же прямоугольник 5В... Это по меньшей мере не правдоподнобно.

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


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

Ну бог с ними, я отпаяла ножку до конденсаторов и факт остается фактом - пребразователь бракованый.

Буду разбираться потихоньку со всем.

Сомневаюсь в браке преобразователя - такое впечатление что при включении, где-то 5 вольт пробивает на землю и всё начинает работать, но нестабильно.

Стоит проверить осциллографом потенциал общего провода на каждой дорожке по всей плате.

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

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


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

ПРичиной появления пятивольтового импульса была "культура производства" - плохой контакт земли с земляным "крокодильчиком" осциллографа (все это сносно и даже без искажений компенсировалось связью по земле USB осцилографа и J-LINK, как оказывается для работы этого достаточно, а в моменты включения происходят перекосы).

Пятивольтовый импульс исчез, на осциллографе плавное нарастание напряжения до 3.3 вольт. Но вот проблемы это почему-то не решило. Контроллер бывает не стартует. Может какая наносекундная помеха? У меня осциллограф всего 200 кГц дискретизации, может и не поймать.

 

Сомневаюсь в браке преобразователя

Подтверждаю. Я отпаяла преобразователь и запитала схему от импульсника на LM2596s - та же периодически возникающая проблема.

 

теперь питание идёт через паразитную землю через щупы осциллографа или через плату отладки или еще как...

Полностью отключила плату от паразитов, ни осциллографа, ни программатора, только питание - знаете, частота сбоев только возросла.

 

Будем искать...

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


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

Разрешилось.

Прям как в анекдоте

- Владимир Владимирович, скажите, что делаю российские войска на Украине?

- Что делают? Отсутствуют.

 

 

Так и тут. Почему не запускается контроллер? Да на самом деле он запускался и наверное все это время тихо надо мной посмеивался.

На самом деле ПЕРИОДИЧЕСКИ не стартовал не контроллера, а дисплей, программа контроллера узрев ошибку дисплея, спокойно шла дальше, а так как никаких других исполнительных устройств на плате нет, догадаться что контроллер работает никак было нельзя.

Вы скажете, эх ты раззява, а отладчик на что?

Дело в том, что, как я уже писала выше, за день до этого была замена микросхемы феном. С противоположной стороны платы располагается дисплей, его контроллер как раз в проекции микросхемы. Перегрела я контроллер и теперь дисплей должен 2-3 секунды после включения прогреться, тогда он заводится и работает без сбоев.

 

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

 

А как же прикосновение пальца? Вот как раз прикосновение пальцем после прогрева дисплея и вызывало ресет и нормальный запуск устройства.

Доказательство вышесказанному - убрала RC цепочку с NRST - все работает нормально.

 

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

 

Спасибо за поддержку)

 

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


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

Вы скажете, эх ты раззява, а отладчик на что?

Вообще-то, по уму, в отлаживаемых устройствах всегда желательно иметь какой-либо канал вывода отладочного лога.

Канал очень желательно простой (не USB/Ethernet), оптимально - UART.

Я всегда туда вывожу диагностику, в том числе и сообщения драйверов устройств о процессе инициализации и критические ошибки тоже туда-же.

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


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

А как же прикосновение пальца? Вот как раз прикосновение пальцем после прогрева дисплея и вызывало ресет и нормальный запуск устройства.

Доказательство вышесказанному - убрала RC цепочку с NRST - все работает нормально.

Я так и не понял причину.

Дисплей наводил помеху на цепи NRST? - так у вас разводка платы неправильная, тем более если срабатывал от касания пальцем.

А как дисплей мог наводить помеху, если он не работал?

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


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

Ну так контроллер же не программировался нормально... Этому дисплей то как мешал? Мне кажется это все опять притянуто за уши. Бракованный стабилизатор питания v2.0 :)

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


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

Дисплей не мешал контроллеру.

Еще раз говорю - кто-то мне посоветовал в SWD кабеле пустить только линии данных и плюса питания. У него видимо работало благодаря земле USB.

У меня (еще 2 недели назад) не заработало, я соединила минус питания с землей J-LINK. Заработало. я осталась довольна. Нужен этот разъем был на один раз (при серийном производстве), почему бы и нет.

Не знаю почему, может положение кабеля питания относительно какого-нибудь источника помех поменялось, но программироваться контроллер перестал.

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

Вылечилось только тогда, когда я подпаяла провод поближе к SWD и соединила его с землей J-LINK. На этом проблемы с прошивкой контроллера исчезли. Но осталась проблема с запуском.

Вообще-то, по уму, в отлаживаемых устройствах всегда желательно иметь какой-либо канал вывода отладочного лога.

Так мне SWD для отладки хватало выше крыши. На худой конец, отлаживаемую информацию я выводила на экран. Все ножки контроллера были задействованы, UART-не вариант.

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

 

Я так и не понял причину.

Дисплей наводил помеху на цепи NRST?

как дисплей мог наводить помеху, если он не работал?

Ничего он не наводил. Еще раз говорю, контроллер работал, просто если он обращался к дисплею в первую секунду после включени питания (не запуска, контроллера, а именно включения питания), дисплей молчал. Дисплей прогревался 2-3 секунды, обретал работоспособность и если контроллер перезагружался дисплей работал.

 

 

Мне кажется это все опять притянуто за уши.

Программа перестроена так, что контроллер обращается к дисплею непрерывно после старта, пока тот не ответит. В результате - холодное устройство выводит на экран информацию через 3-4 секунды, прогретое- сразу же. RC-цепочку с NRST убрала, ситуация не ухудшилась. Все программирутеся, все запускается, ничто не ресетится само.

 

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


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

Так мне SWD для отладки хватало выше крыши. На худой конец, отлаживаемую информацию я выводила на экран. Все ножки контроллера были задействованы, UART-не вариант.

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

Как видите - не хватало.

И не бывает "отработанного и проверенного кода". Бывает только "код с пока непроявившимися багами" :)

И не всё можно отладить точками останова и т.п. Особенно в реал-тайм системах. Вот тут как раз удобен UART.

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


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

Еще раз говорю - кто-то мне посоветовал в SWD кабеле пустить только линии данных и плюса питания.

Ну нельзя же так. Голова-то тоже должна работать.

Есть стандартная распиновка 5-проводного SWD (если SDO пользуете- то 6 проводов). Любое отклонение от данного порядка должно быть серьезно обосновано и обязательно описано в Вашей разработческой документации, иначе через полгода забудете, что и зачем наворотили так хитро.

 

Пускать кабель с сигналами, опирающимися на GND и не содержащий GND провода- неприемлемо. За такое нужно сразу ... гм.... в-общем, не надо так делать.

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


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

Так мне SWD для отладки хватало выше крыши. На худой конец, отлаживаемую информацию я выводила на экран. Все ножки контроллера были задействованы, UART-не вариант.

Я сейчас стараюсь делать программирование контроллеров через UART. А после запуска программы перепрограммирую этот UART на вывод лога работы - получается один разъем и для программирования и для контроля и работает без дополнительной аппаратуры, и программа единая.

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


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

только линии данных и плюса питания

это как это

 

Так мне SWD для отладки хватало выше крыши

хотя бы светодиодиком красным мигайте

 

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


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

Я сейчас стараюсь делать программирование контроллеров через UART. А после запуска программы перепрограммирую этот UART на вывод лога работы - получается один разъем и для программирования и для контроля и работает без дополнительной аппаратуры, и программа единая.

А загрузчик у вас свой, или встроенным системным пользуетесь? Сначала встроенным загрузчиком загружаете свой загрузчик, потом своим загрузчиком грузите основную программу, а в ней перестраиваете UART на вывод?

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


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

А загрузчик у вас свой, или встроенным системным пользуетесь? Сначала встроенным загрузчиком загружаете свой загрузчик, потом своим загрузчиком грузите основную программу, а в ней перестраиваете UART на вывод?

Зачем "свой" загрузчик? Встроенным загружаю основную программу и запускаю ей. В основной программе настраиваю UART на ввод/вывод. На вывод - это журнал, на ввод - какие-то настройки при производстве. Да, после программирования перемычку приходится ставить.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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