Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы_ОМПТ_Тайлан.docx
Скачиваний:
9
Добавлен:
17.09.2019
Размер:
107.3 Кб
Скачать

18. Принцип действия канала выходного сравнения таймера микроконтроллера avr.

16-разрядный компаратор непрерывно сравнивает значение TCNTn со значением регистра порога сравнения (OCRnx).Если значение TCNT равно OCRnx, то компаратор формирует сигнал совпадения .Следующий за совпадением такт ЦПУ устанавливает флаг сравнения (OCFnx).Если бит OCIEnx=1, то установка флага сравнения приведет к генерации прерывания по результату сравнения. Флаг OCFnx автоматически сбрасывается после перехода на вектор обработки прерывания. Альтернативно флаг OCFnx сбрасывается программно, если записать в него лог. 1.Сигнал совпадения используется формирователем выходного сигнала, результирующая форма которого зависит от выбранного режима работы таймера и режима формирования импульсов. Сигналы Верхний и Нижний предел исп-ся формирователем импульсов для отработки особых случаев задания экстремальных значений в некоторых режимах работы. Если задан любой из 12 режимов ШИМ, то OCRnx содержит двойную буферизацию, которая синхронизирует обновление регистра порога сравнения OCRnx по достижении верхнего или нижнего предела счета. Эта синхронизация предотвращает возможность возникновения несимметричных ШИМ импульсов нечетной длины. OCRnx считывается напрямую, а не через временный регистр старшего байта. Запись регистров OCRnx происходит через временный регистр, т.к. все 16 разрядов участвуют в сравнении непрерывно. Первым необходимо записать старший байт. Если выполняется запись младшего байта то параллельно копируется содержимое временного регистра в старшие 8 разрядов буферного регистра OCRnx или регистра порога, тем самым обновляя все 16 разрядов за один такт ЦПУ.

19. Принцип действия канала входного захвата таймера микроконтроллера avr.

Основным источником, инициирующим захват состояния таймер-счетчика, является вывод захвата (ICPn). Таймер-счетчик 1 также альтернативно может использовать выход аналогового компаратора в качестве источника инициации захвата. Для этого надо установить бит разрешения захвата анал. компаратором (ACIC) в регистре состояния и управления анал. компаратора (ACSR). Изменение источника инициации захвата может привести к возникновению захвата. Поэтому, после изменения источника должен быть сброшен флаг захвата.

Таймер-счетчик содержит блок захвата, который запоминает состояние счетчика при возникновении внешнего события, тем самым определяя время его возникновения. В качестве события/событий выступает внешний сигнал, подключенный к выводу ICPn. Для таймера-счетчика 1 альтернативно может использоваться аналоговый компаратор в качестве источника внешнего события. Если на входе захвата (ICPn) или альтернативно на выходе аналогового компаратора (ACO) возникает изменение логического уровня (событие), которое соответствует установкам детектора фронта, то выполняется захват состояния таймера. При этом 16-разр. значение содержимого таймера (TCNTn) помещается в регистр захвата (ICRn). Флаг захвата (ICFn) устанавливается на том же такте ЦПУ, на котором произошло копирование значения TCNTn в ICRn. Установка бита TICIEn =1 разрешает прерывание по установке флага захвата. Флаг ICFn автоматически сбрасывается при переходе на вектор прерывания. Альтернативно флаг ICFn сбрасывается программно, если записать в него лог. 1. Считывание 16-разр. значения регистра захвата (ICRn) выполняется чтением сначала младшего байта (ICRnL), а затем старшего байта (ICRnH). При выполнении команды чтения младшего байта значение старшего байта автоматически копируется во временный регистр. Если ЦПУ выполняет команду чтения регистра ICRnH, то фактически считывается содержимое временного регистра. Запись в регистр ICRn возможна только в том случае, если битами задания режима работы таймера выбран режим, в котором значение регистра ICRn задает верхний предел счета. В этом случае необходимо выполнить соответствующую установку бит режима работы (WGMn3:0), а только затем выполнить запись значения верхнего предела в регистр ICRn. Запись 16-разр. значения в регистр ICRn выполняется путем записи сначала старшего байта в ICRnH, а только затем младшего байта в ICRnL.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]