Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 07.09.2009, 15:08  
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: Слетает прошивка контроллера ATMEGA644

Сообщение от Gn0me Посмотреть сообщение
А вот если пальцем водить по ножкам(В том числе и по XTAL1, XTAL2‹ тогда и происходит сбой, думаю в этот момент частота не стабильна.
Гых Когда частота нестабильна, контроллер может начать выполнять произвольную инструкцию из произвольного участка памяти, и это описано в даташите.

Так может вы просто охоту на ведьм устраиваете

Попробуйте не записывать бутлоадер - исчезнет ли затирание флэша? Пока не попробуете это все будет на уровне догадок.
Реклама:
alexgap вне форума  
Непрочитано 07.09.2009, 16:00  
woroba
Гражданин KAZUS.RU
 
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
woroba на пути к лучшему
По умолчанию Re: Слетает прошивка контроллера ATMEGA644

Сообщение от alexgap Посмотреть сообщение
Попробуйте, может поможет.
Но, к примеру, в моем опыте с новыми 8-битными AVR не было случая, когда понадобились бы внешние резисторы на Reset.
А Атмеловские апноты рекомендуют не только подтягивающий резистор, но и диод с кондесатором.

А я для критичных к помехом проектах, защиваю меги параллельным программатором(что бы ресета вообще не было).
__________________
Не ошибается лишь тот, кто ни чего не делает!
woroba вне форума  
Непрочитано 07.09.2009, 16:03  
mrKirill
Вид на жительство
 
Аватар для mrKirill
 
Регистрация: 12.04.2007
Сообщений: 348
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 32 сообщении(ях)
mrKirill на пути к лучшему
По умолчанию Re: Слетает прошивка контроллера ATMEGA644

Мельком прочитал и так не увидел, Gn0me, Вы пробовали внешний pull-up на Reset?
Вы смотрите в DS и видите там внутренний резистор. Вы точно знаете сколько там номинал?
В DS на ATMega8 (первый попавший в руку) написано - 20...100кОм.
Сопротивление участка кожи на пальце будет явно меньше 10кОм, создается делитель напряжения с Кдел ›3, и те +5В "подтяжки" на этой линии спокойно превращаются в нуль! Отсюда и сброс.
Возьмите за правило ставить внешний pull-up на цепь Reset.

PS. Везде ставлю 10кОм и подобных проблем ни разу не возникало.
mrKirill вне форума  
Непрочитано 07.09.2009, 16:20  
Shviric
Вид на жительство
 
Аватар для Shviric
 
Регистрация: 17.02.2009
Адрес: Закарпатская область
Сообщений: 379
Сказал спасибо: 146
Сказали Спасибо 123 раз(а) в 66 сообщении(ях)
Shviric на пути к лучшему
По умолчанию Re: Слетает прошивка контроллера ATMEGA644

Тут, похоже, дело не в Reset, ведь топикстартер говорит, что прошивка слетает.
Ну не может резет спалить прошивку, во всяком случае, мне такие примеры неизвестны.
Цитата:
условия перехода: подача "0" на один из входов с помощью переключателя
Уточните, пожалуйста, этот вход "висит" в воздухе?
__________________
Ты проштудируй-ка
анатомию глаза: откуда тут взяться, как ты говоришь, загадочному взгляду?
Shviric вне форума  
Непрочитано 07.09.2009, 23:11  
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: Слетает прошивка контроллера ATMEGA644

Сообщение от woroba Посмотреть сообщение
А Атмеловские апноты рекомендуют не только подтягивающий резистор, но и диод с кондесатором.

И КР580ГФ24 для тактового генератора. Апноты рекомендуют, ога

Ну а если серьезно, то вот это как раз вредный прием. Он использовался в старых контроллерах и процессорах у которых не было на борту BOD, таких как Z80, AT90XXXXX и т.д.

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

Поэтому идеальным вариантом является BOD, который всегда обеспечивает запуск контроллера, при любой скорости нарастания напряжения питания.
alexgap вне форума  
Непрочитано 08.09.2009, 08:17  
Gn0me
Временная регистрация
 
Регистрация: 15.08.2006
Сообщений: 54
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Gn0me на пути к лучшему
По умолчанию Re: Слетает прошивка контроллера ATMEGA644

Сообщение от mrKirill Посмотреть сообщение
Мельком прочитал и так не увидел, Gn0me, Вы пробовали внешний pull-up на Reset?
Вы смотрите в DS и видите там внутренний резистор. Вы точно знаете сколько там номинал?
В DS на ATMega8 (первый попавший в руку) написано - 20...100кОм.
Сопротивление участка кожи на пальце будет явно меньше 10кОм, создается делитель напряжения с Кдел ›3, и те +5В "подтяжки" на этой линии спокойно превращаются в нуль! Отсюда и сброс.
Возьмите за правило ставить внешний pull-up на цепь Reset.

PS. Везде ставлю 10кОм и подобных проблем ни разу не возникало.
Внешний подтягивающий резистор действительно не пробовал, надо будет попробовать. Но сам резет не страшен для работы устройства.
Сообщение от Shviric Посмотреть сообщение
Тут, похоже, дело не в Reset, ведь топикстартер говорит, что прошивка слетает.
Ну не может резет спалить прошивку, во всяком случае, мне такие примеры неизвестны.

Уточните, пожалуйста, этот вход "висит" в воздухе?
Вывод так же внутренним резистором подтянут к +5 В. И этот вывод находится с другос стороны микросхемы от резета и XTALов. Да и к тому же, если после сброса контроллер начнет выполнять бутлоадер, все равно стирание не должно произойти, т.к. оно происходит только если послать через UART 2 спец символа.

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

Так может вы просто охоту на ведьм устраиваете

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

После некоторых доработок программы контроллер стал работать стабильнее, но все равно прошивка иногда слетает. Основное изменение сосстояло в том, что вход в бутлоадер возможен только при сбросе контроллера и больше к этому участку кода программа никогда не возвращается(если будет работать без сбоев).
Какую бы еще можно реализовать проверку в функции стирания, чтоб определить, что программа вошла сюда штатным способом, а не в результате сбоя?
Gn0me вне форума  
Непрочитано 08.09.2009, 09:49  
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: Слетает прошивка контроллера ATMEGA644

Сообщение от Gn0me Посмотреть сообщение
Какую бы еще можно реализовать проверку в функции стирания, чтоб определить, что программа вошла сюда штатным способом, а не в результате сбоя?
1) Проверять целостность записываемых данных перед стиранием. Я, например, всегда использую протокол XModem для бутлоадеров - там каждый пакет данных защищен контрольной суммой и поддерживается повторная передача данных в случае ошибки

