5.3.1. Усовершенствованный сторожевой таймер

(Руководство разработчика по микроконтроллерам семейства HCS08)

В МК серий DN, DV, DZ, EL, EN, JM, SG и SH встроен более совершенный сторожевой таймер. От рассмотренного выше модуля COP он отличается следующими возможностями:

  • Новый способ сброса счетчика. Для обнуления таймера необходимо в регистр SRS записать сначала код 0x55, а затем 0xAA. Оба кода должны быть записаны в течение одного периода работы сторожевого таймера, иначе система будет сброшена. При записи иного значения в регистр SRS или этих же значений, но в другом порядке, МК также сбрасывается. Порядок сброса счетчика сторожевого таймера:
    SRS = 0x55;
    SRS = 0xAA;
    Запись этих же кодов в другом порядке сбрасывает систему:
    SRS = 0xAA;
    SRS = 0x55;
    Запись в COP иного значения также сбрасывает систему:
    SRS = 0x10;     // Сброс системы
  • Введены новые настройки коэффициента счета сторожевого таймера. В усовершенствованном сторожевом таймере можно выбирать один из 4 возможных временных периодов и один из двух источников тактирования. Этот выбор производится, как показано в Табл.5.4.

Таблица5.4. Выбор периода работы усовершенствованного сторожевого таймера

COPCLKSCOPT1:COPT0Источник тактированияКоэффициент счета
x00Таймер отключенТаймер отключен
001Внутренний генератор 1кГц32 (32мс)
010Внутренний генератор 1кГц256 (256мс)
011Внутренний генератор 1кГц1024 (1.024с)
101BUSCLK8192
110BUSCLK65536
111BUSCLK1 048576

  • Введено ограничение возможного времени сброса счетчика. Это новый режим работы сторожевого таймера, реализуемый только при тактировании от системной шины BUSCLK. При использовании данного режима сброс сторожевого таймера разрешается только в последней четверти периода счета счетчика. Любые попытки обнулить сторожевой таймер вне разрешенного интервала времени вызовут сброс МК. Режим с ограничением интервала времени сброса счетчика включается с помощью бита COPW, который обычно размещается в регистре SOPT2.

Таблица5.5. Параметры режима с ограничением интервала времени сброса COP

COPCLKSCOPT1:COPT0Интервал сброса открывается (код)Интервал сброса закрывается (код)
10161448192
1104915265536
111196608262144

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

...
while(1)
{
SRS=OxAA;
SRS=0x55;
}

5.4. Коды идентификации МК

Устройства семейства HCS08 имеют два регистра специального назначения для идентификации устройства и контроля версии технологической маски. Эта информация позволяет программе-отладчику распознать контроллер.

Идентификационный код — это 12-битное число, а код технологической маски — 4-битное число. В Табл.5.6 указаны идентификационные номера для МК семейства HCS08.

Таблица 5.6. Идентификаторы МК HCS08

Модель МКИдентификационный код
AC0x012
AW0x008
DN, DV, DZOxOOE
EL, SL0x013
EN0x00E
GB/GT 32/600x002
GT8/160x00D
JM0x016
LC0x00C
QD0x01 1
QE0x015
QA/QG0x009
RC/RD/RE8/160x003
RC/RD/RE/RG 32/600x004
SG0x014
SH0x014

Электронные компоненты Freescale >>>
Подробнее о компании Freescale >>>