Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Посоветуйте по узлам контроля работы процессора

Отправлено Д.о.к.т.о.р..Т.у.а.м.О.с.е.с 24 февраля 2007 г. 09:45


Есть желание сделать на плате узел контроля за работой процессора микроконтроллера. Знаю что есть супервизоры с Watchdog-таймером, которые ресетят проц, если напряжение питания вышло за пределы допустимого диапозона или если проц вовремя не сбросил Watchdog-таймер. Это конечно всё очень хорошо и замечательно, но только тут вот в чём загвоздка:

1) Сброс Watchdog-таймера как правило осуществляется в обработчике прерываний таймера {время же внутри проца как-то надо отсчитывать, чтобы знать в какой момент ресетить Watchdog}. Но!!! Основная программа может зависнуть при том, что обработчики прерываний будут работать нормально и регулярно ресетить Watchdog. Вы скажете: не надо сбрасывать Watchdog где потенциально может возникнуть "вечный" цикл. Но иногда бывает очень трудно разглядеть "вечный" цикл, который возникает только при определённых наборах данных и который "захватывает" и команду ресета Watchdog-таймера.Так что опять мимо. Нет. Конечно прок от Watchdog-а какой-то всё же есть. Но.. Таким образом, Watchdog контролирует временную логику работу процессора только отчасти.

2) О ресете процессора.
При ресете большинство узлов проца принудительно возвращается в исходное состояние и проц принудительно возвращается на начало программы. Конечно в этом есть определённый смысл если внешняя схема обнаружила нарушения в работе проца..Но...Опять но..Все Вы наверное слышали про тиристорное защёлкивание..Очень часто приходится слышать такую фразу: "и помогает только выключение питание на достаточное продолжительное время"..Т.е. иногда ресета бывает недостаточно. Чтобы "расщёлкнуть" защёлкнувшиеся тиристорные структуры нужно выключить питание и ждать пока "сдуются" все микроёмкости в микроконтроллере. А это время может составлять 30 и более секунд.
Так что...Опять мимо..

Теперь я хочу сказать о своих мыслях, т.е. в каком направлении "рою" я.

Во-первых, хочу сделать ключ на ждущем мультивибраторе, который не ресетит проц, а вырубает питание на достаточно продолжительное время.

Во-вторых, хочу чтобы микроконтроллер периодически выплёвывал во внешнюю схему код состояния в котором он ща перешёл..А внешняя схема, "знающая" логику работы программы, контролировала допустимость каждого перехода..И если что-то не так - импульс на ждущий мультивибратор и далее выключение питания на 30 и более сек {т.е. так называемый "холодный" сброс}.

А что вы, Господа, думаете по этому поводу???
Как вы решаете проблему контроля работы процессора???

Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
что получится, если сложить 4 и 4 ?

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru