Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > AVR

реклама

 




Мероприятия:




6.7. Квадратурный декодер

В систему событий входит три квадратурных декодера (QDEC). С их помощью система событий может декодировать квадратурный вход на линиях ввода-вывода и отправлять информационные события таймеру-счетчику, который после его дешифрации выполнить соответствующее действие события: инкрементирование счетчика, декрементирование счетчика или индекс/сброс. В таблице 6.2 показано, какие информационные события квадратурного декодера доступны, как их дешифрировать и генерировать. Квадратурные декодеры и связанные с ними возможности, регистры статуса и управления доступны в каналах событий 0, 2 и 4.

Таблица 6.2. Информационные события квадратурного декодера

STROBE DATA Получатель информационного события Получатель сигнального события
0 0 Нет события Нет события
0 1 Индекс/сброс Нет события
1 0 Декрементир. счетчика Сигнальное событие
1 1 Инкрементир. счетчика Сигнальное событие

6.7.1. Работа квадратурного декодера

Квадратурные сигналы - это два сигнала со сдвинутыми по отношению друг к другу на 90° прямоугольными импульсами. Счетом фронтов любого из этих сигналов можно контролировать угловое движение, а по соотношению фаз сигналов - направление вращения.

Квадратурные сигналы углового энкодера
Рисунок 6.4. Квадратурные сигналы углового энкодера

На рисунке 6.4 показаны типичные квадратурные сигналы углового энкодера. Сигналы QDPH0 и QDPH90 - два квадратурных сигнала. Когда QDPH90 опережает QDPH0, вращение считается в прямом направлении. Если же QDPH0 опережает QDPH90, то вращение считается в обратном (реверсном) направлении. Последовательность состояний двух различающихся по фазе сигналов называется квадратурным состоянием или фазовым состоянием.

Чтобы определить абсолютную величину углового движения можно использовать третий, индексный сигнал (QDINDX), который сигнализирует о выполнении каждого оборота.

6.7.2. Настройка квадратурного декодера

Для полной настройки QDEC необходимо выполнить следующее:

  • Линии портов ввода-вывода - вход квадратурного сигнала
  • Система событий - квадратурная дешифрация
  • Таймер-счетчик - счет вперед, назад и опциональный индексный счет

Для настройки QDEC необходимо выполнить следующие процедуры:

  • Выбрать два соседних вывода порта в качестве входов QDEC.
  • Указать, что выводы QDPH0 и QDPH90 являются входами.
  • Настроить выводы QDPH0 и QDPH90 на обнаружение низкого уровня.
  • Выбрать вывод QDPH0 в качестве входа мультиплексора канала событий n.
  • Разрешить квадратурную дешифрацию и цифровую фильтрацию в канале события.
  • Опционально:
    • Настроить индексный вход QDEC (QINDX).
    • Выбрать третий, индексный, вход QINDX.
    • Указать, что QINDX является входом.
    • Настроить вывод QINDX на обнаружение обоих фронтов.
    • Выбрать QINDX в качестве входа мультиплексора канала событий n+1
    • Установить бит разрешения квадратурного индекса в канале событий n+1.
    • Выбрать режим распознавания индекса в канале событий n+1.
  • Указать, что квадратурная дешифрация является действием события для таймера-счетчика.
  • Выбрать таймер-счетчик источником событий для канала событий n.
  • Настроить регистр периода таймера-счетчика равным ('число меток' * 4 - 1), где число меток - параметр квадратурного энкодера.
  • Разрешить работу таймера-счетчика настройкой бит CLKSEL в регистре CLKSEL_DIV1.

В результате, величину углового перемещения квадратурного энкодера, генерирующего сигналы QDPH0, QDPH90 (и QINDX) можно будет считать непосредственно из счетного регистра таймера-счетчика. Если значение в счетном регистре отличается от значения BOTTOM, по которому распознается индекс, устанавливается флаг ошибки таймера-счетчика. Аналогичным образом, установка флага ошибки происходит, если счетчик положения пересекает значение BOTTOM без распознавания индекса.



<-- Предыдущая страница Оглавление Следующая страница -->





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники