Организация начального сброса МК

February 22, 2011 by admin Комментировать »

Начальное обнуление современных МК производится в следующих случаях (Рис. 2.19):

•    Power-On — внутренний автоматический сброс, который активизируется сразу после подачи питания;

•    Brown-Out — сброс от внутреннего детектора «просадок» питающего напряжения;                 

•     External Reset — внешний сброс НИЗКИМ уровнем на выводе RES;

•    Watch-Dog — сброс от внутреннего «сторожевого» таймера при случайной остановке работы ЦПУ или зависании программы;

•    JTAG — программный сброс через отладочный интерфейс JTAG.

Рис. 2.19. Подсистема начального сброса МК.

 

Все источники сброса равноценны, что подчёркивает логический элемент «ИЛИ», находящийся внутри МК. Установка режимов сброса производится конфигурационными битами, а также программно-доступными регистрами из области SFR. Настраиваться могут: порог срабатывания детектора «просадок» напряжения, длительность времени задержки таймера ожидания Watch-Dog, моменты включения/отключения генератора G1.

Узел аппаратного сброса Power-On присутствует во всех без исключения МК. Если напряжение питания стабильно во времени и подаётся резким скачком, то внешние элементы для сброса теоретически вообще не нужны. Обнуление производится автоматически узлом Power-On по достижению определённого порога.

При высокой скорости нарастания питания (ориентировочно за время не более 1…5 мс) вход сброса RES подключают к цепи К^с тремя способами: напрямую, через внешний резистор сопротивлением 1…10 кОм или оставляют свободным, полагаясь на внутренний резистор МК.

Первый вариант полностью устраняет путь помехам, но исключает «кнопочный» сброс и возможность повторного программирования. Второй вариант позволяет подключить кнопку сброса, что удобно при лабораторном макетировании в домашних условиях. Третий вариант разрешается при отсутствии помех и наличии внутри МК подтягиваюш,его резистора R^ сопротивлением до 100 кОм.

Если напряжение питания нарастает более длительное время (для разных семейств МК по-разному), то рекомендуется установка внешних /?С-цепочек (Рис. 2.20, а, б) со стандартными значениями:

•     = 10 кОм, С, = 0.1 мкФ при времени нарастания 5…20 мс. Например, подача питания К^с переключателем, который располагается между интегральным стабилизатором напряжения +5 В и МК;

•     = 10 кОм, С, = 10 мкФ при времени нарастания 20… 100 мс. Это актуально, например, при включении устройства в сеть 220 В обш,им тумблером. Если ёмкость конденсатора С/ больше 1 мкФ, то для ускорения его разряда ставят диод VD1 типа 1N4148 (КД522Б), а для зашиты входа сброса от перенапряжения ещё и резистор R2. Эти перестраховки продлевают МК жизнь.

Рис. 2.20. Сброс внешней /?С-цепочкой: а) при среднем времени нарастания питания; б) при большом времени нарастания питания.

 

Узел детектора Brown-Out появился в архитектуре МК сравнительно недавно. В частности, в семействе Atmel AT90S его ещё .не было, что приводило к непредсказуемым сбоям и самопроизвольному стиранию ячеек памяти EEPROM. Физика процессов простая. При критически низком напряжении питания узел программирования памяти ещё работоспособен, а ЦПУ уже не управляем. Следовательно, в ячейки памяти может заноситься произвольная информация. Налицо конструктивный дефект, поэтому семейство AT90S было полностью снято с производства и заменено семействами ATmega, ATtiny, в которых детектор Biown-Out предусмотрен на постоянной основе.

Детекторная цепь измеряет напряжение питания V^q и вырабатывает сигнал сброса ЦПУ при достижении программно заданного порога в районе 2…4 В. Имеется гистерезис 0.1…0.15 В, что препятствует повторному рестарту при небольших колебаниях напряжения. В результате повышается помехоустойчивость при питании от полуразряженных батарей/аккумуляторов, а также при мощных электромагнитных наводках.

Детектор получил название «Brown-Out», поскольку отслеживает кратковременные «коричневые» (англ. «brown») просадки напряжения. Почему «коричневые»? Потому что этот цвет более светлый, чем чёрный, которым на сленге обозначают полное пропадание питания «Black-Out».

