реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Защита от зависания
BAA
сообщение Oct 13 2005, 08:52
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 24
Регистрация: 3-03-05
Пользователь №: 3 039



Разрабатываю устройство на AVR критичное к длительным зависаниям контроллера. Раньше никогда у меня авр-ки не висли. Ставил RC - цепочку и диод на RESET.
Подумываю поставить монитор питания со сторожевым таймером.

1. Насколько часто виснут AVRки?
2. При установке монитора на вход сброса больше ничего подсоединять не нужно?
3. Нашел ds1232 но дороговат может есть что подешевле.
Go to the top of the page
 
+Quote Post
Alexandr
сообщение Oct 13 2005, 09:01
Сообщение #2


Знающий
****

Группа: Модераторы
Сообщений: 804
Регистрация: 1-12-04
Пользователь №: 1 283



AVR-ы вроде бы все УЖЕ оснащены сторожевым таймером (WDT), зачем ставить еще что-то внешнее? А супервизор питания конечно не помешает.


--------------------
Иван Сусанин - первый полупроводник
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Oct 13 2005, 09:10
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Собственно говоря в AVR присутствует
watchdog для вывода из вечного цикла
и brown-out detector для сброса по провалу питания
внимательно перечетай главу с описанием fuse bits.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
BAA
сообщение Oct 13 2005, 10:04
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 24
Регистрация: 3-03-05
Пользователь №: 3 039



Знаю что присутствует, но слышал что они иногда так виснут что и внутрений сторожевой таймер не помогает.
Сам не сталкивался...
Go to the top of the page
 
+Quote Post
BVU
сообщение Oct 13 2005, 11:20
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(BAA @ Oct 13 2005, 14:04)
Знаю что присутствует, но слышал что они иногда так виснут что и внутрений сторожевой таймер не помогает.
Сам не сталкивался...
*

А Вы ОБС не слушейте, а делайте в соответствии с фирменными рекомендациями. WDT он и в Африке WDT! wink.gif
А если ваша встроенная система повиснет, так что собственный WDT не помогает, то не поможет и внешний. Причина такого зависания совершенно иного характера. Попробуйте 'стрельнуть' мощным электромагнитным импульсом и узнаете, как работает электроника... wacko.gif


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
Nikola Kirov
сообщение Oct 13 2005, 12:05
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 4-11-04
Из: Болгария
Пользователь №: 1 050



Деиствително возможно что иногда внутренъи WDT не может помоч. Но не получается точно зависание контролера. Он работает но что то в RAM поменялос или получился преход там куда не надо в следствие внешнеи помехи. В зависимост стуктуру конкретной програме возможно что и при етом положение WTD обнуляется ворвемя но програма не работает нормално.
С етим нада рзбиратся с програмнъие средства,а если проект болшои и очен ответствен можно и внешнии WTD сделат. Но как правило в более ответственние устроиств AVR не рекомендуется ползоват.
MSP430 очен удачнъие для етих целях.
Go to the top of the page
 
+Quote Post
Pyku_He_oTTyda
сообщение Oct 13 2005, 12:11
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 751
Регистрация: 4-08-05
Из: Великие Луки
Пользователь №: 7 360



Я недавно поднимал такую тему здесь и советовался с "матерыми" разработчиками. Они меня успокоили, сказали что WDT достаточно, можно не переживать.


--------------------
Андрей Смирнов
Go to the top of the page
 
+Quote Post
BVU
сообщение Oct 13 2005, 12:18
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(Nikola Kirov @ Oct 13 2005, 16:05)
Деиствително возможно что иногда внутренъи WDT не может помоч. Но не получается точно зависание контролера. Он работает но что то в RAM поменялос или получился преход там куда не надо в следствие внешнеи помехи. В зависимост стуктуру конкретной  програме возможно что и при етом положение WTD обнуляется  ворвемя  но програма не работает нормално.
С етим нада рзбиратся с програмнъие средства,а если проект болшои и очен ответствен можно и внешнии WTD сделат. Но как правило в более ответственние устроиств AVR не рекомендуется ползоват.
MSP430 очен удачнъие для етих целях.
*