2) Вставить дополнительные проверки непосредственно перед алгоритмом записи, чтобы убедиться что поток управления попал сюда именно из-за ресета, а не из-за глюка процессора при нестабильной частоте. Ну проверки простые. Например, сразу в начале бутлоадера устанавливается спец. комбинация (ключ) в ОЗУ, и запись не должна начинаться если этот ключ не такой, как должен быть. По окончанию записи или выходу из бутлоадера этот ключик в ОЗУ затереть нулями или ff.

3) Точно не уверен, но наверное можно процессору взвести какой-нибудь регистр для защиты от записы во флэш. Надо смотреть даташит
alexgap вне форума  
Сказали "Спасибо" alexgap
Gn0me (08.09.2009)
Непрочитано 08.09.2009, 10:16  
Shviric
Вид на жительство
 
Аватар для Shviric
 
Регистрация: 17.02.2009
Адрес: Закарпатская область
Сообщений: 379
Сказал спасибо: 146
Сказали Спасибо 123 раз(а) в 66 сообщении(ях)
Shviric на пути к лучшему
По умолчанию Re: Слетает прошивка контроллера ATMEGA644

Сообщение от Gn0me Посмотреть сообщение
Вывод так же внутренним резистором подтянут к +5 В.
Если хотите сделать прибор максимально помехозащищенным, то не стоит доверять только внутренним резисторам.
Цитата:
Внешний подтягивающий резистор действительно не пробовал, надо будет попробовать.
Никак не пойму, тема висит уже несколько дней, неужели так трудно было попробовать? Может, неудачная разводка печатной платы (ну, вроде как, резистору негде упасть)? Шучу.
__________________
Ты проштудируй-ка
анатомию глаза: откуда тут взяться, как ты говоришь, загадочному взгляду?
Shviric вне форума  
Непрочитано 08.09.2009, 10:29  
Gn0me
Временная регистрация
 
Регистрация: 15.08.2006
Сообщений: 54
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Gn0me на пути к лучшему
По умолчанию Re: Слетает прошивка контроллера ATMEGA644

По поводу 3 версии. Наверно помогут биты защиты BLB0, BLB1. Сейчас проведу эксперименты и напишу, что получилось.
Gn0me вне форума  
Непрочитано 08.09.2009, 11:03  
mrKirill
Вид на жительство
 
Аватар для mrKirill
 
Регистрация: 12.04.2007
Сообщений: 348
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 32 сообщении(ях)
mrKirill на пути к лучшему
По умолчанию Re: Слетает прошивка контроллера ATMEGA644

Экспериментатор - поставьте внешний резистор и проверьте. Действительно, так сложно за несколько дней 2 раза ткнуть паяльником?
mrKirill вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зарядное устройство Прошивка для контроллера Sanyo Цифровые сигнальные процессоры 9 18.04.2010 11:41
Функция загрузчик (MK ATMEGA644) Gn0me Микроконтроллеры, АЦП, память и т.д 0 27.03.2009 16:59
Замена контроллера Da_shu_tka Микроконтроллеры, АЦП, память и т.д 12 05.02.2009 11:06
Нужна схема контроллера ResX Источники питания и свет 4 03.09.2007 14:02
Связь контроллера с компом master-ruden Микроконтроллеры, АЦП, память и т.д 14 04.04.2007 23:33


Часовой пояс GMT +4, время: 09:33.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot