Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Системный таймер






Все ВМ используют программируемый системный таймер (ПСТ), выполняющий три основных функции:

§ генерацию прерываний от системных часов, вызывающих инкремент счетчика системного времени в ячейке 0000: 046Ch - счетчик тиков таймера (области данных BIOS);

§ генерацию запросов на регенерацию памяти;

§ генерацию звуковых сигналов.

При инициализации BIOS устанавливает свой обработчик для прерывания таймера. Этот обработчик каждый раз увеличивает на 1 текущее значение четырехбайтовой переменной - счетчик тиков таймера. Если этот счетчик переполняется (прошло более 24 часов с момента запуска таймера), в ячейку 0000: 0470h заносится 1.

Другое действие, выполняемое стандартным обработчиком прерывания таймера - контроль за работой двигателей НГМД. Если после последнего обращения к НГМД прошло более 2 секунд, обработчик прерывания выключает двигатель. Ячейка с адресом 0000: 0440h содержит время, оставшееся до выключения двигателя. Это время постоянно уменьшается обработчиком прерывания таймера. Когда оно становится равно 0, обработчик выключает двигатель НГМД.

Последнее действие, которое выполняет обработчик прерывания таймера - вызов прерывания INT 1Ch. После инициализации системы вектор INT 1Ch указывает на команду IRET, т.е. ничего не выполняется. Программа может установить собственный обработчик этого прерывания для того чтобы выполнять какие-либо периодические действия.

В качестве ПСТ ранее применялась микросхема Intel 8254, роль которой на современных системных платах берет на себя чипсет, сохраняя полную программную совместимость. ПСТ представляет собой трехканальные программируемые счетчики-таймеры (рис. 4.3) с независимыми входами CLK – вход счетных импульсов и GATE – вход разрешения счета и выходом OUT, изменяющим состояние по окончании счета.

 

Рис. 4.3. Архитектура программируемого системного таймера Intel 8254

Каждый канал (счетчик 0, 1, 2) содержит регистры:

· состояния канала RS (8 разрядов);

· управляющего слова RSW (8 разрядов);

· буферный регистр OL (16 разрядов);

· регистр счетчика CE (16 разрядов);

· регистр констант пересчета CR (16 разрядов).

Регистр счетчика CE работает в режиме вычитания. Его содержимое уменьшается по заднему фронту сигнала CLK при условии, что на вход GATE установлен уровень логической 1. В зависимости от режима работы таймера при достижении счетчиком CE нуля тем или иным образом изменяется выходной сигнал OUT.

Буферный регистр OL предназначен для запоминания текущего содержимого регистра счетчика CE без остановки процесса счета. После запоминания буферный регистр доступен программе для чтения.

Регистр констант пересчета CR может загружаться в регистр счетчика, если это требуется в текущем режиме работы таймера.

Регистр состояния канала RS и управляющего слова RSW предназначены, соответственно, для определения текущего состояния канала и для задания режима работы таймера.

Возможны шесть режимов работы таймера. Они разделяются на три типа:

  • Режимы 0, 4 - однократное выполнение функций.
  • Режимы 1, 5 - работа с перезапуском.
  • Режимы 2, 3 - работа с автозагрузкой.

В режиме однократного выполнения функций перед началом счета содержимое регистра констант пересчета CR переписывается в регистр счетчика CE по сигналу CLK, если сигнал GATE установлен в 1. В дальнейшем содержимое регистра CE уменьшается по мере прихода импульсов CLK. Процесс счета можно приостановить, если подать на вход GATE уровень логического 0. Если затем на вход GATE подать 1, счет будет продолжен дальше. Для повторения выполнения функции необходима новая загрузка регистра CR, т.е. повторное программирование таймера.

При работе с перезапуском не требуется повторного программирования таймера для выполнения той же функции. По фронту сигнала GATE значение константы из регистра CR вновь переписывается в регистр CE, даже если текущая операция не была завершена.

В режиме автозагрузки регистр CR автоматически переписывается в регистр CE после завершения счета. Сигнал на выходе OUT появляется только при наличии на входе GATE уровня логической 1. Этот режим используется для создания программируемых импульсных генераторов и генераторов прямоугольных импульсов (меандра).

Программирование ПСТ осуществляется через порты ввода/вывода со следующими адресами:

· 40h - канал 0;

· 41h - канал 1;

· 42h - канал 2;

· 43h - управляющий регистр.

Формат управляющего регистра приведен на рис. 4.4.

Поле B определяет формат константы, использующейся для счета – (В=0) двоичный или (В=1) двоично-десятичный. В двоично-десятичном режиме константа задается в диапазоне 1-9999.

Поле M определяет режимы работы ПСТ:

  • 0 - прерывание от таймера;
  • 1 - программируемый ждущий мультивибратор;
  • 2 - программируемый генератор импульсов;
  • 3 - генератор меандра;
  • 4 - программно-запускаемый одновибратор;
  • 5 - аппаратно-запускаемый одновибратор.

Поле RW определяет способ загрузки констант через однобайтовый порт. Если в этом поле задано значение 00, это управляющее слово будет использоваться для фиксации текущего содержимого регистров счетчика CE в буферном регистре OL с целью чтения программой. Это код команды CLC - фиксация регистров. Код канала, для которого будет выполняться фиксация, должен быть указан в поле SC. Поля M и B при этом не используются.

Поле SC определяет номер канала, для которого предназначено управляющее слово. Если в этом поле задано значение 11, будет выполняться чтение состояния канала.

Как указывалось в начале раздела одна из функций выполняемых ПСТ – генерация звуковых сигналов. В компьютере большинство операций обмена данными регулируется параллельным программируемым адаптером(ППА). Этот адаптер содержит три 8-разрядных регистра; два из них используются для операций ввода данных, а один - для вывода. Выходному регистру ППА соответствует номер порта 61Н. Динамиком можно управлять в двух режимах, задаваемых значениями двух битов выходного регистра ППА. Если бит 0 равен 1, то системный таймер (ПСТ) задает частоту звучания динамика. Если бит 1 равен 1, то динамик начинает издавать звук и продолжает звучать до тех пор, пока бит 1 не станет равным 0.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.