Nikola! В этих случаях о которых Вы говорите программа при начальном старте должна иметь корректную инициализацию, что бы полностью возобновить работу системы после рестартов не зависимо, что у нее находиться в RAM. Иначе само предназначение WDT становиться бесполезным.


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
Rash
сообщение Oct 13 2005, 12:23
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



Я пользую супервизоры MAX814 или ADM706-708, стоят 1,5$ нареканей пока небыло, там и WDR и RESET прямой или обратный, и Low Batery есть выбирай на свой вкус.
Go to the top of the page
 
+Quote Post
Nikola Kirov
сообщение Oct 13 2005, 12:29
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 4-11-04
Из: Болгария
Пользователь №: 1 050



Не не говорил об етом что процесор сделает ресет при помехи. Просто програма уходит в месте куда по логики самои програме не должна бъйт или стоиност какой то переменной в памяти поменялос при помехи и поетому и логика работъи не такая как нада бъит. Но процесор работает и регулярно обнуляет WTD. Поставляем внешнии WTD не на месте внутреннего а ани работают паралелно. И если програмка циклит в участке где обнуляется один из них другой будет сработат.
Но опят же предупреждаю что AVR не предназначенъие для более ответственъие устроиств. Они и електростатического теста изделия, если соответствущее изделие должно проходит такои, очен трудно переходят.
Go to the top of the page
 
+Quote Post
BVU
сообщение Oct 13 2005, 12:39
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(Nikola Kirov @ Oct 13 2005, 16:29)
Не не говорил об етом что процесор сделает ресет при помехи. Просто програма уходит в месте куда по логики самои програме не должна бъйт или стоиност какой то переменной в памяти поменялос при помехи и поетому и логика работъи не такая как нада бъит. Но процесор работает и регулярно обнуляет WTD.  Поставляем внешнии WTD не на месте внутреннего а ани работают паралелно. И если програмка циклит в участке где обнуляется один из них другой будет сработат.
Но опят же предупреждаю что AVR не предназначенъие для более ответственъие устроиств. Они и електростатического теста изделия, если соответствущее изделие должно проходит такои,  очен трудно переходят.
*

Согласен, может быть и такая ситуация, но это 'предельный' (очень редкий) случай, которого можно не допустить! Подобная ситуация не может возникнуть на устройстве с гарвардской архитектурой, если там не будет существовать такого кода (обнуление WDT).


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
Igor26
сообщение Oct 13 2005, 12:41
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



Цитата(BVU @ Oct 13 2005, 14:20)
Цитата(BAA @ Oct 13 2005, 14:04)
Знаю что присутствует, но слышал что они иногда так виснут что и внутрений сторожевой таймер не помогает.
Сам не сталкивался...
*

А Вы ОБС не слушейте, а делайте в соответствии с фирменными рекомендациями. WDT он и в Африке WDT! wink.gif
А если ваша встроенная система повиснет, так что собственный WDT не помогает, то не поможет и внешний. Причина такого зависания совершенно иного характера. Попробуйте 'стрельнуть' мощным электромагнитным импульсом и узнаете, как работает электроника... wacko.gif
*


Это смотря где поставить команду asm("wdr")! У нас была ситуация, когда при испытаниях на ЭМС, устройство висло, хоть тресни! После анализа кода программистом, он убрал достаточно много сбросов WDT и, о чудо! Устройство прошло по самой жесткой категории на ЭМС! Совершенно согласен с Уважаемым BVU, что устройство можно вогнать в такое состояние, когда вернуть его в "чувство" поможет только снятие и повторная подача питания. Было. Проходили. Но не все же устройства у Уважаемых коллег работают в таких диких условиях. Поэтому, я лично(моё мнение) никогда не ставлю asm("wdr") в тех участках программы, где, например, дожидаюсь готовности от чего-то и время ожидания этой готовности заведомо меньше, чем время сработки WDT. А вот если готовности за это время не было, то тут сработает WDT, а далее перезапуск программы, переинициализация перефирии и т.д. и т.п. Тут уже нужно стараться, чтоб не "висла" периферия. smile3009.gif Ярчайший пример часто "виснущей" в неблагоприятных электромагнитных условиях периферии - это ЖКИ с внутренним контроллером. Поэтому, при случаях полного клинча устройства, не нужно сразу грешить на контроллер. Тут собака может быть зарыта где угодно! Только кропотливый и детальный анализ ситуации поможет в ней разобраться.
Go to the top of the page
 
+Quote Post
BVU
сообщение Oct 13 2005, 13:11
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(Igor26 @ Oct 13 2005, 16:41)
Ярчайший пример часто "виснущей" в неблагоприятных электромагнитных условиях периферии - это ЖКИ с внутренним контроллером.    Поэтому, при случаях полного клинча устройства, не нужно сразу грешить на контроллер. Тут собака может быть зарыта где угодно! Только кропотливый и детальный анализ ситуации поможет в ней разобраться.
*

Где-то в глубинах нашего AVR форума находиться такая тема, которую я с пару недель тому назад 'приподняв' пытался возобновить для обсуждения. Проблема действительно 'гнусная', т.к. не все разработчики скажем для своих 'домашних' изысканий способны приобретать и конструировать устройства с индикацией на ЖК с требуемыми параметрами эксплуатации (в условиях мощных помех) и как следствие - дорогостоющие. Отсюда и 'падкость' на WinStar и ему подобные LCD, которые имеют подобные недостатки. Вероятно это связано с низкой помехоустойчивостью как микросхемы управляющего контроллера, так и памяти, а так же диапазон питающего напряжения, который находится в узких пределах. Но победить их по всей видимости можно, если последовательно обеспечить все требования по снижению в конструкции как электростатические, так и электромагнитные помехи. Но это уже другая история требующая возобновления старой или создание новой темы для обсуждения.


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
Igor26
сообщение Oct 13 2005, 13:22
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



Цитата(BVU @ Oct 13 2005, 16:11)
Цитата(Igor26 @ Oct 13 2005, 16:41)
Ярчайший пример часто "виснущей" в неблагоприятных электромагнитных условиях периферии - это ЖКИ с внутренним контроллером.    Поэтому, при случаях полного клинча устройства, не нужно сразу грешить на контроллер. Тут собака может быть зарыта где угодно! Только кропотливый и детальный анализ ситуации поможет в ней разобраться.
*

Где-то в глубинах нашего AVR форума находиться такая тема, которую я с пару недель тому назад 'приподняв' пытался возобновить для обсуждения. Проблема действительно 'гнусная', т.к. не все разработчики скажем для своих 'домашних' изысканий способны приобретать и конструировать устройства с индикацией на ЖК с требуемыми параметрами эксплуатации (в условиях мощных помех) и как следствие - дорогостоющие. Отсюда и 'падкость' на WinStar и ему подобные LCD, которые имеют подобные недостатки. Вероятно это связано с низкой помехоустойчивостью как микросхемы управляющего контроллера, так и памяти, а так же диапазон питающего напряжения, который находится в узких пределах. Но победить их по всей видимости можно, если последовательно обеспечить все требования по снижению в конструкции как электростатические, так и электромагнитные помехи. Но это уже другая история требующая возобновления старой или создание новой темы для обсуждения.
*


Совершенно согласен! Эта тема далеко не закрыта и ещё не один раз будет поднята! И, скорее всего, будут предлагаться "обходные" пути решения этой проблемы. Хотя...
Go to the top of the page
 
+Quote Post
vm1
сообщение Oct 13 2005, 18:13
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 978



У меня есть подозрение, что AVR-ы менее
устойчивы чем Pic-и.
Ни в коем случае не хотел бы спровоцировать
класическую дискуссию что лучше,
хочу только поделится личными наблюдениями.
Pic контроллеры, хорошие они или плохие но они точно очень устойчивы.
Мы применяли различные серии, в различных устройствах,
никогда нечего не зависало.
Вывести их из строя практически невозможно.
В некоторых изделиях Pic-и управляют
транзисторами в блоках питания,
стоят рядом с силовыми имп.трансами,
что разработчики работающие с AVR категорически
не рекомендуют делать.
У нас устройства на Pic проходили тестирование разрядами
и радио излучением, рамкой, проблем нет.
Иногда при ошибках монтажа они работали при 8В в питании.
C AVR не работал но судя по материалам
форума заметно что с AVR бывают проблемы со стабильностью.
Возможно это связано с ранним выходом на рынок с флэш технологиями,
Pic-и очень долго выпускались только с OTP памятью.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th July 2025 - 14:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01487 секунд с 7
ELECTRONIX ©2004-2016