Скачиваний:
26
Добавлен:
01.05.2014
Размер:
5.42 Mб
Скачать

Input capture

Ввод

Input capture is always enabled. Each time a capture event occurs on one of the two input capture pins, the contents of the timer is transferred to the corresponding 16-bit input capture register ICRAH:ICRAL or ICRBH:ICRBL. The capture event is defined by the Input Capture Edge Select – ICESx bit (x being A or B) in the CCCRx register. The user will have to configure the associated I/O pin as an input in order for an external event to trigger a capture.

Ввод всегда разрешен. Каждый раз, когда происходит ввод на одном из двух входных каналов, содержимое таймера пересылается в соответствующий 16-разрядный входной регистр ввода ICRAH:ICRAL или ICRBH:ICRBL. Событие ввода определяется битом ICESx (где х может быть А или В) в регистре CCCRx. Пользователь должен будет сконфигурировать соответственный контакт ввода/вывода как вход для того, чтобы внешнее событие синициировало запись.

A simple noise filter can be enabled on the input capture input. When the Input Capture Noise Filter ICNFx bit is set, the capture logic needs to see four consecutive samples of the same value in order to recognize an edge as a capture event. The inputs are sampled every two CCLK periods regardless of the speed of the timer.

Простой шумовой фильтр может быть активен при вводе. Когда бит ICNFx установлен, логика ввода должна просмотреть четыре последовательных образца одного и того же значения для того, чтобы распознать фронт как событие ввода. На входы приходят образцы каждые два периода CCLK, не взирая на скорость таймера.

An event counter can be set to delay a capture by a number of capture events. The three bits ICECx2, ICECx1 and ICECx0 in the CCCRx register determine the number of edges the capture logic has to see before an input capture occurs.

Счетчик событий может быть установлен так, чтобы задерживать ввод на какое-то количество событий по вводу. Три бита ICEx2, ICECx1 и ICECx0 регистра CCCRx определяют количество фронтов, которые должна пропустить логика ввода прежде, чем произойдет ввод.

When a capture event is detected, the Timer Input Capture x (x is A or B) Interrupt Flag – TICF2x (TIFR2.1 or TIFR2.0) is set. If EA and the Timer Input Capture x Enable bit – TICIE2x (TICR2.1 or TICR2.0) is set as well as the ECCU (IEN1.4) bit is set, the program counter will be vectored to the corresponding interrupt. The interrupt flag must be cleared manually by writing a ‘0’ to it.

Когда событие по вводу определено, устанавливается флаг прерывания TICF2x (TIFR2.1 или TIFR2.0). Если EA и бит TICIE2x (TICR2.1 или TICR2.0) установлен, как и бит ECCU (IEN1.4), программный счетчик будет направлен на соответствующее прерывание. Флаг прерывания должен быть снят вручную записью ‘0’ в него.

When reading the input capture register, ICRxL must be read first. When ICRxL is read, the contents of the capture register high byte are transferred to a shadow register. When ICRxH is read, the contents of the shadow register are read instead. (If a read from ICRxL is followed by another read from ICRxL without ICRxH being read in between, the new value of the capture register high byte (from the last ICRxL read) will be in the shadow register.)

Когда происходит чтение, регистр ICRxL должен быть прочитан первым. Когда прочитан регистр ICRxL, содержимое старшего байта этого регистра переносится в теневую регистровую память. При чтении регистра ICRxH вместо него читается содержимое теневой памяти. (Если за процессом чтения из ICRxL следует другой процесс чтения из ICRxL без чтения ICRxH между ними, новое значение старшего байта регистра ввода (с момента последнего чтения ICRxL) будет в теневой регистровой памяти)

Таблица 11: Счетчик задержек события для ввода

*Delay (numbers of edges) – задержка (количество фронтов)

PWM operation

Широтно-импульсная модуляция

PWM Operation has two main modes, asymmetrical and symmetrical. These modes of timer operation are selected by writing 10H or 11H to TMOD21:TMOD20 as shown in section "Basic timer operation".

Операция PWM имеет два главных режима – асимметричный и симметричный. Эти режимы работы таймера выбираются записью 10Н или 11Н в TMOD21;TMOD20, как показано в разделе «Базовый режим работы таймера».

In asymmetrical PWM operation, the CCU Timer operates in downcounting mode regardless of the setting of TDIR2. In this case, TDIR2 will always read 1.

В асимметричном режиме PWM таймер CCU работает в режиме обратного счета независимо оттого, что записано в TDIR2. В этом случае TDIR2 всегда будет читаться, как 1.

In symmetrical mode, the timer counts up/down alternately and the value of TDIR2 has no effect. The main difference from basic timer operation is the operation of the compare module, which in PWM mode is used for PWM waveform generation. Table 12 shows the behavior of the compare pins in PWM mode.

В симметричном режиме таймер считает, увеличиваясь/уменьшаясь поочередно, и значение TDIR2 не имеет значения. Главное отличие от базового режима работы таймера заключается в работе модуля сравнения, который в режиме PWM используется для генерации временной диаграммы PWM. Таблица 12 показывает поведение контактов сравнения в режиме PWM.

The user will have to configure the output compare pins as outputs in order to enable the PWM output. As with basic timer operation, when the PWM (compare) pins are connected to the compare logic, their logic state remains unchanged. However, since the bit FCO is used to hold the halt value, only a compare event can change the state of the pin.

Пользователь будет должен настроить контакты сравнения как выходы для того, чтобы активизировать выход PWM. Как и в базовом режиме работы таймера, когда контакты PWM (сравнения) подключены к логике сравнения, их логические состояния не изменяются. Однако, так как бит FCO содержит значение остановки, только событие сравнения может изменить состояние этого контакта.

Figure 32: Asymmetrical PWM, downcounting

Рис. 32: Асимметричный режим PWM, обратный счет

Figure 33: Symmetrical PWM

Рис.22: Симметричный режим PWM

* Compare Value – величина сравнения

Timer Value – значение таймера

Non-inverted – не инвертированный

Соседние файлы в папке Материалы по микропроцессорам