![]() |
|
КРАТКАЯ ХАРАКТЕРИСТИКА МОДУЛЯ БЫСТРОГО ВВОДАМодуль быстрого ввода (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
Выявление событий в детекторе событий производится на интервале 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 может генерировать прерывание, когда происходит одно из следующих событий:
Регистры INT_MASK и INT_MASK1 содержат биты, которые разрешают и запрещают каждое прерывание (см. Приложение). Разрешение и запрещение функций выводовВы можете индивидуально разрешить или запретить функции HSI для каждого вывода путем установки или очистки соответствующего бита в регистре IOC0 (см. Приложение). Вы можете запрограммировать выводы HSI для обеспечения альтернативных функций. Таблица 6.5 показывает дополнительные функции для каждого вывода HSI. Столбец 3 описывает, как выбрать дополнительную функцию. Таблица 6.5
|