Перейти к содержанию

FLL — петля автоподстройки частоты

Встроенный RC-генератор микроконтроллера дёшев, но его частота плавает с температурой и питанием. Петля автоподстройки частоты (FLL) постоянно сравнивает его с точной опорной частотой — от часового кварца или внутреннего генератора — и подкручивает так, чтобы выдерживалось заданное отношение.

Обновлено Редакция GAW

FLL (frequency-locked loop, петля автоподстройки частоты) — схема, которая поддерживает частоту управляемого генератора равной заданному кратному опорной частоты. В микроконтроллерах MSP430 с системой тактирования CS ею подстраивается цифровой управляемый генератор DCO: FLL сравнивает его частоту с опорным сигналом и меняет настройку DCO, пока отношение не станет заданным.

Формулы по руководству TI SLAU445:

fDCOCLKDIV=(FLLN+1)⋅fFLLREFCLKn,fDCOCLK=2FLLD⋅fDCOCLKDIVf_\text{DCOCLKDIV} = (\text{FLLN} + 1) \cdot \frac{f_\text{FLLREFCLK}}{n}, \qquad f_\text{DCOCLK} = 2^{\text{FLLD}} \cdot f_\text{DCOCLKDIV}

где FLLN — множитель, FLLD задаёт деление 1, 2, 4, 8, 16 или 32, n — делитель опоры (для сигнала 32768 Гц n = 1). После сброса FLLN = 31 и FLLD = 1: от опоры 32768 Гц DCOCLKDIV = 32 · 32768 = 1 048 576 Гц, и MCLK с SMCLK работают примерно на 1 МГц. Чтобы получить 16 МГц, берут FLLN около 487: 488 · 32768 ≈ 15,99 МГц, при этом диапазон DCO выбирают битами DCORSEL.

Опорой служит часовой кварц или внутренний генератор REFO на 32 кГц. Точность итоговой частоты определяется опорой: по даташиту MSP430FR2433 частота 16 МГц от REFO держится в пределах ±1 % при 25 °C и ±2 % во всём диапазоне температур, от кварца — ±0,5 %. Время захвата частоты по даташиту — около 280 мс; TI советует после настройки опрашивать флаги FLLUNLOCK, пока петля не захватит частоту.

В отличие от PLL, которая подстраивает фазу и обычно умножает частоту внешнего кварца, FLL работает только с частотой и рассчитана на медленную опору. Семейства MSP430 с FLL — на странице «MSP430 с FRAM».

Частые вопросы

Как рассчитать частоту DCO у MSP430 с FLL?

По формуле TI SLAU445: fDCOCLKDIV = (FLLN + 1) · fREF / n, а fDCOCLK = 2^FLLD · (FLLN + 1) · fREF / n. С опорой 32768 Гц и n = 1 после сброса FLLN = 31 и FLLD = 1: DCOCLKDIV = 32 · 32768 = 1 048 576 Гц — около 1 МГц, а DCOCLK — вдвое больше.

Чем FLL отличается от PLL?

PLL подстраивает фазу генератора и умножает опорную частоту, в микроконтроллерах обычно с внешнего кварца на мегагерцы. FLL работает только с частотой: подстраивает DCO так, чтобы его частота была в FLLN + 1 раз выше опорной (с учётом делителей). Опорой FLL в MSP430 служит медленный сигнал 32 кГц — часовой кварц или внутренний генератор REFO.

Насколько точна частота с FLL?

Настолько, насколько точна опора. По даташиту MSP430FR2433 частота 16 МГц от внутреннего генератора REFO — ±1 % при 25 °C и ±2 % во всём диапазоне температур, а от часового кварца — ±0,5 %. Для UART на высоких скоростях лучше опора от кварца.

Источники

  1. Texas Instruments. MSP430FR4xx and MSP430FR2xx Family User's Guide (SLAU445I, revised March 2019) — разд. 3.2.5 — DCO, стабилизируемый FLL до кратного FLLREFCLK / n; fDCOCLK = 2^FLLD · (FLLN + 1) · (fFLLREFCLK / n), fDCOCLKDIV = (FLLN + 1) · (fFLLREFCLK / n); n = 1, 32, …, 512, для 32768 Гц n = 1; FLLD — 1, 2, 4, 8, 16 или 32; после сброса FLLN = 31, FLLD = 1, MCLK и SMCLK около 1 МГц; порядок настройки и опрос FLLUNLOCK; DCORSEL 1–16 МГц
  2. Texas Instruments. MSP430FR2433 Mixed-Signal Microcontroller (SLASE59F, revised December 2019) — табл. 5-5 — точность частоты FLL на 16 МГц: ±1 % при 25 °C и ±2 % в диапазоне температур от REFO, ±0,5 % от кварца; время захвата 280 мс; пуск DCO 16 мкс

Нашли ошибку?