Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
686.docx
Скачиваний:
85
Добавлен:
24.04.2019
Размер:
6.68 Mб
Скачать

1.2.4.2 Функции системы прерываний и их реализация

Функции системы прерываний:

1. Прием и хранение запросов прерываний от многих источников.

2. Выделение

наиболее

приоритетного

запроса

из

множества

поступивших.

3. Проверка возможности обработки запросов центральным процессором

(проверка

замаскированности

запросов

или

сравнение

уровня

приоритетности запросов с так называемым порогом прерываний).

4. Сохранение состояния (контекста) прерываемой программы.

5. Вызов обработчика прерываний.

6. Собственно обработка прерываний (выполнение программы обработки

прерываний).

7. Восстановление состояния (контекста) прерванной программы и

возобновление ее выполнения.

Этапы

1-5

выполняются

аппаратными

средствами

компьютера

автоматически при появлении запроса прерывания. Этап 7 также выполняется

аппаратно по команде возврата из обработчика прерывания.

25

Процедура опроса источников прерываний с целью выделения наиболее

приоритетного (полинг/polling) может быть реализована как на аппаратном, так

и на программном уровнях.

Программный полинг реализуется специальной программой, которая

последовательно опрашивает триггеры запросов, объединенных, как правило, в

единый регистр с целью поиска первого установленного бита.

Аппаратный полинг может быть реализован либо на основе многотактной

схемы, в основу которой положен двоичный счетчик, либо с помощью

однотактной схемы, которую обычно называют дейзи-цепочка.

Отношение процессора к поступившим запросам прерываний может быть

выражено с помощью одного из двух механизмов:

 механизм масок;

 порог прерываний.

1.2.5

Часы реального времени

Во многих, сравнительно мощных микроконтроллерах есть встроенный

блок часов реального времени (Real-Time Clock, RTC). Часы позволяют

автоматически отслеживать переход через границу минут, часов, суток,

отслеживают високосные года и автоматически переходят на летнее время [5].

Как правило, блок RTC создают на элементной базе, обеспечивающей

пониженное энергопотребление. Для подсчета времени в RTC используются

специальные

кварцевые

резонаторы

с

частотой

32,768

кГц.

У

микроконтроллера

обычно

существует

возможность

подключения

дополнительного

электропитания

(например,

литиевой

батарейки

или

ионистора). Пример микроконтроллера со встроенным RTC – Philips LPC 2000,

на базе ядра ARM7. На этом контроллере построен учебный стенд SDK-2.0.

Для того, чтобы часы реального времени могли выдавать точное

астрономическое время, должны быть соблюдены следующие условия:

1. У часов должно быть собственное автономное питание, чтобы

кратковременные или длительные перебои с питанием не приводили к

сбросу астрономического времени.

2. Для обеспечения точности хода, часы должны калиброваться, так как у

кварцевых резонаторов есть некоторый разброс параметров.

3. Точность хода часов зависит от параметров окружающей среды. Больше

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

температуры немного изменяется частота кварцевого резонатора. Для

обеспечения точности хода необходимо предусмотреть калибровочные

значения для различных температурных диапазонов.

Необходимо помнить, что часы реального времени не являются абсолютно

надежным устройством. Проблемы могут возникнуть как на уровне интерфейса

с часами (у большинства RTC нет контроля целостности передаваемых

26

данных), в кварцевом резонаторе или в самих часах. Если целевая функция

системы

сильно

зависит

от

астрономического

времени,

необходимо

предусмотреть несколько источников точного времени образуя мажоритар, а

при считывании данных с часов реального времени проверять границы

диапазонов считанных значений и проверять (например, с помощью таймера),

идут часы или нет. Из-за аппаратных сбоев, часы реального времени могут не

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

серьезно тактовая частота, что приведет к серьезному замедлению или

ускорению хода часов.

Необходимо заметить, что на точность хода часов реального времени

влияет топология проводников на печатной плате. Проблема возникает из-за

того, что часы реального времени делают, как правило, в виде устройства с

пониженным энергопотреблением. Пониженное энергопотребление является

следствием высокого импеданса между выводами микросхемы, а такие схемы

чувствительны к помехам. Кроме того, на точность часов оказывает влияние

паразитная ёмкость печатного монтажа. Для минимизации влияния паразитной

ёмкости необходимо специальным образом организовывать разводку печатной

платы.

Далее будет приведен конкретный пример организации и работы часов

реального времени PCF8583 [14], которые установлены в контроллере SDK-1.1

(устройство данного контроллера будет рассматриваться в следущих главах).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]