КРАТКАЯ ХАРАКТЕРИСТИКА МОДУЛЯ БЫСТРОГО ВВОДА

Модуль быстрого ввода (HSI) принимает и регистрирует входные события. Структурная схема модуля изображена на рис. 6.2.

Рис. 6.2. Структурная схема модуля HSI

В состав модуля быстрого ввода входят регистры специальных функций HSI_MODE, HSI_STATUS, HSI_TIME, разряды 0, 2, 4, 6 регистра IOCO, разряд 7 регистра IOC1 и разряды 6 и 7 регистра IOS1, а также коммутатор (K), детектор событий (ED), схема управления (СС) и стек типа FIFO, содержащий 7 двадцатиразрядных ячеек и выходной регистр (Hold. Reg.).

Входное событие, поступившее на вход HSIX (X=0, 1, 2, 3), проходит через коммутатор при единичном значении бита IOCO.Y, где Y=0, 2, 4, 6, соответственно, и поступает в детектор событий.

Детектор событий для каждого входа выявляет поступление события заданного типа. Тип события для заданного входа задается с помощью двухразрядного двоичного кода, записанного в пару разрядов HSI_MODE.Z+1,Z (Z=0, 2, 4, 6) для входов HSI 0, 1, 2, 3, соответственно.

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

Аббревиатура - HSI_MODE

Размер - 1 байт

Находится по адресу 03H

Использовать для записи в окне HWindow 0

Использовать для чтения в окне HWindow15

Таблица 6.3

HSI_MODE.Z+1,ZТип входного события
01Единичное событие
10Нулевое событие
11Любое событие
00Каждое восьмое единичное событие

Выявление событий в детекторе событий производится на интервале 16Tcr, в течение которого код в счетчике 1 сохраняется неизменным. Если на указанном интервале на входе появятся два события заданного типа, то эти события будут зарегистрированы как одно событие.

Когда предопределенные события осуществляются на одном или более выводах, HSI модуль записывает текущее значение счетчика 1 вместе с битом состояния для каждого входа. HSI модуль сохраняет данные максимум для семи событий в FIFO очереди размером 7х20 битов и для одного события в выходном регистре. Дополнительные события не записываются, если и FIFO, и выходной регистр заполнены. Данные переносятся из FIFO в выходной регистр и могут быть считаны только после загрузки их в этот регистр.

Чтение информации о событии

Информация о событии может быть считана только после ее загрузки в выходной регистр. Необходимо 8 тактов для перемещения данных через FIFO в выходной регистр, при этом устанавливается бит HSI_RDY в регистре IOS1 (IOS1.7). Если прерывание разрешено и событие выбрано в качестве источника прерывания, генерируется прерывание HSI Data Available (INT02).

Для чтения выходного регистра первым необходимо считать регистр HSI_STATUS. Это заставляет выходной регистр загрузить биты состояния события для HSI.0-HSI.3 в четные разряды регистра HSI_STATUS. Установленные биты состояния показывают, что событие произошло на соответствующем HSI выводе. Нечетные биты всегда содержат текущее состояние выводов HSI.0-HSI.3.

Аббревиатура - HSI_STATUS

Размер - 1 байт

Находится по адресу 06H

Использовать для записи в окне HWindow 15 (записываются биты 0, 2, 4, 6)

Использовать для чтения в окне HWindow 0

Следующим читается регистр HSI_TIME. Выходной регистр загружает значение счетчика 1 в регистр HSI_TIME. Чтение регистра HSI_TIME заставляет FIFO загрузить следующее событие в выходной регистр. Если вы читаете регистр HSI_TIME до первого чтения регистра HSI_STATUS, то биты состояния события будут перезаписаны.

Аббревиатура - HSI_TIME

Размер - 2 байта

Находится по адресу 04/05H

Использовать для записи в окне HWindow 15

Использовать для чтения в окне HWindow 0

Программирование модуля

Таблица 6.4 показывает регистры, которые влияют на работу и функции модуля HSI.

Таблица 6.4

Мнемоника регистраИмя регистраОписание
HSI_MODEHSI ModeОписывает тип события, которое произошло на каждом HSI выводе.
HSI_STATUSHSI StatusСодержит биты обнаружения события и входные текущие уровни сигнала на каждом HSI выводе.
HSI_TIMEHSI TimeСодержит 16-битовое значение счетчика 1 после того, как событие произошло.
INT_MASK
INT_MASK1
Interrupt Mask
Interrupt Mask1
Разрешает и запрещает прерывания от модуля HSI.
IOC0IOC0 Input/Output
Control Resister 0
Разрешает и запрещает функции каждого из выводов HSI. Управляет альтернативными функциями для HSI.0 и HSI.1.
IOC1IOC0 Input/Output
Control Resister 1
Выбирает источник HSI Data Available (INT02) прерывания
IOS1IOS1
Input/Output Status
Register 1
Показывает состояние HSI FIFO

Разрешение прерываний

Модуль HSI может генерировать прерывание, когда происходит одно из следующих событий:
- четвертое значение загружается в FIFO;
- шестое значение загружается в FIFO;
- значение из FIFO перемещается в выходной регистр.

Регистры INT_MASK и INT_MASK1 содержат биты, которые разрешают и запрещают каждое прерывание (см. Приложение).

Разрешение и запрещение функций выводов

Вы можете индивидуально разрешить или запретить функции HSI для каждого вывода путем установки или очистки соответствующего бита в регистре IOC0 (см. Приложение).

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

Таблица 6.5

Функциональное имя HSIДополнительные функцииВыбирается
HSI.0Используется для:
1) генерирования прерывания(INT04);
2) генерирования сигнала сброса счетчика 2.
1)Установка INT_MASK1.4 разрешает генерирование прерывания на выводе HSI.0 (INT04). Уровень сигнала на выводе HSI.0 удерживается более 2 временных состояний, чтобы гарантировать фиксацию сигнала.
2) Установка IOC0.5 выбирает вывод HSI.0 для генерирования сигнала сброса счетчика 2. Когда IOC0.5 =1, нарастающий фронт на HSI.0 сбрасывает счетчик 2.
HSI.1Используется для генерирования тактовых сигналов счетчика 2.Установка IOC0.7 и очистка IOC3.0 выбирают вывод HSI.1 для генерирования тактовых сигналов счетчика 2.
HSI.2HSO.4Установка IOC1.4 разрешает функционирование вывода HSO.4. Примечательно то, что функции модулей HSI и HSO могут быть активны в одно и то же время.
HSI.3HSO.5Установка IOC1.6 разрешает функционирование вывода HSO.5. Примечательно то, что функции модулей HSI и HSO могут быть активны в одно и то же время.

<<< Содержание >>>