Основной функцией существующего в предыдущих сериях семейства MSP430 сторожевого таймера (watchdog) является генерация системного сброса в случае превышения определённого временного интервала, в течение которого отсутствует требуемая программная обработка. Улучшенный сторожевой таймер (WDT+) в серии MSP430F2xx был впервые представлен в микросхеме электросчётчика MSP430FE42x. Он позволяет обработать большее количество программных проблем. Ниже приведен список улучшений, добавленных в модуль WDT+ для повышения надёжности системы:
• Добавлена функция устойчивого к сбоям тактирования, которая запре
щает остановку источника тактирования модуля WDT+ в режиме сто
рожевого таймера. Например, если в качестве источника тактирования
модуля WDT+ выбран неисправный кварцевый генератор, то функция
устойчивого к сбоям тактирования автоматически переключит источник
тактирования модуля WDT+ на встроенный генератор, обеспечивая ус
тойчивое к сбоям функционирование системы.
• Невозможно программно отключить активный источник тактирования
модуля WDT+. Преимущество такого решения видно на примере обра
ботчика прерываний (ISR), в котором в стек сохраняется содержимое
статусного регистра (SR). В том случае, если программа случайно на
рушит содержимое сохранённого в стеке SR таким образом, что все
источники тактирования будут запрещены, по возврату из прерывания
сторожевой таймер будет навсегда остановлен. Модуль WDT+ исключа
ет подобные ситуации.
• Запрещено выполнение программы с адреса периферийного модуля.
Являясь представителем Фон-Неймановской архитектуры, MSP430
имеет общее адресное пространство для программной памяти и пе
риферийных модулей. Несмотря на это, переход программы по адре
сам, зарезервированным за периферийными модулями (от 0x0000 до
0x01 FF) не имеет никакого смысла. В случае случайного возникновения
такой ситуации, сторожевой таймер WDT+ осуществит программный
сброс.