惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
The Register - Security
The Register - Security
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
博客园 - 司徒正美
罗磊的独立博客
U
Unit 42
S
SegmentFault 最新的问题
Y
Y Combinator Blog
博客园_首页
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
Schneier on Security
Schneier on Security
Know Your Adversary
Know Your Adversary
C
Check Point Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Simon Willison's Weblog
Simon Willison's Weblog
V
Vulnerabilities – Threatpost
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
The Hacker News
The Hacker News
博客园 - 叶小钗
C
Cybersecurity and Infrastructure Security Agency CISA
Spread Privacy
Spread Privacy
L
LINUX DO - 热门话题
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Latest news
Latest news
L
Lohrmann on Cybersecurity
A
About on SuperTechFans
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
S
Securelist
A
Arctic Wolf
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threatpost
Scott Helme
Scott Helme
博客园 - 聂微东
博客园 - 【当耐特】
T
Tenable Blog
I
Intezer
D
DataBreaches.Net
B
Blog RSS Feed
Security Latest
Security Latest
C
Cisco Blogs
T
Tor Project blog
N
Netflix TechBlog - Medium

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Тихий перфоратор для соседа: как спроектировать тактовый генератор с распределенным спектром
pgkirich (YA · 2026-04-23 · via Все публикации подряд на Хабре

Тихий перфоратор для соседа: как спроектировать тактовый генератор с распределенным спектром

Уровень сложностиСложный

Время на прочтение7 мин

Охват и читатели1.4K

Обзор

Представьте, что вы начали слушать новый альбом любимой группы, а за стеной активизировался сосед с перфоратором. Примерно так же «чувствуют себя» компоненты на плате смартфона, контроллера или роутера, которые соседствуют с высокочастотным тактовым генератором. Чем выше скорость передачи данных — тем сильнее шум соседского перфоратора: электромагнитные помехи. Обычно помогает экранирование или фильтрация определенных частот, но у этих способов есть свои недостатки и ограничения. 

Есть более элегантное решение — тактовый генератор с распределенным спектром (ТГРС). Мощность генератора остается прежней, а вот шум удается заметно снизить. Меня зовут Павел Кириченко, я автор курса «Схемотехника для начинающих» и ведущий инженер по разработке 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

СПМ для синтезатора с ТГРС с переменным коэффициентом деления. Модуляция -5000 ppm

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

Выбираем архитектуру ТГРС

Мы разобрали две архитектуры ТГРС в составе классического однопетлевого синтезатора на базе ФАПЧ. Если базовый вариант с переменным коэффициентом деления ограничен профилем в 5000 ppm вниз от центральной частоты, а также дает меньшее снижение уровня помех, что может быть критичным, то модифицированная схема с фазовым интерполятором дает куда большую гибкость. Она позволяет размывать спектр как вверх, так и вниз в пределах 2500 и 5000 ppm. Возможность программно задавать величину и направление модуляции (вверх/центральная/вниз) делает этот синтезатор универсальным: он пригоден к работе не только в SATA, но и в более скоростных SAS и PCI Express.

Стоит учесть, что схемотехническая и топологическая сложность варианта с ФИ намного выше, чем более простого ТГРС с переменным коэффициентом деления. Поэтому в каждом конкретном случае нужно выбирать тот вариант, который лучше подходит для снижения помех.