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

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 весьма условны, абсолютная гарантия только в случае подтверждения последующим чтением записанного и сверкой с исходным. Любые "скачки" питания с момента начала записи до проверки результата чреваты проблемами.

Посмотрел фоткии... так при таком варианте монтажа... чудненько, что токмо один разок "загнулось".
Лучше пропаяй "по второму кругу" все площадки на платке с МК и на обратной стороне материнки под канифолью и паялом от 300 градусей на жале. Похабщина сразу выскочит "свернувшимся" от концов штырей припоем. Да предусмотри неразьемную подачу общего проводника и питания (они же и крепеж платки-переходника будут)

Да еще не стоит забывать про "износ" ячеек 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 градусей на жале. Похабщина сразу выскочит "свернувшимся" от концов штырей припоем. Да предусмотри неразьемную подачу общего проводника и питания (они же и крепеж платки-переходника будут)

Да еще не стоит забывать про "износ" ячеек EEPROM - при длительном издевательстве проверка результата и замена "нестабильной" ОБЯЗАТЕЛЬНА.
канифолью не паяю уже лет 5, паяю Fluxplus d500. похабщины на мамке нет, монтаж проверен неоднократно перед установкой, картридж- дороги залудил и поменял контроллер, прошил бод.
Re: atmega16 может ли слететь прошивка?
Добавлено: Ср апр 30, 2014 23:55:07
mastech
mrFox писал(а):
- убрать разъем-маму и запаять процессорный модуль
при следующем слете так и сделаю.