Я работаю над проектом, в котором MSP430 используется для определения времени для некоторых вещей, где важно точное время (оно может быть отключено на 10%, но не в 2 раза). В данном случае это управляется таймером A0, работающим от источника тактового сигнала SMCLK. Я хотел бы иметь функцию самопроверки, с помощью которой я мог бы проверить, что тактовая частота MSP430 не слишком далека от спецификации (предполагается, что она составляет 25 МГц). В частности, меня беспокоят режимы отказа (хотя и маловероятные), которые снижают высокоскоростную тактовую частоту MSP430 до очень низкого значения (кГц), даже если чип продолжает работать: это было бы катастрофой для остального оборудования. обеспокоенный. На этой плате есть тактовая частота 32 кГц от кристалла.
(1) Есть ли библиотечная функция (msp430ware и т. д.) для проверки правильности часов?
(2) Могу ли я использовать часы с частотой 32 кГц для проверки высокоскоростных часов? Каков наилучший способ сделать это?
(3) Какие функции обеспечения целостности тактового сигнала имеются в MSP430?
Спасибо!
(2) Могу ли я использовать часы с частотой 32 кГц для проверки высокоскоростных часов? Каков наилучший способ сделать это?
Используйте два таймера: один на 32 кГц, один на высокоскоростные часы. Сравните разницу и убедитесь, что она находится в допустимой ярости.
(2) Используйте два таймера, по одному от каждого источника синхронизации, и подсчитайте, сколько тактов высокоскоростных часов происходит между двумя тактами 32 кГц. Если значение выходит за пределы диапазона, отрегулируйте DCO соответствующим образом.
На микросхемах с модулем UCS FLL может делать это автоматически, не требуя дополнительных ресурсов, таких как таймеры. Вы можете настроить FLL с помощью функции driverlib UCS_clockSignalInit(UCS_FLLREF,...)
.
(1), (3) Внутренние источники синхронизации (VLO, REFO, DCO или что-то еще, что есть в вашем чипе) не могут выйти из строя. Их единственная проблема в том, что они могут быть не очень точными.
Внешние источники синхронизации контролируются и имеют биты ошибок и прерывания. Если внешний кристалл выходит из строя, вы должны как-то справиться с этим. (UCS автоматически переключается на внутренний источник тактовой частоты, если кварц выходит из строя, но вам необходимо определить, подходит ли это для вашего приложения. В вашем случае, если кварцевый резонатор 32 кГц заменить на REFO, тактовая частота по-прежнему будет находиться в пределах 10 %. границы.)
кл.
Алекс I