Детектор Brown-Out можно включить и выключить установкой определённых конфигурационных битов. Через них же задаются пороги срабатывания напряжения 2…4 В, которые, кстати, имеют приличный технологический разброс.

Здесь находится «подводный камень», о который часто «спотыкаются» разработчики, если устанавливают порог срабатывания детектора Brown-Out равным или выше, чем рабочее питание. Типичный пример: К^с = 3.6 В, а конфигурационные биты настроены на порог 4 В. В таком случае МК примерно через секунду после подачи питания сбросится внутренним сигналом Brown-Out, затем вновь начнёт программу и опять сбросится, не успев толком ничего сделать.

Напрашивается вывод — первичную отладку программного обеспечения следует проводить при выключенном узле Brown-Out, но затем обязательно его включить, проверить и постоянно эксплуатировать на объекте.

Узел Watch-Dog, он же «сторожевой таймер», «пограничный пес», «собака в карауле». Если сторожевой таймер включен, то он постоянно увеличивает значение своего счётчика. Через промежуток времени, равный «тайм-ауту» Watch-Dog, выполняется принудительный сброс МК. Однако, пользователь имеет возможность вставить в программу специальную команду WDR (Watch-Dog Reset), чтобы обнулить счётчик и тем самым отсрочить момент сброса. Если отсрочку производить вовремя, то устройство будет нормально функционировать, а разработчик будет уверен втом, что его детище «не зациклилось». Время «тайм-аута» задаётся регистрами из области SFR и может составлять от одной миллисекунды до нескольких секунд.

Если программа почему-то «зависла» на одном месте или произошёл сбой, то очередная команда WDR в ЦПУ не поступает, «спящий дог» просыпается и принудительно сбрасывает МК. Программа стартует заново, как после нажатия кнопки сброса. Тем самым предотвращаются аварийные остановки программы, что полезно при автономной работе устройства в необслуживаемых человеком пунктах.

Тактируется Watch-Dog от отдельного внутреннего /?С-генератора GI частотой 0.1…1 МГц, что позволяет ему выполнять свою функцию даже при полном пропадании внешнего тактового сигнала. Частота генерации зависит от температуры и напряжения питания. Общее разрешение/запрет на работу «сторожевого таймера» устанавливается конфигурационными битами.

Узел Watch-Dog является полезным, но не обязательным для домашнего применения. Чтобы не запутаться, на первых порах его лучше вообще не использовать. Благо, при начальных заводских настройках конфигурационных битов, Watch-Dog по умолчанию отключён и никак не влияет на работу МК.

Узел внешнего сброса активизируется, если на входе RES в течение нескольких микросекунд удерживается НИЗКИЙ уровень. На более короткие импульсы вход сброса не реагирует. Это сделано специально, чтобы повысить помехоустойчивость. Источниками внешнего сброса могут служить: механическая кнопка, управляющий логический уровень, микросхема монитора питания, а также любой узел автоматики, имеющий выход «сухой контакт» или «открытый коллектор».

Узел сброса через JTAG характерен только для самых новых МК, в которых присутствует одноимённый интерфейс. Программисту предоставляется возможность при отладке послать команду с условным названием «МК_ЯЕ8ЕТ», принудительно сбрасывая МК в начальное положение. Такая технология полезна для опытных разработчиков, поскольку требует специальных знаний и навыков.

Выбор конкретной схемы сброса зависит от условий эксплуатации. Например, если суммарная ёмкость конденсаторов фильтра между цепямии GND составляет более 1000 мкФ, то, скорее всего, понадобится внешняя-цепочка (Рис. 2.20, а, б). Если рядом с выводомна печатной плате проходит силовая коммутационная цепь, то для выяснения причин сбоев полезно временно соединить линию сброса МК с питанием. Если прибор располагается вблизи от источника мощных индустриальных помех, то на входе сброса рекомендуется поставить дополнительную микросхему супервизора питания, которая продублирует узел- Brown-Out. Логика рассуждений простая. Копеечный супервизор «кашу маслом не испортит», зато он сможет спасти в непредвиденной ситуации.

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты