Представьте, что вы начали слушать новый альбом любимой группы, а за стеной активизировался сосед с перфоратором. Примерно так же «чувствуют себя» компоненты на плате смартфона, контроллера или роутера, которые соседствуют с высокочастотным тактовым генератором. Чем выше скорость передачи данных — тем сильнее шум соседского перфоратора: электромагнитные помехи. Обычно помогает экранирование или фильтрация определенных частот, но у этих способов есть свои недостатки и ограничения.
Есть более элегантное решение — тактовый генератор с распределенным спектром (ТГРС). Мощность генератора остается прежней, а вот шум удается заметно снизить. Меня зовут Павел Кириченко, я автор курса «Схемотехника для начинающих» и ведущий инженер по разработке SoC в YADRO. В статье разберемся, как спроектировать ТГРС для последовательного интерфейса и рассмотрим два подхода к его архитектуре: с переменным коэффициентом деления и c фазовым интерполятором.
Как бороться с помехами тактового генератора
Большинство современных высокоскоростных систем живут в условиях постоянной борьбы с электромагнитными помехами (ЭМП). Часто их источником оказывается генератор тактовых импульсов, который находится внутри системы. Обычно его частота превышает остальные рабочие частоты, поэтому электромагнитное излучение (ЭМИ) генератора портит жизнь соседним компонентам на плате либо мешает другим устройствам поблизости.
Традиционно с ЭМП борются двумя способами: экранированием или фильтрацией частот. Первый способ хорошо работает в системах с сильным уровнем ЭМИ, для которых габариты, вес и стоимость не очень важны. Для мобильной и компактной электроники такой способ не подходит. Фильтры частот — рабочий вариант, но в высокоскоростных системах такая фильтрация обычно приводит к уменьшению критичных временных допусков сигналов.
Модуляция тактового сигнала (распределенный спектр) — более изящный способ избавиться от помех через их устранение в самом источнике. Мы модулируем системный тактовый импульс гигагерцового диапазона таким образом, чтобы его частота отклонялась от основной в пределах 30–35 МГц. В результате за счет модуляции энергия распределяется в заданной полосе частот, а не концентрируется в одной частоте. Так мы можем снизить системные помехи вплоть до 20 дБ. Само по себе дрожание частоты относительно центральной в силу неидеальности любой электронной системы проявляется всегда. И устройства проектируют с некоторым запасом толерантности к такому дрожанию: обычно ее допустимые величины указывают в спецификации.
Здесь же это изначально нежелательное явление инженеры, как часто бывает, заставили работать с пользой. Дрожание частоты по-прежнему не выходит за допустимые пределы, но теперь оно происходит не случайно, а целенаправленно. Способ этот оказался настолько эффективен, что стал обязательным, например, в стандарте Serial ATA и в некоторых других последовательных интерфейсах. Реализуют это через встраивание в синтезатор передатчика блока размывания спектра синхросигнала в пределах 5000 ppm вниз от основной частоты. Так можно снизить уровень ЭМП, который возникает при передаче данных в вычислительных системах по высокоскоростному последовательному каналу.
Две архитектуры ТГРС
Посмотрим на общую структурную схему однопетлевого синтезатора на основе блока фазовой автоподстройки частоты с возможностью модуляции выходного тактового сигнала:

На выходе синтезатора есть перестраиваемый генератор, управляемый напряжением (ГУН). Его сигнал после деления на 2d по частоте (FBCKDIV) подается на один из входов фазового детектора (ФД). Другой вход фазового детектора подключен к опорному сигналу FREF.
Фазовый детектор сравнивает сигналы на обоих входах и генерирует сигнал ошибки. Он поступает на вход блока накачки заряда (БНЗ), который формирует соответствующий корректирующий импульсный заряд большой амплитуды и малой длительности. Затем этот заряд проходит через фильтр низких частот (ФНЧ) и подстраивает частоту ГУН к нужной выходной частоте. В установившемся состоянии синтезатор генерирует выходную частоту FOUT в 2d раз большую, чем опорная частота FREF. Модуляция выходного тактового сигнала осуществляется в блоке тактового генератора с распределенным спектром (ТГРС). Если коэффициент деления ТГРС не меняется в течение длительного времени, то схема является классическим синтезатором частоты.
Но все становится интереснее, если в процессе работы мы каким-то образом будем играть с коэффициентом d. Рассмотрим два варианта реализации ТГРС: с переменным коэффициентом деления d и с использованием фазового интерполятора.
ТГРС с переменным коэффициентом деления
Вот как выглядит стандартная функциональная схема блока тактового генератора с распределенным спектром с переменным коэффициентом деления:

Он содержит четыре блока (слева направо):
счетчик импульсов опорной частоты,
генератор профиля модуляции,
дельта-сигма модулятор,
делитель с переменным коэффициентом деления.
Блок ТГРС должен менять коэффициент деления синтезатора так, чтобы выходная частота меняла свою величину в заданных пределах. В обычном режиме работы (сигнал dout=0) выходной тактовый сигнал имеет следующую частоту:

При установке сигнала dout в высокий уровень коэффициент деления синтезатора становится равен d-1. В течение n циклов выходной частоты делителя сигнал устанавливается в высокий уровень m раз. Поэтому усредненная частота за n циклов отличается от FOUT0 и равна:

Если m будет изменяться периодически от 0 до M и обратно, то образуется низкочастотный профиль модулирования. Он обеспечивает отклонение выходной частоты синтезатора в нужных пределах. Задачу отсчета n импульсов опорной частоты выполняет блок счетчика, а расчет количества команд на понижение коэффициента деления m в текущем наборе из n импульсов — генератор профиля модуляции на схеме выше.
Вот пример теоретического расчета профиля модулирования ТГРС для синтезатора с опорной частотой 125 МГц и выходной частотой 6 ГГц:

На вход делителя с переменным коэффициентом деления подается сигнал с частотой 3 ГГц. Вычисленные по формуле (2) коэффициенты n = 128 и M = 16 задают треугольный профиль модулирования с периодом ~32 кГц и амплитудой -5000 ppm. Переменная величина по горизонтальной оси — это количество циклов выходной частоты делителя, умноженное на n (период, в течение которого m изменяется на 1). По вертикальной – разность между FOUT и FOUT0, которая выражена в ppm.
Команды на изменение коэффициента деления подаются равномерно в течение n периодов выходной частоты делителя. То есть мы следим, чтобы не было длительного непрерывного снижения коэффициента деления. Иначе возможно значительное увеличение дрожания выходной частоты синтезатора или даже срыв генерации. Количество команд m в каждом конкретном наборе из n периодов разное, поэтому, чтобы обеспечить равномерность, нужно использовать дельта-сигма модулятор.
Этот вид модуляции подкупает своей простотой, но за нее приходится платить качеством сигнала. Основная проблема здесь — слишком большой фазовый сдвиг выходного тактового сигнала при изменении коэффициента деления. По сути, делитель «выкусывает» целый такт выходной частоты. Джиттер сигнала при этом увеличивается, и возникает опасность, что тактовый сигнал может выходить за пределы нужной модуляции. Поэтому для достижения большей плавности перестройки частоты выходного сигнала и снижения риска срыва генерации лучше использовать в схеме ТГРС блок фазового интерполятора (ФИ).
ТГРС с фазовым интерполятором
Фазовый интепролятор — это устройство, которое позволяет плавно сдвигать фазу сигнала от 0 до 360 градусов на нужную величину. Если, например, в нем будет предусмотрено 16 «делений», то каждый шаг по такой «шкале» будет приводить к смещению сигнала на 22,5 градуса. Увеличивая количество ступеней, мы заметно усложняем сам ФИ, но зато делаем его настройку более тонкой и аккуратной. При такой архитектуре минимальная модуляция частоты будет соответствовать минимально возможному сдвигу фазы ФИ, что уменьшает джиттер выходного тактового сигнала. Функциональная схема модифицированного таким способом ТГРС:

Вполне достаточно для приемлемой точности использовать архитектуру ФИ с 32 сдвигами фазы на период тактового сигнала. При этом желательно управлять ФИ не сдвиговым регистром, а дельта-сигма модулятором. Так можно обеспечить большую гибкость системы.
Коэффициент деления d остается постоянным при всех режимах работы синтезатора. Контроллер ФИ управляет направлением и величиной фазового сдвига. В этом варианте ТГРС можно гибко реализовать расширение спектра синхросигнала глубиной в 5000 ppm и 2500 ppm с повышением/понижением относительно центральной частоты.
В случае со сдвиговым регистром фаза смещается на очередное деление в нужную сторону после заданного числа импульсов, что приводит к появлению локальных небольших пиков амплитуды на графиках спектральной площади мощности — их примеры есть в конце статьи. Дельта-сигма модулятор же распределяет моменты сдвига фаз равномерно по заданному количеству импульсов, сглаживая эту характеристику.
Результаты моделирования
Моделирование работы синтезатора с разными вариантами ТГРС в SPICE-симуляторе позволило получить графики спектральной плотности мощности (СПМ) двух режимов работы синтезатора с переменным коэффициентом деления: с включенной модуляцией (темный график) и без (светлый график). Величина размывания спектра составляет -5000 ppm, что соответствует стандарту SATA. На краях распределенного спектра можно увидеть его подъем из-за больших фазовых сдвигов, которые вызваны изменением коэффициента деления d.

А вот графики СПМ для синтезатора с ТГРС на основе ФИ для вариантов модуляции -5000 ppm (а) и -2500 ppm (б):

Выбираем архитектуру ТГРС
Мы разобрали две архитектуры ТГРС в составе классического однопетлевого синтезатора на базе ФАПЧ. Если базовый вариант с переменным коэффициентом деления ограничен профилем в 5000 ppm вниз от центральной частоты, а также дает меньшее снижение уровня помех, что может быть критичным, то модифицированная схема с фазовым интерполятором дает куда большую гибкость. Она позволяет размывать спектр как вверх, так и вниз в пределах 2500 и 5000 ppm. Возможность программно задавать величину и направление модуляции (вверх/центральная/вниз) делает этот синтезатор универсальным: он пригоден к работе не только в SATA, но и в более скоростных SAS и PCI Express.
Стоит учесть, что схемотехническая и топологическая сложность варианта с ФИ намного выше, чем более простого ТГРС с переменным коэффициентом деления. Поэтому в каждом конкретном случае нужно выбирать тот вариант, который лучше подходит для снижения помех.
kkuznetzov
Однажды пришлось разбираться с таким генератором. Когда DDR-3 память с частотой шины 400 МГц глушила навигационный приёмник. Получался пик на 4-й гармонике с частотой 1600 МГц.
В настройках процессора пришлось включить качание частоты. И помогла настройка частоты шины с качанием в диапазоне от 384 до 416 МГц.
pgkirich Автор
Отличный пример, спасибо!
zatim
А что за процессор, если не секрет? Я с таким функционалом что-то раньше не сталкивался.
qiper
"Spread Spectrum" настройка называлась в биосе