Кнопки и датчики

Генератор и схема начального сброса

Периферийные устройства

Принцип действия сторожевого таймера

Кроме того, некоторые МК генерируют сигнал сброса при обращении к несуществующей ячейке памяти или если из памяти считан код несуществующей операции.

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


Микроконтроллер содержит большое число функционально разнообразных узлов, но построение микропроцессорной системы управления невозможно без применения периферийных узлов: клавиатуры, кнопок, датчиков, индикаторов, исполнительных устройств.

Особенности подключения периферийных узлов связаны со свойствами выводов портов ввода/вывода общего и специального назначения:

- возможность программирования одного и того же вывода порта в качестве как входного, так и выходного контакта,

- высокое входное сопротивление входов микроконтроллера (обусловлено применением КМОП технологии),

- высокая допустимая токовая нагрузка порта в режиме выхода (20…25 мА),

- возможность программного подключения к выводу порта внутреннего "подтягивающего" резистора,

- недопустимость выхода диапазона изменения входных и выходных сигналов за пределы 0…+Vdd,

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

На схемах как правило не приводят цепей питания. Однако необходимо помнить о необходимости подключения между линиями питания Vdd (Vad) и "землей" (цифровой и аналоговой, соответственно) безиндуктивного конденсатора (емкостью десятки нанофарад) как можно ближе к выводам МК.

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

Внутренний сброс генерируется также при переполнении сторожевого таймера, схемой мониторинга напряжения питания ит.д.

Схема запуска при низком активном уровне сброса Схема запуска при высоком активном уровне сброса

Современные микроконтроллеры содержат внутренний тактовый генератор и допускают применение в качестве времязадающей цепи различных элементов. В режиме отладки допускается пошаговое выполнение программы; частота тактового генератора fBUS = 0 (режим dc). Возможно следующие схемы построения генератора:

внутренний кольцевой генератор, построенный на нечетном числе инверторов без дополнительных элементов RC (обеспечивает тактовую частоту близкую к максимальной для данного типа контроллера),

внутренний релаксационный RC генератор (не требует внешних элементов, но характеризуется низкой стабильностью частоты – хуже 10%[5]),

внутренний кварцевый генератор (допускается также использование пьезокерамических резонаторов и резонансных LC- контуров),

внешний генератор.

Тактирование с использованием RC- цепи Тактирование с использованием пьезокерамического резонатора Тактирование с использованием кварцевого резонатора Тактирование от внешнего генератора (вывод XL2 можно использовать как буферированный источник сигналов тактирования)

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

Электромеханический контакт – кнопка, геркон, клавиатура – один из наиболее простых и распространенных устройств ввода информации в МП- систему. Особенность всех электромеханических контактов – генерация импульсных помех при переключении, вызванная дребезгом контактов ("звон").

"Дребезг" – многократное неконтролируемое замыкание и размыкание контактов в момент их переключения происходит из-за механического резонанса в течение времени до 100 мс. Подача сигналов управления на входы большинства цифровых устройств требует специальных мер по подавлению дребезга, без них возможно многократное срабатывание триггеров и счетчиков.

 
 

Рис. Импульсы с дребезгом на контактах

Схемотехнические способы борьбы с дребезгом контактов заключаются в использовании RC- цепей, одновибраторов, триггеров. Цепь на схеме формирует короткий импульс отрицательной полярности (порядка 0,7 мкс на уровне 0,5) в момент первого касания контактов кнопки, в результате чего конденсатор С1 быстро заряжается через резистор R2. Дальнейший дребезг контактов кнопки не влияет на выходное напряжение, так как разряд конденсатора С1 происходит через резистор R1 значительно большей величины.

Недостатки схемотехнических методов – дополнительные затраты на компоненты и дополнительное время требуемое на перезарядку RC- цепей.

В МП- системах основной метод избавления от "звона" контактов – программный. При этом опрашивается состояние вывода порта и если после первого импульса состояние ключа не изменилось в течение 20 мс, можно считать, что звон закончился. Ключ подключается непосредственно ко входу порта.

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

При большом числе кнопок становится недостаточным число линий ввода/вывода МК и используется матричное включение клавиш.

Контроллер периодически устанавливает на одной из линий столбцов "0" и опрашивает линии строк матрицы. При использовании n - выводов порта можно организовать ввод с клавиатуры размерностью до k × m, где k+m £ n. При ограниченном числе линий порта ввода/вывода и при этом способе может оказаться недостаточным число линий ввода. В этом случае можно подключить линии строк и/или столбцов матрицы клавиатуры через дешифраторы/мультиплексоры. Теперь размерность матрицы k × m должна удовлетворять условию k×m £ 2n.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: