October 20 2017 00:27:21
Навигация
Авторизация
Логин

Пароль



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

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

Функциональная схема модуля сторожевого таймера СОР08/А представлена на Рис. 3.54.

img076

Основу модуля составляет 6-разрядный счетчик, младший и старший байты которого подключены к схеме выбора разряда переполнения таймера. Счетчик тактируется импульсной последовательностью с выхода 12-разрядного делителя частоты в составе модуля системной интеграции SIM08. Вход делителя подключен к выходу CGMXCLK модуля формирования тактовой частоты CGM08. Частота следования импульсов на выходе CGMXCLK равна частоте колебаний кварцевого резонатора.

Счетчик модуля СОР и счетчик делителя находятся в режиме свободного счета, т.е. их нельзя остановить или записать в них произвольное значение кода под управлением прикладной программы. Разряды счетчика сторожевого таймера и счетчика делителя доступны только для обнуления. Разряды счетчика делителя разделены на две группы: разряды 1...4 и разряды 5... 12. Условия сброса разрядов счетчика СОР и делителя следующие:

* Все разряды счетчика СОР и делителя устанавливаются в 0 при переходе МК в состояние сброса.

* Разряды счетчика делителя устанавливаются в 0 при выполнении команды STOP и удерживаются в этом состоянии до выхода МК из режима останова.

* Разряды 5...12 делителя и все разряды счетчика СОР устанавливаются в 0 при записи в регистр управления сторожевого таймера COPCTL произвольного значения. Бит коэффициента счета COPRS в одном из регистров конфигурации определяет режим схемы выбора разряда переполнения сторожевого таймера:

* Если COPRS=0, то изменение состояния старшего разряда счетчика СОР с 1 на 0 генерирует сигнал переполнения сторожевого таймера. Период работы сторожевого таймера в этом случае составляет

img077

* Если COPRS = 1, то изменение состояния младшего разряда счетчика СОР с 1 на 0 генерирует сигнал переполнения сторожевого таймера. Период работы сторожевого таймера в этом случае составляет

img078

Переполнение сторожевого таймера вызывает состояние внутреннего сброса МК (СОР RESET). В счетчик команд записывается адрес вектора сброса, который хранится в ячейках SFFFE и SFFFF, в регистре сброса модуля системной интеграции SRSR устанавливается бит СОР (см. п. 3.5.9). Для предотвращения сброса по переполнению сторожевого таймера необходимо в ходе выполнения прикладной программы периодически сбрасывать счетчик СОР и старшие разряды делителя посредством записи в регистр управления сторожевого таймера COPCTL произвольного кода. Адрес регистра COPCTL равен SFFFF, т.е. совпадает с адресом младшего байта вектора сброса.

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

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

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

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

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