Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2_kurs / Тищенко / СТИСЛІ ВІДПОВІДІ НА ПИТАННЯ ДЛЯ ДЕРЖАВНОЇ АТЕСТАЦІЇ.doc
Скачиваний:
34
Добавлен:
02.03.2016
Размер:
458.75 Кб
Скачать
  1. Особливості внутрішньої структури входів/виходів загального призначення управляючих мікроконтролерів.

Рассмотрим структуру порта ввода/вывода на примере микроконтроллеров фирмы SiLabs (см. рис.).

Схема разрядной ячейки порта ввода/вывода состоит из собственно выходного буфера реализованного на комплиментарной паре МОП-транзисторов, стоки которых подключены непосредственно к внешнему выводу порта, а истоки — к земле (DGND) и линии напряжении питания (VDD). Дополнительный транзистор, включенный между выводом порта и линией напряжения питания, играет роль «слабого» оттягивающего сопротивления. Сигнал подлежащий выводу, поступает на выходной буфер через логическую схему, управляемую сигналом разрешения и сигналом конфигурации PUSH-PULL (I — режим Push-Pull. О -- режим Open Drain). Для использования разряда порта в режиме ввода он должен быть сконфигурирован по схеме с открытым стоком (верхний транзистор закрыт), а разряд регистра порта нужно установить в состояние логической 1 (нижний транзистор закрыт).

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

Выходной драйвер каждого порта можно настроить либо как обычный цифровой выход, либо как выход с открытым стоком. Если бит WEAKPUD в регистре XBR1 сброшен в 0, то слаботоковая подтяжка включается у всех выводов портов, настроенных как выходы с открытым стоком. Бит WEAKPUD не влияет на выводы, настроенные как обычные цифровые выходы. Более того, с целью предотвращения нежелательного увеличения энергопотребления, слаботоковая подтяжка автоматически отключается у выхода, на который выдается лог.‘0’.

  1. Система переривань мікроконтролера та її функції.

Современный контроллер прерываний может обслужить достаточно большое количество источников прерывания, которое зависит от состава встроенной периферии семейства. Например, внутренняя периферия микроконтроллеров семейства MCS -51 производства фирмы SiLabs может генерировать до 12 прерываний. Еще до 10 внешних источников прерываний могут быть связанными с линиями портов ввода/вывода. Наличие большого количества источников прерывания позволяет повысить общую производительность системы за счет обслуживания прерываний от многочисленных аналоговых узлов и освобождения мощности процессора для основной задачи. Очевидно, что это качество очень полезно для систем управления и контроля реального времени.

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

Прерывание вызывает генерацию инструкции LCALL на предварительно определенный адрес подпрограммы обработки прерывания соответствующего источника - ISR (Interrupt Service Routine) сразу же после завершения текущей инструкции. Каждая ISR должна завершиться инструкцией RETI, которая возвращает программу на инструкцию, следующую непосредственно за инструкцией, выполняемой в момент генерации прерывания. Если прерывание для соответствующего источника запрещено, соответствующий флаг прерывания игнорируется, а выполнение программы продолжается в нормальном режиме. Все прерывания также могут быть либо разрешены, либо запрещены соответствующей установкой бита EA (IE.7).

Некоторые из флагов прерываний устанавливаются в 0 ("снимаются", "стираются") автоматически. Другие флаги необходимо снимать программно. Два внешних источника прерываний (INT0/ и INT1/) могут быть сконфигурированы на восприятие нулевого уровня (потенциала) или перепада с высокого в низкий уровень (задний фронт импульса) путем установки битов IT0 (TCON.0) и IT1 (TCON.2), при этом им соответствуют флаги IEO (TCON.l) и IE1 (TCON.3). Если эти прерывания настроены на восприятие фронта, соответствующие флаги стираются автоматически, как только ядро микроконтроллера сгенерирует переход на соответствующую ISR подпрограмму. Если же прерывания настроены на восприятие уровня, то соответствующий флаг повторяет состояние на соответствующем входе микроконтроллера. Каждый из источников прерываний может быть индивидуально запрограммирован на один из двух приоритетных уровней: низкий или высокий. Подпрограммы обработки прерываний низкого приоритета могут быть прерваны источниками прерываний с высоким приоритетом. Если ядро одновременно восприняло два прерывания с разными приоритетами, прерывание с высоким приоритетом обрабатывается первым.