Улучшения, касающиеся сторожевого (Watchdog) таймера

Основной функцией существующего в предыдущих сериях семейства MSP430 сторожевого таймера (watchdog) является генерация системного сброса в случае превышения определённого временного интервала, в тече­ние которого отсутствует требуемая программная обработка. Улучшенный сторожевой таймер (WDT+) в серии MSP430F2xx был впервые представлен в микросхеме электросчётчика MSP430FE42x. Он позволяет обработать боль­шее количество программных проблем. Ниже приведен список улучшений, добавленных в модуль WDT+ для повышения надёжности системы:

• Добавлена функция устойчивого к сбоям тактирования, которая запре­
щает остановку источника тактирования модуля WDT+ в режиме сто­
рожевого таймера. Например, если в качестве источника тактирования
модуля WDT+ выбран неисправный кварцевый генератор, то функция
устойчивого к сбоям тактирования автоматически переключит источник
тактирования модуля WDT+ на встроенный генератор, обеспечивая ус­
тойчивое к сбоям функционирование системы.

• Невозможно программно отключить активный источник тактирования
модуля WDT+. Преимущество такого решения видно на примере обра­
ботчика прерываний (ISR), в котором в стек сохраняется содержимое
статусного регистра (SR). В том случае, если программа случайно на­
рушит содержимое сохранённого в стеке SR таким образом, что все
источники тактирования будут запрещены, по возврату из прерывания
сторожевой таймер будет навсегда остановлен. Модуль WDT+ исключа­
ет подобные ситуации.

• Запрещено выполнение программы с адреса периферийного модуля.
Являясь представителем Фон-Неймановской архитектуры, MSP430
имеет общее адресное пространство для программной памяти и пе­
риферийных модулей. Несмотря на это, переход программы по адре­
сам, зарезервированным за периферийными модулями (от 0x0000 до
0x01 FF) не имеет никакого смысла. В случае случайного возникновения
такой ситуации, сторожевой таймер WDT+ осуществит программный
сброс.