Микроконтроллеры зависают: причины. Применение сторожевого таймера. Интерфейсы. Коммуникации. Ввод.

Причины зависания микро-контроллеров. Устройства ввода. Интерфейсы (10+)

Микроконтроллеры - самоучитель - Зависание. Интерфейсы. Ввод

Оглавление :: ПоискТехника безопасности :: Помощь

Зависание. Сторожевой таймер

Это, я вам скажу, вещь! Автоматика на то и автоматика, что работает 99.9% времени без присутствия человека. А вдруг датчик не ответил? А вдруг ошибка в алгоритме вызвала сбой и зависание? Контроллер может зависнуть также из-за помех по цепям питания или радиопомех.

Чтобы вам спалось спокойнее, в МК живет маленький человечек, который может нажать в экстренном случае на кнопку 'RESET'. Называется он – сторожевой таймер. Это абсолютно неподконтрольная микроконтроллеру штуковина, которая обязательно перезагрузит МК, если в течение определенного времени он не сбросил специальный флаг. Таким образом, вы можете быть уверены, что без вашего участия в критической ситуации, человечек прибежит к кнопке 'RESET' и нажмет ее! Управлять сторожевым таймером вы можете прямо в программе, разрешая его в одних сегментах программы и запрещая в других.

Вашему вниманию подборка материалов:

Практика проектирования электронных схем Искусство разработки устройств. Элементная база. Типовые схемы. Примеры готовых устройств. Подробные описания. Онлайн расчет. Возможность задать вопрос авторам

Коммуникации. Интерфейсы

Для нашего счастья существует целый воз модулей Ethernet, GSM, COM, USB, Bluetooth, радио-, которые можно успешно спаривать с МК и организовывать каналы данных, в т.ч. по радиосвязи. Это может быть использовано для удаленного управления (существуют разработки web-сервера на базе МК), удаленного мониторинга, распределенной системы «умный дом» и так далее и тому подобное. Все ограничено лишь полетом вашей фантазии и квалификацией.

Устройства ввода

Тут выбор опять же ограничен вашей квалификацией и фантазией. Можете использовать любую клавиатуру или просто кнопку, потенциометр или промышленный переключатель. Даже тачпэд. Вопрос только лишь в наличии драйвера к выбранному вам устройству. Если для кнопки драйвер не нужен вообще, то для тачпэда вам необходима будет специальная библиотека функций для взаимодействия с этим устройством. В самом плохом случае – дейташит перед вами и сами, сами, сами. Пишем код.

Простой пример схемы

Большинство из вышеназванных расширений и возможностей мы постараемся более детально рассмотреть в следующих статьях. А пока попробуем сделать малюсенький примерчик. Он исключительно логический. Токоограничивающих резисторов тут нет, светодиоды применены просто как класс устройств. Цепи питания в ISIS прорисовывать не обязательно. Достаточно указать, что выводы подключены либо к шине +5В, либо VCC/VDD. Кварцевый резонатор в данном случае нам тоже не нужен. МК будет тактироваться, используя внутренний генератор тактовой частоты. Он не очень стабильный, но для наших потребностей это совершенно не важно.

В свойствах микроконтроллера в ISIS необходимо выбрать режим использования внутреннего RC-генератора. При программировании реального МК это делается с помощью фьюзов (fuses). О них немного позже.

Использовать я буду Proteus 7 Pro и CodeVisionAVR 2.05 Pro.

Что мы с вами сделаем? Попробуем поработать над тем, чтобы принять входной сигнал, например, с кнопки. И сгенерировать выходной сигнал. Например, зажечь светодиод. Это универсальная штука. Потому как вместо кнопки может быть все, что душе угодно. А вместо светодиода – любое исполнительное устройство.

Возьмем для этой небольшой задачки 'малюсенький' микроконтроллер ATMega8. Нам больше и не нужно. Порты обозначаются следующим образом: Порт А будет PA, порт B – PB. Обычно каждый порт состоит из 8 выходов (1 байт) и каждый выход (PIN) будет нумероваться как PB0-PB7.

Через слеш (/) указываются дополнительные функции порта. Например, PD0/RXD. Это значит, что этот порт может выполнять работу регистра общего назначения, а также служить для передачи данных USART. Или PC6/RESET. Тут вам должно быть понятно без объяснений. Конечно же, этот порт будет использоваться как шина для подачи сигнала 'RESET', приводящего к перезагрузке МК.

Сделаем контур сброса, индикатор питания и нашу кнопку мы подключим на вывод PB0. Почему? Да просто так. Совершенно произвольно. Безусловно, в более крупных проектах следует очень вдумчиво относиться к выбору портов МК. От этого зависит и удобство кодирования, и доступные функции на порту. О дополнительных функциях портов мы поговорим в следующей части.

(читать дальше...) :: (в начало статьи)

Оглавление :: ПоискТехника безопасности :: Помощь

 

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

Если что-то непонятно, обязательно спросите!
Задать вопрос. Обсуждение статьи.

Еще статьи

Трансформатор тока. Токовые клещи. Схема. Устройство. Характеристики. ...
Принцип действия токового трансформатора. Проектирование. Формулы для расчета...

Тиристоры. Типы, виды, особенности, применение, классификация. Характе...
Классификация тиристоров. Обозначение на схемах Основные характеристики и важные...

Импульсный источник питания светодиода светодиодного фонаря, светильни...
Схема импульсного источника питания ярких светодиодов....

Полевой транзистор, КМОП микросхема, операционный усилитель. Монтаж, у...
Как правильно припаять полевой транзистор или КМОП микросхему...

Резистор. Принцип работы. Математическая модель. Применение. Резисторн...
Резистор. Принцип работы. Применение в схемах. Свойства. Классификация....

Силовой мощный импульсный трансформатор, дроссель. Намотка. Изготовить...
Приемы намотки импульсного дросселя / трансформатора....

Резонансный инвертор, преобразователь напряжения повышающий. Схема, ко...
Инвертор 12/24 в 300. Резонансная схема....

Изготовление дросселя, катушки индуктивности своими руками, самому, са...
Расчет и изготовление катушки индуктивности, дросселя. Типовые электронные схемы...