Вход/Регистрация
Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
вернуться

Пак Дэниэл Дж.

Шрифт:

4.14.5. Счетчик событий

Счетчик событий или аккумулятор импульсов (Pulse Accumulator) — это подсистема модуля таймера, которая разработана специально для подсчета импульсов. Основной элемент счетчика событий — 16 разрядный счетчик, который может работать в двух режимах:

• Счетчик внешних событий. В этом режиме счетчик PACNT подсчитывает число событий, которое детектируется его аппаратными средствам на входе PAI. Тип события (только нарастающий или только спадающий фронт сигнала) определяется посредством программных установок.

• Стробируемый таймер. В этом режиме счетчик PACNT тактируется внутренними импульсами с частотой fBUS/64, а сигналы на входе PAI разрешают или запрещают счет.

Режимы работы счетчика

Структурная схема подсистемы счетчика событий представлена на рис. 4.45. Изучив ее, вы увидите, что счетчик событий в качестве входа PAI, на который должны поступать внешние импульсы, использует линию PT7 порта PORT T. Таким образом, обслуживание подсистемы счетчика событий альтернативная функция линии 7 порта PORT T. Однако линия PT7 обладает еще одной альтернативной функцией. Она используется как вход или как выход канала 7 подсистемы захвата/сравнения модуля таймера. Какие программные установки в регистрах управления таймера необходимо выполнить, чтобы конфигурировать линию PT7 как вход PAI счетчика событий?

• Сбросить бит IOS7 в регистре TIOS ($0080), тогда в канале 7 будет запрещен режим выходного сравнения;

• Сбросить биты OM7:OL7 регистра TCNTL1($0088),тогда линия PT7 окажется отсоединенной от аппаратных средств канала 7;

• Сбросить бит OC7M7 в регистре OC7M ($0082).

Рис. 4.45. Структура и регистры управления счетчика вешних событий

Если все эти установки выполнены, то сигнал с лиги PT7 будет поступать на вход детектора событий подсистемы счетчика событий. В каждом из режимов работы счетчика детектор выполняет разные функции, однако в обоих режимах работы детектор становится активным при установке бита PAEN регистра управления счетчиком PACTL (рис. 4.45) в 1.

Если подсистема находится в режиме счетчика внешних событий, бит PEDGE определяет: по какому фронту сигнала, нарастающему (при PEDGE = 1) или спадающему (при PEDGE = 0) будет переключаться счетчик. Если детектор фиксирует на входе PAI заданное битом PEDGE изменение входного сигнала, то устанавливается флаг события PAIF.

Если подсистема работает в режиме стробируемого таймера, то бит PEDGE определяет уровень сигнала на входе PAI, при котором будет разрешен счет для внутреннего счетчика PACNT. Если бит PEDGE = 1, то счет разрешен при низком логическом уровне на входе PAI. При этом по нарастающему фронту сигнала на входе PAI будет устанавливаться флаг событий PAIF. Если же бит PEDGE = 0, счет разрешается при высоком уровне PAI, флаг PAIF устанавливается по спадающему фронту PAI.

Если работы подсистемы счетчика событий разрешена, то 16 разрядный счетчик начинает считать с нулевого значения. Текущий код счетчика может быть считан из 16-разрядного регистра текущего состояния счетчика PACNT, который в памяти размещается в двух ячейках памяти: PACNTH — старший байт счетчика событий, PACNTL — младший байт счетчика событий (рис. 4.45). Каждое переполнение 16-разрядного счетчика событий фиксируется установкой триггера переполнения PAOVF. Этот триггер сбрасывается посредством записи в установленный разряд PAOVF единичного значения.

Оба рассмотренных флага: флаг переполнения счетчика PAOVF и флаг события на входе счетчика PAIF, — способны генерировать запросы прерывания. Прерывания от указанных флагов разрешаются битами PAOVI и PAI соответственно. Биты PAOVI и PAI располагаются в регистре флагов счетчика событий PAFLG (рис. 4.45).

Регистры управления счетчиком событий

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

Регистр управления счетчиком событий

Регистр управления счетчиком событий PACTL (Pulse Accumulator Control Register) располагается в памяти МК по адресу $00A0. Формат регистра представлен на рис. 4.45. Регистр PACTL используется для задания режима работы счетчика событий, для назначения режима работы его детектора событий, для разрешения прерываний от подсистемы счетчика событий, а также для выбора источника тактирования счетчика временной базы модуля таймера.

Бит PTAE разрешает работу подсистемы счетчика событий. При PTAE = 1 работа подсистемы разрешена, при PTAE = 0 подсистема счетчика находится в неактивном состоянии. Бит PAMOD служит для выбора режима работы. При PAMOD = 0 подсистема работает в режиме счетчика внешних событий, при PAMOD = 1 для подсистемы назначается режим стробируемого таймера.

Бит PEDGE управляет режимом работы детектора событий подсистемы счетчика. Если счетчик работает в режиме счетчика внешних событий (PAMOD = 0), то при PEDGE = 1 детектор события настраивается на распознавание положительного фронта сигнала, при PEDGE = 0 — отрицательного фронта. При работе в режиме стробируемого таймера (PAMOD = 1) бит PEDGE определяет вид сигнала, разрешающего переключение счетчика таймера. Если PEDGE = 1, то счет разрешается при подаче 1 на вход PAI, при этом флаг PAI устанавливается по отрицательному фронту входного сигнала. Если же PEDGE = 0, то счет разрешается при подаче 0 на вход PAI, при этом флаг PAI устанавливается по положительному фронту входного сигнала.

  • Читать дальше
  • 1
  • ...
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: