Как проверить частоту часов MSP430?

Я работаю над проектом, в котором MSP430 используется для определения времени для некоторых вещей, где важно точное время (оно может быть отключено на 10%, но не в 2 раза). В данном случае это управляется таймером A0, работающим от источника тактового сигнала SMCLK. Я хотел бы иметь функцию самопроверки, с помощью которой я мог бы проверить, что тактовая частота MSP430 не слишком далека от спецификации (предполагается, что она составляет 25 МГц). В частности, меня беспокоят режимы отказа (хотя и маловероятные), которые снижают высокоскоростную тактовую частоту MSP430 до очень низкого значения (кГц), даже если чип продолжает работать: это было бы катастрофой для остального оборудования. обеспокоенный. На этой плате есть тактовая частота 32 кГц от кристалла.

(1) Есть ли библиотечная функция (msp430ware и т. д.) для проверки правильности часов?

(2) Могу ли я использовать часы с частотой 32 кГц для проверки высокоскоростных часов? Каков наилучший способ сделать это?

(3) Какие функции обеспечения целостности тактового сигнала имеются в MSP430?

Спасибо!

Некоторые MSP430 имеют FLL для получения более быстрых часов от внешнего кристалла. Какой чип?
@CL.: Это MSP320F53xx. Есть FLL, не знаете, как им пользоваться?

Ответы (2)

(2) Могу ли я использовать часы с частотой 32 кГц для проверки высокоскоростных часов? Каков наилучший способ сделать это?

Используйте два таймера: один на 32 кГц, один на высокоскоростные часы. Сравните разницу и убедитесь, что она находится в допустимой ярости.

(2) Используйте два таймера, по одному от каждого источника синхронизации, и подсчитайте, сколько тактов высокоскоростных часов происходит между двумя тактами 32 кГц. Если значение выходит за пределы диапазона, отрегулируйте DCO соответствующим образом.

На микросхемах с модулем UCS FLL может делать это автоматически, не требуя дополнительных ресурсов, таких как таймеры. Вы можете настроить FLL с помощью функции driverlib UCS_clockSignalInit(UCS_FLLREF,...).

(1), (3) Внутренние источники синхронизации (VLO, REFO, DCO или что-то еще, что есть в вашем чипе) не могут выйти из строя. Их единственная проблема в том, что они могут быть не очень точными.

Внешние источники синхронизации контролируются и имеют биты ошибок и прерывания. Если внешний кристалл выходит из строя, вы должны как-то справиться с этим. (UCS автоматически переключается на внутренний источник тактовой частоты, если кварц выходит из строя, но вам необходимо определить, подходит ли это для вашего приложения. В вашем случае, если кварцевый резонатор 32 кГц заменить на REFO, тактовая частота по-прежнему будет находиться в пределах 10 %. границы.)