December 17 2017 15:51:09
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
работа в режиме выходного сравнения
МОДУЛЬ ВНЕШНЕЙ МАГИСТРАЛИ

При работе в режиме выходного сравнения могут возникать нарушения алгоритма работы канала захвата/сравнения, приводящие к неправильному формированию сигнала на выходе TxCHi модуля. Причиной таких сбоев является изменение величины кода сравнения в процессе работы канала, а также конечное время выполнения программы перезагрузки кода сравнения в регистр данных канала TxCHi.

Пример 1. Событие выходного сравнения еще не произошло, когда код в регистре данных TxCHi был изменен на меньшее значение (Рис. 3.46). Причем это значение таково, что текущий код таймера-счетчика превышает его. В результате в текущем периоде работы таймера-счетчика событие выходного сравнения уже не произойдет, т.к. равенство кодов наступит только в следующем периоде работы таймера-счетчика.

Пример 2. Код в регистре данных TxCHi канала захвата/сравнения изменяют в подпрограмме прерывания по переполнению таймера-счетчика (Рис. 3.47). Абсолютное значение кода сравнения мало, например 1 или 2. Время, затраченное на выполнения команд записи кода в регистры данных модуля TxCHiH и TxCHiL, обязательно превышает 1 или 2 цикла синхронизации внутренней шины. Поэтому текущий код таймера-счетчика в момент записи обязательно будет превышать указанное значение кода в регистре данных и сравнения не произойдет. С подобными сбоями можно бороться путем npoi-граммного ограничения абсолютного значения кодов, однако такая мера не позволяет в полной мере использовать аппаратные возмож­ности модуля захвата/сравнения и притом еще усложняет алгоритм программного обеспечения.

img068

img069

Рассмотренные ситуации можно избежать путем использования режима буферированного выходного сравнения.

Режим буферированного выходного сравнения

В этом режиме каналы захвата/сравнения объединяются в пары: канал 0 с каналом 1, канал 2 с каналом 3, канал 4 с каналом 5. Канал с нечетным номером работает в режиме выходного сравнения. Канал с четным номером переводится в нерабочее состояние, и его нельзя использовать ни в каком из режимов работы. Вывод TxCHi MK, принадлежащий каналу с четным номером, автоматически конфигурируется в режим обычной линии ввода/вывода. Далее, для определенности, рассмотрим логику работы на примере пары 0 и 1.

Сразу после инициализации в качестве источника кода сравнения модуль 0 использует регистры данных ТхСН0, принадлежащие модулю 0. После того как событие сравнения произошло, в качестве источника кода сравнения могут использоваться как регистры данных канала 0, так и регистры данных канала 1. Выбор регистра данных осуществляется модулем автоматически: используется та пара регистров данных, в которую запись была произведена последней.

Внимание! По этой причине не следует новое значение кода сравнения записывать в текущий активный регистр данных канала. Эта операция в соответствии с принципом действия режима буферированного сравнения фактически переведет канал в режим небуферированного выходного сравнения.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.04 секунд 2,299,189 уникальных посетителей