Бродин В. Б., Шагурин И. И. Микроконтроллеры (1999) (1095894), страница 41
Текст из файла (страница 41)
Вызывает пре- рывание, если установлен флаг ЕСР регистра СМОР СР ССОХ.7 Бит включения таймера-счетчика РСА: СК-1 счетчик включен СК - 0 счетчик выключен СК ССОХ.6 — ССОХ.5 Зарезервирован ССР4 ССОХА Флаг прерывания модуля 4 ССРЗ ССОХ.З Флаг прерывания модуля 3 Флаг прерывания модуля 2 Флаг прерывания модуля 1 Флаг прерывания модуля 0 ССАМРх ЕСОМ САРРх САРХх МАТх ТООК РФМХ ЕССРХ Имя Номер бита бита — ССАМРх.7 ЕСОМх ССАМРх.б ЕСОМх- 1 разрешает выполнение функции сравнения САРРх ССАМРх.5 Имя Номер бита бита СПИ. СМОО.7 ССР2 ССОХ.2 ССР1 ССОХ.1 ССРО ССОХ.О МИКРОКОНТРОЛЛЕРЫ: АРХИТЕКТУРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС Функция Зарезервирован САРРх - 1 разрешает сравнение по положительному фронту 203 ГЛАЕАЕ.
МНКРОКОНТ ЛЛЕРМСЕМ ЙСТЕА МСЕ"51 151 Имя Номер Функция бита бита САРХх ССАМРхА САРХх - 1 разрешает сравнение по отрицательному фронту 'А! АТх ССАМРх.З При МАТх - 1 равенство значений таймера-счетчика и регистра модуля устанавливает соответствующий флаг ССРх ТООК ССАМРх.2 При ТОСх - 1 равенство значений таймера-счетчика и регистра модуля переключает уровень сигнала на соответствующем выходе СЕХх Р'тт'Мх ССАМРх.1 Бит вклточения режима широтно-импульсной модуляции.
При Ртт'Мх - 1 модуль работает в режиме Ш ИМ, модулированный сигнал выдается на выход СЕХх ЕССРх ССАМРх.О Бит разрешения прерываний по флагу ССРх регистра ССОХ. При ЕССГх = 1 прерывания разрешены Линии Порта 1 обеспечивают ввод-вывод для блока РСА в качестве альтер- нативных функций: Имя Номер Функция бита бита СЕХ4 Р1.7 Модуль 4. Вход при фиксации, выход при сравнении и ШИМ СЕХЗ Р1.6 Модуль 3. Вход при фиксации, выход при сравнении и ШИМ СЕХ2 Р1.5 Модуль 2. Вход при фиксации, выход при сравнении и ШИМ СЕХ1 Р1А Модуль 1.
Вход при фиксации, выход при сравнении и ШИМ СЕХО Р1.3 Модуль О. Вход при фиксации, выход при сравнении и ШИМ ЕС1 Р1.2 Вход таймера-счетчика Таймер-счетчик РСА и пять модулей сравнения имеют единственный вектор прерывания. Если бит ЕСР разрешения прерывания от РСА установлен, то установка флага СР приводит к генерации запроса прерывания от блока РСА. 2.12.2. Таймер-счетчик Пара регистров СН-С1 работает как 16-разрядный таймер-счетчик. Выбранный вход наращивает регистр младшего байта С1.. Через два периода синхросигнала после переполнения С1.
наращивается регистр СН старшего байта. При переполнении СН устанавливается флаг СГ регистра ССОХ и, если установлен бит ЕСГ регистра СМОП, формируется запрос прерывания. МИКРОКОНТРОЛЛЕРЫ: АРХИТЕКТУРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС 204 СРЗ! СРЗО Рок Роч ННЛ сю МН РЕМГ Рнс. 2.19. Таймер-счетчик блока РСА Биты СРЯ1 и СРЯО регистра СМОО выбирают один из следующих четырех сигналов в качестве входного для таймера-счетчика: Е Ровс/12. Сигнал активен в такте 35Р2 каждого цикла. При Гозс - 16 Мрц таймер-счетчик наращивается каждые 750 ис; е Ровс/4.
Сигнал активен в тактах 81Р2, ВЗР2 и 85Р2 каждого цикла; е Переполиеиие Таймера О. Регистр С(. варащивается в такте 85Р2 каждого цикла, если Таймер 0 переполнен. Это режим работы РСА с программируемой частотой иа входе; + Внешний сигнал иа линии Р1.2/ЕС1. Центральный процессор проверяет вход ЕС1 в тактах 31Р2, ЯЗР2 и 55Р2 каждого цикла обмена. Если иа линии ЕС1 имел место переход «1»-«0», регистр С1. наращивается. Максимальная частота переключений иа входы ЕС1. может быть Ровс/8. Установка бита управления работой (СК в регистре ССО)к() включает таймер-счетчик РСА. Таймер-счетчик РСА продолжает работать в пассивном режиме, если ие установлен бит СПХ1 регистра СМОР.
Центральный процессор всегда может прочесть содержимое регистров СН и С1.. Запись в эти регистры во время счета (когда установлен бит СК) запрещена. 2.12.3. Модули фиксации-сравнении Каждый модуль включает пару регистров ССАРхН/ССАРх1., 16-разрядиый компаратор, логические вентили и селекторы сигналов. В регистрах запомииается время или значение счетчика, при котором внешнее событие произошло (саргпге) или должно произойти действие (соГпраПзоп). В режиме ШИМ регистр младшего байта управляет шириной выходного сигнала. Конфигурация каждого модуля зависит от режима его работы. Каждый модуль может быть независимо запрограммирован иа работу в одном из следующих режимов: 205 ГЛАВА 2 МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА М 5-5! \5! + фиксация 16-разрядного значения по положительному фронту, отрицательному фронту или по обоим фронтам сигнала на входе СЕХх; + режимы сравнения: 16-разрядный программируемый таймер, 16-разрядный скоростной вывод, сторожевой таймер (только модуль ч), 6-разрядный 1ЦИМ регулятор; + нет операции.
Режим работы каждого модуля определяется комбинацией битов в регист- ре режима ССАРМх. Возможные следующие комбинации: Функция модуля ЕСОМх САРРх МАТ СА1'Хх ЕССРх ТОС РЪУМх Фиксация значения и положительному х ! юнтуианходеСЕХх Фиксация значения л отрицательному х Тт н навходсСЕХх Фиксация значения и изменению значения па входе СЕХ х 16- ьчз лдный тайме х Ско юстной вывод Широтнопмпулъспый мо улято! Сто женой тайме т О О Нет опе ха!ив Другие комбинации запрещены. Для работы модулей сравнения-захвата необходима работа таймера-счетчика РСА.
Он включается-выключается в соответствии со значением бита СК регистра ССОХ. Для запрешения работы любого модуля его следует перевести в режим «т!ет операции». При наличии события (фиксация, срабатывание таймера, скоростной вывод) устанавливается флаг ССЕх регистра ССОХ и формируется запрос прерывания от РСА (если в регистре ССАРМх установлен бпт разрешения).
Центральный процессор всегда может прочитать пли записать информацию в регистры ССАРхН и ССАРх1.. 2.12.4. Режим фиксации Этот рсжим дает возможность измерять длительность импульсов, циклов, разность фаз по каждому из пяти входов. Входы СЕХО-СЕХЛ проверя!отея на положительный или отрицательный перепад сигнала. Когда модуль фиксирует его наличие, оц запоминает значение таймера-счетчика на зтот МИКРОКОНТРОЛЛЕРЫ АРХИТВТГТРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС 206 момент в регистрах ССАРхН/ССАРхЕ и устанавливает флаг ССРЕ регистра ССОР. Разрешение составляет один период синхронизации таймера-счетчика. Рис. 2.20.
Блок РСА в режиме фиксации Если соответствутощий бит разрешения ЕССРх регистра ССАРМх установлен, блок РСА посылает соответствующий запрос прерывания. Поскольку аппаратно при прерывании флаг события не очищается, пользователь должен это сделать программно. При следующем событии на этом же модуле значение таймера-счетчика в регистрах перезаписывается. Для сохранения зафиксированного значения его следует сохранить в ОЗУ в процессе обработки прерывания, пока не произошло следующее событие. 2.12.5. Режимы сравнении Функция сравнения обеспечивает четыре режима: режим 16-разрядного таймера, режим скоростного вывода, режим сторожевого таймера, режим ШИМ. В первых трех режимах модуль постоянно сравнивает содержимое таймера-счетчика со значением, загруженным предварительно в пару его регистров ССАРхН/ССАРх1..
В режиме ШИМ модуль постоянно сравнивает содержимое младшего регистра таймера-счетчика СЕ со значением в его регистре ССАРхЕ. Сравнение производится три раза за цикл обмена, т.е. с наибольшей возможной частотой (Ровс/4). Функция сравнения для конкретного модуля выбирается установкой бита ЕС ОМх в регистре ССАРМх. Для использования модулей в режимах сравнения следует выполнить следующие шаги: е выбрать режим работы модуля; е выбрать входной сигнал для таймера-счетчика; Г Е МИК КОНТ ЛЕРЫ ЕМЕЙСТЕА МОЕ-Е! !6! 2О7 е загрузить значение эталоиа в пару регистров модуля; е установить бит управления запуском таймера-счетчика; е после прерывания очистить флаг события.
Режим программируемого 1б-разряднсгс таймера. В этом режиме сравнивается текущее значение таймера-счетчика и предварительно загружеииая в пару регистров ССАРхН/ССАРхЕ величина. При совпадении устаиавливается флаг события ССРх регистра ССОР. Пользователь должен программно сбросить этот флаг при обработке прерывания. При обслуживаиии прерывания можно загрузить в регистры ССАРхН/ССАРхЕ новое зиачепие.
Рис. 2.21. Блок РСА а режиме 16-разрядного таймера и скоростного вывода В процессе загрузки регистров рекомендуется вначале записывать данные в ССАРх1, а затем в ССАРхН. При записи в регистр младшего байта очищается бит ЕСОМх, что запрещает выполнять сравнение. При записи в регистр старшего байта этот бит устанавливается, вновь разрешая сравнения.
Эта последовательность защищает от ложных срабатываний. Режим скоростного вывода (НОО). В этом режиме совпадение значений таймера-счетчика и величины, загруженной в регистры ССАРхН/ССАРхЕ вызывает смену сигнала па выходе СЕХх и установку флага ССРх. Это обеспечивает более высокуТО точность, чем при программном переключении сигнала, т.к.