Страница 1 из 1

atmega16 может ли слететь прошивка?

Добавлено: Вт апр 29, 2014 23:27:44
mastech
проработало устройство год - управлятель света по RC5, в один прекрасный вечер сам включил пару светильников потом выключил и перестал реагировать на пульт. после сброса реакции ноль, при прошивке на 115200 выдал какие-то ошибки на проверке, при понижении до 14400 прошился и проверился нормально и работает! Посмотрел под микроскопом на "картридже(отдльная платка с штырьками и корпусом tqfp) были незначительные зеленые окислы, хотя плата под лаком(может пропуски).
мысли вслух: может пока я этот картридж вынимал основные окислы пальцем стер, а пока колдовал с прошивкой затер те которые ошибки вызывали?

ПС перед этим всем случаем отключали электричество и свет после этого никто не проверял.

Re: atmega16 может ли слететь прошивка?

Добавлено: Ср апр 30, 2014 11:50:31
BOB51
Прошивка слетит только если в программе имеются фрагменты с использованием команды spm или прерзаписи данных через eeprom.
Все остальное- "плохие контакты" 8)

Re: atmega16 может ли слететь прошивка?

Добавлено: Ср апр 30, 2014 11:51:51
mastech
покумекав кажись понял: При отключении электричества, на устройстве- "управлятель света" упало напряжение ниже рабочего уровня, произошел сбой и контроллер начал писать сам в себя всякую хрень, оказывается у AVR есть специальный фьюз(boden)- встроенная система контроля питания при понижении которого на уровень ниже 2.7 или 4В вешает контроллер на на ресет и ждет нормального восстановления напряжения.

Re: atmega16 может ли слететь прошивка?

Добавлено: Ср апр 30, 2014 13:02:21
BOB51
Обычная программа "сама в себя" писать не будет.
Это только в случае, если есть модуль обмена с EEPROM в процессе работы. А режим 2бутлоадера" в таких устройствах... малореально. ИЩИ КОНТАКТЫ.
Или "волшебную кнопу" - RESET называется (для ручного пинка в подобных переделках с кормежкой).
:))

Re: atmega16 может ли слететь прошивка?

Добавлено: Ср апр 30, 2014 13:40:52
mastech
контакты может но маловероятно "мамку" перед установкой проверял 100раз, а вот "картридж" был слегка спешно изготовлен. на нем вчера и нашел по микроскопом незначительные окислы меньше миллиметра.

Re: atmega16 может ли слететь прошивка?

Добавлено: Ср апр 30, 2014 16:31:16
ks0
BOB51 писал(а):Обычная программа "сама в себя" писать не будет.
Это только в случае, если есть модуль обмена с EEPROM в процессе работы.
Поясните. В процессе записи в EEPROM в случае сбоя (нарушения питания) может быть осуществлена запись в программный флеш?

Re: atmega16 может ли слететь прошивка?

Добавлено: Ср апр 30, 2014 18:39:52
orinoko
Очень рекомендую линию SCK притянуть к земле резистором на 3-5 кОм.

Re: atmega16 может ли слететь прошивка?

Добавлено: Ср апр 30, 2014 18:41:30
Alkul
ks0 писал(а):Поясните. В процессе записи в EEPROM в случае сбоя (нарушения питания) может быть осуществлена запись в программный флеш?
Нет, конечно. Зато очень возможна ситуация, когда в EEPROM хранятся важные для работы программы переменные. И если программист не предусмотрел верификацию EEPROM в начале работы программы и инициализацию упомянутых переменных некими "значениями по умолчанию", то вполне возможна ситуация, когда прочитав из EEPROM "мусор" и инициализировав им переменные
mastech писал(а):управлятель света по RC5, в один прекрасный вечер сам включил пару светильников потом выключил и перестал реагировать на пульт

Re: atmega16 может ли слететь прошивка?

Добавлено: Ср апр 30, 2014 19:55:35
BOB51
Возможна запись искаженных данных или тонкие нюансы с работой той же схемы BOD. + выход за пределы разумного завершения (на то обычно WDT реагировать должен). Кроме всего прочего защиты при записи в EEPROM весьма условны, абсолютная гарантия только в случае подтверждения последующим чтением записанного и сверкой с исходным. Любые "скачки" питания с момента начала записи до проверки результата чреваты проблемами.
8)
Посмотрел фоткии... так при таком варианте монтажа... чудненько, что токмо один разок "загнулось".
Лучше пропаяй "по второму кругу" все площадки на платке с МК и на обратной стороне материнки под канифолью и паялом от 300 градусей на жале. Похабщина сразу выскочит "свернувшимся" от концов штырей припоем. Да предусмотри неразьемную подачу общего проводника и питания (они же и крепеж платки-переходника будут) 8)
Да еще не стоит забывать про "износ" ячеек EEPROM - при длительном издевательстве проверка результата и замена "нестабильной" ОБЯЗАТЕЛЬНА.

Re: atmega16 может ли слететь прошивка?

Добавлено: Ср апр 30, 2014 21:53:56
mrFox
скорее всего слетела фуза SPI en; большинство таких случаев - из за цепи reset

если вынесли прецессор на отдельный модуль то
туда-же должны переехать:
- цепь reset
- керамические кондесаторы по питанию
- подтяжка SCK SPI

примененные разъемы крайне ненадежны варианты:
- убрать разъем-маму и запаять процессорный модуль
- дублировать - добавить еще по ряду и тогда разъемы будут двойными
- сменить разъем
и конечно же фиксировать плату винтами

Re: atmega16 может ли слететь прошивка?

Добавлено: Ср апр 30, 2014 23:24:32
mastech
orinoko писал(а):Очень рекомендую линию SCK притянуть к земле резистором на 3-5 кОм.
про sck не знал.
ресет подтянут, все максимально сделано против помех ну насколько хватает моих познаний.

Re: atmega16 может ли слететь прошивка?

Добавлено: Ср апр 30, 2014 23:40:02
mastech
BOB51 писал(а): Посмотрел фоткии... так при таком варианте монтажа... чудненько, что токмо один разок "загнулось".
Лучше пропаяй "по второму кругу" все площадки на платке с МК и на обратной стороне материнки под канифолью и паялом от 300 градусей на жале. Похабщина сразу выскочит "свернувшимся" от концов штырей припоем. Да предусмотри неразьемную подачу общего проводника и питания (они же и крепеж платки-переходника будут) 8)
Да еще не стоит забывать про "износ" ячеек EEPROM - при длительном издевательстве проверка результата и замена "нестабильной" ОБЯЗАТЕЛЬНА.
канифолью не паяю уже лет 5, паяю Fluxplus d500. похабщины на мамке нет, монтаж проверен неоднократно перед установкой, картридж- дороги залудил и поменял контроллер, прошил бод.

Re: atmega16 может ли слететь прошивка?

Добавлено: Ср апр 30, 2014 23:55:07
mastech
mrFox писал(а): - убрать разъем-маму и запаять процессорный модуль
при следующем слете так и сделаю.