Nikitoc 0 9 апреля, 2010 Опубликовано 9 апреля, 2010 (изменено) · Жалоба Всем здрасте! Я тут недавно столкнулся с непонятным поведением схемы. Устройство на основе PIC18F4620 подвисает, скорее всего после воздействия помехи пришедшей от генератора (используется в автомобиле) и несмотря на то что запрограммирован WatchDog процессор не сбрасывается :-( Что с ним происходит я, признаться, не представляю. После передергивания питания нормальное функционирование восстанавливается. Происходит такое не часто, но с завидной регулярностью. Раз в один-два дня обязательно подвисает. Что это может быть? Я уже голову всю сломал. Кстати из остальных фьюзов запрограммирован PowerUpTimer и Stack Overflow Reset. BrownOutDetector не использую. Но собственно основной вопрос мучает один - может ли программа слететь таким образом, чтобы WDT не сработал? Изменено 9 апреля, 2010 пользователем Nikitoc Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 9 апреля, 2010 Опубликовано 9 апреля, 2010 · Жалоба От защелкивания (тиристорный эффект) помогает только полное снятие питания МК. Внутренний WDT тут никак не поможет. Займитесь конструкцией своего устройства. Явно имеются какие-то недостатки в трассировке платы и/или в схеме питания и/или во входных цепях. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nikitoc 0 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба От защелкивания (тиристорный эффект) помогает только полное снятие питания МК. Внутренний WDT тут никак не поможет. Займитесь конструкцией своего устройства. Явно имеются какие-то недостатки в трассировке платы и/или в схеме питания и/или во входных цепях. Про такое слышу первый раз. Можно поподробнее про тиристорный эффект? Или ссылочку какую-нибудь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба Или ссылочку какую-нибудь?Можно даже целую кучу ссылочек. http://www.google.ru/search?q=тиристорный+эффект В англоязычной литературе упоминается как latch-up effect. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
slavka012 0 13 апреля, 2010 Опубликовано 13 апреля, 2010 · Жалоба Всем здрасте! Я тут недавно столкнулся с непонятным поведением схемы. Устройство на основе PIC18F4620 подвисает, скорее всего после воздействия помехи пришедшей от генератора (используется в автомобиле) и несмотря на то что запрограммирован WatchDog процессор не сбрасывается :-( Что с ним происходит я, признаться, не представляю. После передергивания питания нормальное функционирование восстанавливается. Происходит такое не часто, но с завидной регулярностью. Раз в один-два дня обязательно подвисает. Что это может быть? Я уже голову всю сломал. Кстати из остальных фьюзов запрограммирован PowerUpTimer и Stack Overflow Reset. BrownOutDetector не использую. Но собственно основной вопрос мучает один - может ли программа слететь таким образом, чтобы WDT не сработал? А кто сказал, что watch-dog не работает? Он же у вас в коде ресетится, надо полагать? Не исключено, что проц крутится в цикле, который сбрасывет wdt. Какая-то функция у вас выводится для отладки, лампочка там мигает, или последовательный порт? Кстати, а почему brown-up не пользуете? вообще, полагаться на на WDT можно только если вы не собираетсь им пользоваться. :) если же вы ожидаете что девайс будет виснуть, на использовать внешний WDT Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 апреля, 2010 Опубликовано 20 апреля, 2010 · Жалоба Дополню предыдущего отвечающего. Watchdog нельзя сбрасывать в прерываниях. А то в основной программе процессор из-за сбоя куда-нибудь улетит и зациклится, а в прерывания будет исправно заходить, и исправно сбрасывать сторожевой таймер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться