Перейти к основному содержимому

Тактирование

Организация тактирования
Организация тактирования

Цепочка тактирования

Тактовый сигнал проходит через несколько ступеней обработки:

  1. Источник — кварцевый резонатор (2–20 МГц) или внешний генератор (подается на CLK60).
  2. Умножитель PLL — умножает входную частоту на коэффициент PLL_N (если включён). Результат умножения не должен превышать 60 МГц.
  3. Делитель PLL — делит умноженную частоту на коэффициент PLL_Q + 1.
  4. FINT — итоговая системная частота: FINT = f_вх × PLL_N / (PLL_Q + 1). При PLL_N = 0 умножитель выключен, FINT = f_вх.
  5. Делитель АЦПFINT_divisor: Fclk_adc = FINT / (FINT_divisor + 1).
Ограничения в текущей версии микросхемы
  • Fclk_adc ≤ 2,5 МГц — частота тактирования АЦП не должна превышать 2,5 МГц (номинальное значение — до 20 МГц).
  • FINT ≥ 2 × Fclk_adc — для корректной обработки сэмплов АЦП преобразователями HAND1 и HAND2.
  • Частота выборок ≤ 150 кВыб/с — период обновления результата Tclk ≥ 6,7 мкс (Tclk = 16 / Fclk_adc при DELAY_cycles = 0).
  • Результат умножения PLL ≤ 60 МГц — частота с выхода умножителя не должна превышать 60 МГц.

Выбор источника тактирования

Источник тактирования определяется схемотехнически одним из двух вариантов:

  1. Встроенный генератор на кварцевом резонаторе — кварцевый резонатор подключается к выводам TP_QI(28) и TP_QO(27). Выход генератора TP_FQO(26) подключается на вход CLK60(39). Генератор поддерживает кварцевые резонаторы с частотой от 2 МГц до 20 МГц. Время выхода на режим — от нескольких миллисекунд. Для работы генератора на вывод VDDIO2(25) необходимо подать питание, равное VDDIO(45). Резистор 510 кОм, подключённый параллельно резонатору, обеспечивает стабильный запуск генерации.

  2. Внешний активный генератор — сигнал подаётся непосредственно на вход CLK60(39). При этом вывод TP_QI(28) должен быть подключён к VDDD_INT(31), вывод TP_QO(27) — к GND.

Подключение внешнего активного генератора
Подключение внешнего активного генератора
Рекомендуемые частоты на входе CLK60

Для последующего умножения с помощью PLL частота на CLK60 должна быть не более 30 МГц (при внешнем генераторе) или не более 20 МГц (при кварцевом резонаторе). Это позволяет умножить частоту на 2–3 раза до целевых 50–60 МГц FINT, не превышая предел 60 МГц на выходе PLL.

Настройка ФАПЧ (PLL)

Блок ФАПЧ состоит из двух независимых ступеней: умножителя (поле PLL_N) и делителя (поле PLL_Q).

Умножитель частоты — может быть задействован, если входная частота не более 20 МГц. Задаётся полем PLL_N в диапазоне 2...74. Частота на выходе умножителя CLK_PLL = f_вх × PLL_N не должна превышать 60 МГц. Если PLL_N = 0, умножитель выключен — тактирование производится напрямую от CLK60.

Делитель частоты — поле PLL_Q в диапазоне 0...15. Итоговая системная частота: FINT = CLK_PLL / (PLL_Q + 1). Если деление не требуется, задать PLL_Q = 0.

Контроль готовности:

  • Для ускорения выхода PLL на режим — бит PLL_BOOST[7] = 1 (предзаряд петлевого фильтра); используется по необходимости.
  • Для контроля захвата частоты — установите PLL_basecmp[15:14] ≠ 00. Готовность — по биту CLKCOMP_rdy.
  • Для задержки запуска цифровой логики — поле CLK_delay[13:12]: 00 = без задержки (по умолчанию, запуск сразу после готовности тактовой), 01 = 2048 тактов, 10 = 4096 тактов, 11 = 8192 тактов FINT. Задержка удерживает сброс цифровой части до стабилизации тактовой частоты.

Петлевой фильтр — состоит из внутреннего резистора 10 кОм и внешнего конденсатора на выводе PLL_CAP(40). Номинал конденсатора 0,1 мкФ является типовым. Увеличение ёмкости уменьшает пульсации, но увеличивает время установления, и наоборот. Уровень пульсаций не должен превышать 5% от периода тактовой частоты (ограничение джиттера).

Для отладки ФАПЧ на выводе DB(41) можно наблюдать внутренние сигналы через поле DB_mode регистра Mode_config. Все сигналы выводятся поделёнными на 8:

DB_modeСигнал на DB
000CLKMUX_OUT — мультиплексированный тактовый сигнал (значение по умолчанию)
001DB_SIG_PLLBASE — частота с делителя PLL_BASE
010DB_SIG_CLKREF — опорная частота CLKREF
011CLK — результирующая частота FINT

Для проверки итоговой частоты тактирования FINT установите DB_mode = 011 и измерьте частоту на выводе DB — она должна быть равна FINT / 8.

Настройка частоты АЦП

Fclk_adc — частота тактирования АЦП. В текущей версии микросхемы она не должна превышать 2,5 МГц; превышение приводит к некорректной работе преобразователя.

Частоты, участвующие в тактировании АЦП

ОбозначениеЧто этоКак получается
f_CLK60частота на входе CLK60задаётся внешним генератором или кварцевым резонатором
FINTсистемная тактовая частота цифрового блока (CPU, HAND1/HAND2 и др.)при включённом умножителе: f_CLK60 × PLL_N / (PLL_Q + 1); при PLL_N = 0: f_CLK60 / (PLL_Q + 1)
f_adc_srcисточник делителя АЦПFINT либо f_CLK60 — выбирается битом SEL_muxclk (см. ниже)
Fclk_adcчастота тактирования АЦПf_adc_src / (FINT_divisor + 1)
Fclkчастота выдачи выборок (преобразования)Fclk_adc / 16

Формирование Fclk_adc

Делитель АЦП — поле FINT_divisor регистра ADC_config (4 бита, диапазон 0...15, значение по умолчанию = 3). Он делит не FINT напрямую, а частоту источника f_adc_src, выбранного битом SEL_muxclk:

SEL_muxclkИсточник делителя f_adc_srcЧто тактирует
0FINT — частота цифрового блоката же FINT, что и цифра
1f_CLK60 — вход CLK60 напрямую, минуя PLLисходная опорная частота
Fclk_adc = f_adc_src / (FINT_divisor + 1)

Условие Fclk_adc ≤ 2,5 МГц

Fclk_adc ≤ 2,5 МГц — обязательное условие

Поскольку FINT_divisor 4-битное (максимальный коэффициент деления 16), для получения 2,5 МГц источник делителя должен быть не выше 40 МГц: f_adc_src ≤ 40 МГц.

Дополнительно: частота тактирования цифрового блока должна быть минимум в 2 раза больше Fclk_adc — это требуется для обработки сэмплов АЦП преобразователями HAND1 и HAND2.

Выполнить f_adc_src ≤ 40 МГц можно двумя путями. Выбор зависит от того, нужна ли цифровому блоку высокая тактовая частота.

Путь A — SEL_muxclk = 0, АЦП от FINT. FINT делится полем PLL_Q, поэтому её всегда можно опустить до ≤ 40 МГц. Пример: 60 МГц на CLK60 + PLL_Q = 1 → FINT = 30 МГц → FINT_divisor = 11 → Fclk_adc = 2,5 МГц. Оборотная сторона — цифровой блок работает на той же поделенной FINT (30 МГц), а не на 60 МГц.

Путь B — SEL_muxclk = 1, АЦП от CLK60. Делитель работает от входа CLK60 напрямую, а цифровой блок умножается полем PLL_N до 50–60 МГц. Для этого на CLK60 подаётся низкая опорная частота (10–30 МГц), и FINT_divisor подбирается под неё. Это единственный способ одновременно держать цифру на 50–60 МГц и АЦП на 2,5 МГц.

Какой путь выбрать
  • Путь B (низкая опорная на CLK60 + умножение PLL_N + SEL_muxclk = 1) — рекомендуемый, если нужна производительная математика на CPU.
  • Путь A проще, но ограничивает тактовую цифры значением FINT ≤ 40 МГц.
  • Подача большой частоты напрямую на CLK60 не является препятствием: она просто делится полем PLL_Q, ценой снижения тактовой частоты цифрового блока (Путь A).

Примеры конфигурации

Сценарийf_CLK60ПутьPLL_NPLL_QFINT (цифра)SEL_muxclkFINT_divisorFclk_adcFclk
По умолчанию (кварц 10 МГц, PLL выкл)10 МГцA0010 МГц032,5 МГц156 кГц
Внешний 10 МГц, без PLL10 МГцA0010 МГц032,5 МГц156 кГц
Высокая цифра: кварц 10 МГц, PLL на 60 МГц10 МГцB6060 МГц132,5 МГц156 кГц
Высокая цифра: внешний 20 МГц, PLL на 60 МГц20 МГцB3060 МГц172,5 МГц156 кГц
Высокая частота на CLK60, с делением PLL_Q60 МГцA0130 МГц0112,5 МГц156 кГц

Подбор делителя: FINT_divisor = f_adc_src / 2,5 МГц − 1 (округлить вниз; результат должен быть в диапазоне 0...15).

Период преобразования — для одного преобразования АЦП требуется 16 тактов Fclk_adc. Период работы преобразователя:

Tclk = (16 + DELAY_cycles) × Tclk_adc

При необходимости замедлить АЦП (например, если цикл следящего контура короче времени преобразования) добавляются пустые такты полем DELAY_cycles (8 бит, 0...255).

Выключение тактирования

Для снижения энергопотребления, когда микросхема запитана, но не используется, имеется возможность выключить тактирование с цифрового блока с помощью бита OSC_DIS или подачей активного уровня 1 на вывод STNDBY. Состояние включено/выключено тактирование может быть определено по биту CLK_rdy.