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

Выравнивание длин

Время: ~35 мин

Цели урока

  • оценивать разницу задержек по разнице длин дорожек
  • понимать, когда выравнивание длин действительно нужно, а когда это лишняя работа
  • задавать правила Length и Matched Lengths и выравнивать длины меандрами в Altium

Что нужно знать заранее

Сигнал по дорожке идёт не мгновенно. Если несколько сигналов должны прийти к приёмнику одновременно, а дорожки разной длины, один опоздает. Иногда это неважно, иногда ломает работу интерфейса. Выравнивание длин (length tuning) — удлинение коротких дорожек «зигзагом», чтобы задержки совпали.

Скорость сигнала в дорожке v = c / √εэфф, где c — скорость света, εэфф — эффективная диэлектрическая проницаемость. Для FR-4 получается примерно 15 см/нс (Богатин даёт удобное правило — около 6 дюймов в наносекунду):

Где дорожка Скорость, примерно Задержка на 1 мм
внешний слой (часть поля в воздухе) 16–17 см/нс ≈ 6 пс
внутренний слой (всё поле в FR-4) ≈ 14–15 см/нс ≈ 7 пс

Значит, разница длин в 10 мм — это всего около 60–70 пикосекунд.

Сравни разницу задержек с длительностью одного бита или с допустимым перекосом интерфейса:

  • USB Full Speed (12 Мбит/с): бит длится около 83 нс. Разница в 70 пс — меньше 0,1 % бита. Выравнивать не нужно, достаточно вести пару симметрично.
  • USB High Speed (480 Мбит/с): бит около 2 нс. Внутри пары перекос уже заметен и превращается в синфазную помеху. Длины D+ и D− выравнивают. Допуск — из рекомендаций производителя микросхемы.
  • Параллельные шины памяти, RGMII, DDR: много сигналов должны прийти вместе с тактовым. Здесь выравнивание по группам обязательно, допуски задаёт даташит.
AccordionамплитудашагTromboneудобен для парыSawtooth
Рис. 9.5. Чтобы удлинить дорожку до нужной длины, в неё вставляют меандр. Accordion (гармошка) — классический вариант. Trombone (тромбон) — одна большая петля, удобна для дифференциальных пар. Sawtooth (пила) — пологие зубцы. Параметры: амплитуда (высота зубца) и шаг (Space) между витками; шаг должен быть не меньше нескольких зазоров, иначе соседние витки начинают наводить друг на друга.

Дорожку удлиняют меандром одной из трёх форм. Несколько практических правил:

  • Шаг между витками не делай слишком маленьким: соседние витки «чувствуют» друг друга, и реальная задержка получается меньше расчётной. Распространённое практическое правило — шаг не меньше 3–4 ширин дорожки (уточняй по рекомендациям производителя микросхемы).
  • Меандр ставь рядом с источником рассогласования. Например, для пары — там, где одна дорожка стала длиннее другой на изгибе, а не в другом конце платы.
  • Для дифференциальной пары меандр делают на более короткой дорожке, небольшими «бугорками», чтобы зазор пары нарушался как можно меньше.

В категории High Speed редактора правил (DesignRules) есть два главных правила:

  • Length — допустимые минимальная и максимальная длина для цепей из области действия;
  • Matched Lengths — цепи из области должны совпадать по длине с заданным допуском. Для пар есть отдельные режимы: согласование между парами и внутри пары.

Правило Matched Lengths можно создать мастером из панели PCB (Differential Pairs Editor → Rule Wizard, урок 9.5).

  1. Разведи цепи обычным способом.
  2. Запусти RouteInteractive Length Tuning (для пары — RouteInteractive Differential Pair Length Tuning).
  3. Нажми Tab, чтобы открыть свойства в панели Properties. Выбери форму меандра (Accordion, Trombone или Sawtooth) и способ задания цели:
    • Manual — длина вводится вручную;
    • From Net / From Diff Pairs — по уже разведённой цепи или паре;
    • From Rules — из правил Length и Matched Lengths.
  4. Включи Clip to Target, чтобы Altium перестал добавлять витки, когда длина войдёт в допуск.
  5. Щёлкни по дорожке и веди курсор вдоль неё — меандр будет расти. Клавиши во время работы:
    • 1 / 2 — уменьшить/увеличить скос углов (Miter);
    • 3 / 4 — уменьшить/увеличить шаг (Space);
    • Запятая / Точка — уменьшить/увеличить амплитуду;
    • Shift+G — показать или скрыть индикатор длины.

Есть и автоматический вариант — RouteAutomatic Length Tuning (Ctrl+Alt+T), но новичку полезнее сначала сделать это руками и увидеть, как меандр меняет длину.

🧯 Типичные ошибки

Меандр с очень маленьким шагом, а длина «не сходится» с измерением

Почему Соседние витки связаны, и сигнал частично «срезает» углы — реальная задержка меньше расчётной.

Как исправить Увеличь шаг меандра (клавиши 3/4) и амплитуду, уменьши количество витков.

Выровняли длины USB Full Speed и потратили час

Почему Для 12 Мбит/с разница в сантиметр не играет роли.

Как исправить Перед выравниванием сравни разницу задержек с длительностью бита и требованием даташита.

Длина цепи через последовательный резистор считается неправильно

Почему На плате это две разные цепи, и правило видит только одну из них.

Как исправить Используй xSignals и правило Matched Lengths для класса xSignals.

Проверь себя

  1. 1. Какова примерная задержка сигнала на 10 мм дорожки на FR-4?
  2. 2. Нужно ли тщательно выравнивать длины D+ и D− для USB Full Speed (12 Мбит/с) на маленькой плате?
  3. 3. Какой режим цели в Interactive Length Tuning берёт длину из правил Length и Matched Lengths?
  4. 4. Почему шаг меандра не делают слишком маленьким?

Практическое задание~30 мин

На учебной плате разведи две цепи от одного разъёма к одной микросхеме так, чтобы одна была длиннее на 8–10 мм.

  1. Посчитай разницу задержек по таблице урока.
  2. Создай правило Matched Lengths для этих двух цепей с допуском 0,5 мм.
  3. Выровняй длины через Interactive Length Tuning с режимом From Rules и Clip to Target. Сделай скриншот с индикатором длины.