Функции системы прерываний и их реализация
Функции системы прерываний:
1. Прием и хранение запросов прерываний от многих источников.
2. Выделение наиболее приоритетного запроса из множества поступив-
ших.
3. Проверка возможности обработки запросов центральным процессором
(проверка замаскированности запросов или сравнение уровня приоритет-
ности запросов с так называемым порогом прерываний).
4. Сохранение состояния (контекста) прерываемой программы.
5. Вызов обработчика прерываний.
6. Собственно обработка прерываний (выполнение программы обработки
прерываний).
7. Восстановление состояния (контекста) прерванной программы и
возобновление ее выполнения.
Этапы 1-5 выполняются аппаратными средствами компьютера автомати-
чески при появлении запроса прерывания. Этап 7 также выполняется аппа-
ратно по команде возврата из обработчика прерывания.
Процедура опроса источников прерываний с целью выделения наиболее
приоритетного (полинг/polling) может быть реализована как на аппаратном,
так и на программном уровнях.
Программный полинг реализуется специальной программой, которая
последовательно опрашивает триггеры запросов, объединенных, как правило,
в единый регистр с целью поиска первого установленного бита.
Аппаратный полинг может быть реализован либо на основе многотакт-
ной схемы, в основу которой положен двоичный счетчик, либо с помо-
щью однотактной схемы.
Отношение процессора к поступившим запросам прерываний может быть
выражено с помощью одного из двух механизмов:
• механизм масок;
• порог прерываний.
4.5 Часы реального времени
Во многих, сравнительно мощных микроконтроллерах есть встроенный
блок часов реального времени (Real-Time Clock, RTC). Часы позволяют
автоматически отслеживать переход через границу минут, часов, суток,
отслеживают високосные года и автоматически переходят на летнее время.
Как правило, блок RTC создают на элементной базе, обеспечивающей
пониженное энергопотребление. Для подсчета времени в RTC использу-
ются специальные кварцевые резонаторы с частотой 32,768 кГц. У микро-
контроллера обычно существует возможность подключения дополнитель-
ного электропитания (например, литиевой батарейки или ионистора).
Пример микроконтроллера со встроенным RTC – Philips LPC 2000, на базе
ядра ARM7.
Для того, чтобы часы реального времени могли выдавать точное
астрономическое время, должны быть соблюдены следующие условия:
1. У часов должно быть собственное автономное питание, чтобы
кратковременные или длительные перебои с питанием не приводили к
сбросу астрономического времени.
2. Для обеспечения точности хода, часы должны калиброваться, так как у
кварцевых резонаторов есть некоторый разброс параметров.
3. Точность хода часов зависит от параметров окружающей среды. Больше
всего на точность хода влияет температура, так как при изменении
температуры немного изменяется частота кварцевого резонатора. Для
обеспечения точности хода необходимо предусмотреть калибровочные
значения для различных температурных диапазонов.
Необходимо помнить, что часы реального времени не являются абсо-
лютно надежным устройством. Проблемы могут возникнуть как на уровне
интерфейса с часами (у большинства RTC нет контроля целостности пере-
даваемых данных), в кварцевом резонаторе или в самих часах. Если це-
левая функция системы сильно зависит от астрономического времени,
необходимо предусмотреть несколько источников точного времени обра-
зуя мажоритар, а при считывании данных с часов реального времени
проверять границы диапазонов считанных значений и проверять (например,
с помощью таймера), идут часы или нет. Из-за аппаратных сбоев, часы ре-
ального времени могут не просто остановиться, но также из-за разного рода
проблем может измениться серьезно тактовая частота, что приведет к
серьезному замедлению или ускорению хода часов.
Необходимо заметить, что на точность хода часов реального времени
влияет топология проводников на печатной плате. Проблема возникает
из-за того, что часы реального времени делают, как правило, в виде
устройства с пониженным энергопотреблением. Пониженное энергопо-
требление является следствием высокого импеданса между выводами мик-
росхемы, а такие схемы чувствительны к помехам. Кроме того, на точ-
ность часов оказывает влияние паразитная ёмкость печатного монтажа. Для
минимизации влияния паразитной ёмкости необходимо специальным обра-
зом организовывать разводку печатной платы.
Приведем конкретный пример организации и работы часов реального
времени на базе микросхемы PCF8583.
Достарыңызбен бөлісу: |