Прошивка слетает!
Прошивка слетает!
Доброго времени суток! У меня вопрос. Одинаковые платы и одинаковые прошивки. Но по разному по времени прошиваются. Одни контроллеры (планарки) прошиваются до полной сборки всей платы. Другие контроллеры, прошиваются после полной сборки всей платы. Но вот появились проблемы с работой платы. Те контроллеры, которые прошивались после полной сборки платы, работали нормально. Те платы с контроллером, которые прошивались в самом начале сборки, из них 80% плат не работали. Помогала перепрошивка контроллеров! Почему происходит такой сбой программы! Что тому вина? Спасибо!
- Реклама
- koyodza
- Собутыльник Кота
- Сообщения: 2623
- Зарегистрирован: Вс июл 17, 2011 11:51:52
- Контактная информация:
Re: Прошивка слетает!
При перегреве такое возможно. Ваяете как? Феном наверное?
Re: Прошивка слетает!
Нет процессора (планар Mega8) запаиваем паяльной станцией, без фена. На плате предусмотренны контакты для внутрисхемного программирования. Прошиваем уже после пайки процессора при комнатной температуре самого кристалла. Так что температурный эффект исключается. Глюк с прошивками возникает у тех плат, которые полностью собирались уже после пайки контроллера. Вопрос - а статика от жалы паяльника, к такому эффекту может приводить?
Re: Прошивка слетает!
перед началом пайки поставьте перемычку на шине питания (+u->>gnd) затем установите детали и в конце работы не забудьте эту перемычку снять... 
Re: Прошивка слетает!
О причинах, конечно, можно долго и интересно рассуждать, тем не менее.
Какой смысл программировать перед сборкой ?
В собранном устройстве как то ловчее и быстрее + возможно некоторое тестирование.
Какой смысл программировать перед сборкой ?
В собранном устройстве как то ловчее и быстрее + возможно некоторое тестирование.
- Реклама
Re: Прошивка слетает!
Правильно смысла нет! Всего лишь удобство. Так как плата очень насыщенная деталями и пока их мало, можно было спокойно подойти к контактным площадкам отвечающие за прошивку. Хорошо,тогда такой вопрос. При рабочем устройстве, а это охранная сигнализация. Какой нибудь внешний фактор по напряжению, может испортить прошивку (только прошивку).Какой смысл программировать перед сборкой ?
Re: Прошивка слетает!
Да вот сомнительное удобство - это сначал микросхему в панельку программатора совать, а потом выковыривать -)))king-live писал(а): Правильно смысла нет! Всего лишь удобство. Так как плата очень насыщенная деталями и пока их мало, можно было спокойно подойти к контактным площадкам отвечающие за прошивку.
А на плате просто делается несколько тестпойнтов подведенных к ногам программирование, стотенький стенд или просто адаптер с пружинными контактами, который прислоняется к плате, либо на который плата кладется и все тут же шьется.
- Кислый
- Поставщик валерьянки для Кота
- Сообщения: 2095
- Зарегистрирован: Чт апр 08, 2010 18:50:01
- Откуда: Краснодар
- Контактная информация:
Re: Прошивка слетает!
Во время работы качера прошивка слетала.. тоесть в ВЧ полях есть вариант..
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Re: Прошивка слетает!
У меня бывало прошивки слетали в драйверах шаговиков.
Бывало и такое что вроде как и зависали (не отвечали на внешние раздражители типа кнопок), но продолжали крутить движок.
Бывало и вылетала некоторая часть чипа.
Хотя там просто импульсные помехи были.
Бывало и такое что вроде как и зависали (не отвечали на внешние раздражители типа кнопок), но продолжали крутить движок.
Бывало и вылетала некоторая часть чипа.
Хотя там просто импульсные помехи были.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Re: Прошивка слетает!
Это как раз и сделано на плате только вместо контактов установил панельку от 8 ногой микросхемы. И адаптер на проводах с такой же панелькой. Так что выпаивать ничего не приходится. Удобно и просто. Ну с темой понятно. Попробую по экспериментировать. Какие электрические возбуждения могут давать такую проблему. Испытаю и метод пайки как предложили ранее. Нужент ответ на этот вопрос. Спасибо всем!А на плате просто делается несколько тестпойнтов подведенных к ногам программирование
Re: Прошивка слетает!
Прошивку можешь считать ?
Посмотри по битам - все, что поменялось сползло от 1 в 0 , что более вероятно ?
Или 0->1, или хаотично ?
Посмотри по битам - все, что поменялось сползло от 1 в 0 , что более вероятно ?
Или 0->1, или хаотично ?
- mark13121971
- Открыл глаза
- Сообщения: 54
- Зарегистрирован: Вт янв 05, 2010 14:51:04
Re: Прошивка слетает!
А паяльная станция заземлена? (к вопросу о статике)
Re: Прошивка слетает!
Думаю, это от нагрева.
Ячейка флешки - это полевой транзистор с плавающим затвором и зарядом на нем. А с нагревом экспоненциально растет ток утечки.
Возможно, срок срок хранения данных в 10 лет уменьшается до нескольких секунд -))
Ячейка флешки - это полевой транзистор с плавающим затвором и зарядом на нем. А с нагревом экспоненциально растет ток утечки.
Возможно, срок срок хранения данных в 10 лет уменьшается до нескольких секунд -))
Re: Прошивка слетает!
Я по несколько раз перепаивал феном прошитые меги восьмые, в TQFP, как у автора - проблем небыло. Хотя такой вариант не исключаю...При перегреве такое возможно. Ваяете как? Феном наверное?
- DX168B
- Друг Кота
- Сообщения: 4468
- Зарегистрирован: Вс янв 24, 2010 19:19:52
- Откуда: Главный Улей России (Moscow)
- Контактная информация:
Re: Прошивка слетает!
У меня был другой случай.
Написал программульку для AtMega32. Всё отладил, проверил и настал момент прошить это дело в МК. Подключил программатор (LPT), подал питание, прошил МК и настроил фьюзы на внешний кварц 8МГц. Отключил питание МК, снял МК с панельки и вставил в девайс. Запускаю и жду лог с COM порта. Ожидаю "Starting... Done.", "Sending 000:168A:TEST", но вместо этого получаю "@#$%^%...." давай думать, в чём же дело. Проверил исходник, всё ОК. Проверил настройки COM порта в компе, тоже всё правильно. Проверил фьюзы, там тоже всё нормально(!). Заменил кварц и кондёры. Тоже самое в терминале. Перепрошиваю МК и вроде заработало. Через некоторое время снова крякозябры в терминале. Стоило его (девайс) только отключить и снова включить(!). Замена МК тоже не помогала.
Потом посидел и подумал. "Отключаю девайс, МК некоторое время питается от кондёра на 2000мкф который стоит по питанию на плате. СТОП!!!! при пониженном питании, МК может хаотично писать данные во все типы памяти, начиная с EEPROM и заканчивая FLASH!!!1"
Подключил МК к программатору и запрограммировал фьюз BODEN. После этой операции, проблема со слётом прошивки исчезла.
В начале, после прошивки я отключил питание. Но МК иногда имеет привычку питаться паразитными токами от выводов программатора. Питания ему не хватило для нормальной работы и он принялся издеваццо над своей памятью. Во втором случае, виновником оказался кондёр по питанию, который плавно разряжался. Ну а вина во всём этом, это моя неосмотрительность.
Написал программульку для AtMega32. Всё отладил, проверил и настал момент прошить это дело в МК. Подключил программатор (LPT), подал питание, прошил МК и настроил фьюзы на внешний кварц 8МГц. Отключил питание МК, снял МК с панельки и вставил в девайс. Запускаю и жду лог с COM порта. Ожидаю "Starting... Done.", "Sending 000:168A:TEST", но вместо этого получаю "@#$%^%...." давай думать, в чём же дело. Проверил исходник, всё ОК. Проверил настройки COM порта в компе, тоже всё правильно. Проверил фьюзы, там тоже всё нормально(!). Заменил кварц и кондёры. Тоже самое в терминале. Перепрошиваю МК и вроде заработало. Через некоторое время снова крякозябры в терминале. Стоило его (девайс) только отключить и снова включить(!). Замена МК тоже не помогала.
Потом посидел и подумал. "Отключаю девайс, МК некоторое время питается от кондёра на 2000мкф который стоит по питанию на плате. СТОП!!!! при пониженном питании, МК может хаотично писать данные во все типы памяти, начиная с EEPROM и заканчивая FLASH!!!1"
Подключил МК к программатору и запрограммировал фьюз BODEN. После этой операции, проблема со слётом прошивки исчезла.
В начале, после прошивки я отключил питание. Но МК иногда имеет привычку питаться паразитными токами от выводов программатора. Питания ему не хватило для нормальной работы и он принялся издеваццо над своей памятью. Во втором случае, виновником оказался кондёр по питанию, который плавно разряжался. Ну а вина во всём этом, это моя неосмотрительность.
I am DX168B and this is my favourite forum on internet!
Re: Прошивка слетает!
Последний ответ DX168B меня заинтересовал. Правда кондёр у меня всего ничего по питанию, но вот при пониженном питании проэксперементирую.
- DX168B
- Друг Кота
- Сообщения: 4468
- Зарегистрирован: Вс янв 24, 2010 19:19:52
- Откуда: Главный Улей России (Moscow)
- Контактная информация:
Re: Прошивка слетает!
Проверьте на всякий случай фьюз BODEN и запрограммируйте его, если он не запрограммирован.
Этот фьюз затягивает МК на сбросе, если питание МК ниже 2,7 Вольт. То есть, этот механизм защищает МК от низких напряжений питания, при которых есть большая вероятность порчи данных. Есть ещё такой фьюз, как BODLEVEL. Изменяя его, мы меняем порог срабатывания этого механизма. Если он запрограммирован, то порог срабатывания защиты возрастает с 2,7 В до 4,7В. В совсем ответственных устройствах, дополнительно к этому применяют и внешнюю обвеску для реализации защиты ПЗУ от хаотичных записей при низком питании МК, так как только одной внутренней защиты может быть недостаточно для полноценной защиты МК.
Этот фьюз затягивает МК на сбросе, если питание МК ниже 2,7 Вольт. То есть, этот механизм защищает МК от низких напряжений питания, при которых есть большая вероятность порчи данных. Есть ещё такой фьюз, как BODLEVEL. Изменяя его, мы меняем порог срабатывания этого механизма. Если он запрограммирован, то порог срабатывания защиты возрастает с 2,7 В до 4,7В. В совсем ответственных устройствах, дополнительно к этому применяют и внешнюю обвеску для реализации защиты ПЗУ от хаотичных записей при низком питании МК, так как только одной внутренней защиты может быть недостаточно для полноценной защиты МК.
I am DX168B and this is my favourite forum on internet!


