Mobile menu

Высокоскоростная трассировка сигналов: 10 важных ограничений при проектировании печатных плат

Закарайа Петерсон
|  Создано: 29 Апреля, 2020  |  Обновлено: 1 Октября, 2026
At a Glance

Разработка стратегии трассировки высокоскоростных сигналов требует внимательного учета ограничений и продуманного планирования размещения компонентов. Вот как правильно выполнять трассировку высокоскоростных сигналов.

Go Deeper with AI:
Трассировка высокоскоростных сигналов: 10 важных ограничений при проектировании PCB

Ваша современная цифровая PCB, скорее всего, работает как высокоскоростная цифровая система, независимо от того, предполагали вы это или нет. Разумеется, степень влияния и необходимый уровень анализа зависят от времени нарастания ваших сигналов, и именно это часто определяет, как и где можно трассировать определенные сигналы на PCB. Эти ограничения можно задать как правила проектирования PCB в вашем проекте, и в этой статье мы рассмотрим некоторые распространенные ограничения, используемые в высокоскоростных разработках для обеспечения успешной трассировки.

10 важных ограничений при высокоскоростной трассировке PCB

Значения ширины дорожек по слоям

Все стандартные интерфейсы, используемые для передачи высокоскоростных цифровых данных, являются интерфейсами с контролируемым импедансом. Драйвер, подключенный к дорожке, ожидает, что дорожка будет иметь определенное значение импеданса, и ваше ECAD-программное обеспечение должно поддерживать это при начале трассировки. Аналогично, приемники имеют согласование на определенный входной импеданс или емкостную нагрузку и корректно работают только в соответствии со спецификацией, если импеданс подключенной дорожки соответствует требуемому.

После того как для вашего проекта создана модель импеданса, необходимо задать ограничение на ширину дорожек и допустимые отклонения для каждого сигнального слоя, а затем применить их к различным классам цепей. Для этого требуется расчет импеданса дорожек в разных геометриях.

В Altium Designer расчеты импеданса линий передачи выполняются в том же инструменте, который используется для определения стека слоев PCB.

  1. Откройте Design » Layer Stack Manager и настройте стек слоев, включая толщину меди, толщину диэлектрика и свойства диэлектрических материалов.
  2. Выберите вкладку Impedance и нажмите Add Impedance Profile либо кнопку добавления, если профиль уже существует.
  3. На панели Properties выберите тип профиля и введите Target Impedance и Target Tolerance.
  4. Включите сигнальные слои, которые будут использовать этот профиль, затем назначьте опорные слои в столбцах Top Ref и Bottom Ref.
  5. Выберите каждый включенный сигнальный слой и проверьте рассчитанную ширину дорожки. Для дифференциального профиля зафиксируйте либо Width, либо Trace Gap, чтобы решатель вычислил другое значение для достижения целевого импеданса.
  6. Сохраните стек слоев. Полученный профиль затем можно выбрать в соответствующем правиле Width или Differential Pairs Routing.

Классы цепей с контролируемым импедансом

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

  1. На схеме добавьте к каждой цепи, входящей в группу, директиву Net Class directive и укажите одно и то же имя класса для каждой директивы. Для группировки нескольких цепей также можно использовать blanket с прикрепленным набором параметров.
  2. Откройте Project » Project Options » Class Generation и включите генерацию пользовательских классов цепей. Обновите PCB и выполните изменения, связанные с классами, в Engineering Change Order.
  3. Либо создайте класс непосредственно в редакторе PCB через Design » Classes. Добавьте новый класс в разделе Net Classes, задайте ему имя и переместите нужные цепи из Non-Members в Members.
  4. Откройте Design » Rules и создайте необходимое правило, например Routing » Width.
  5. Установите область действия правила как InNetClass('ClassName'), заменив ClassName фактическим именем класса.
  6. Настройте ограничения. Для трассировки с контролируемым импедансом включите Use Impedance Profile и выберите профиль, созданный в Layer Stack Manager.
  7. Назначьте правилу для конкретного класса более высокий приоритет, чем у более общих правил того же типа, затем примените изменения.

А как быть с отклонением импеданса? Как его учитывать, если вы планируете изменять ширину дорожки? Это можно сделать с помощью сужения дорожки, то есть изменения ее ширины при входе, например, в область BGA-корпуса. Если вы можете заранее предвидеть такие потребности трассировки, запланируйте учет изменения ширины дорожек в правилах проектирования вашей PCB.

Ограничение пути возвратного тока

Проверки ограничения пути возвратного тока подтверждают, что дорожка не пересекает границу опорной плоскости, например зазор между двумя шинами на силовом слое. Пересечение такого зазора прерывает ближайший путь возвратного тока и заставляет возвратный ток идти в обход. В Altium Designer правило Return Path использует назначенный профиль импеданса для определения опорных слоев и проверки непрерывности меди под трассировкой.

Временной перекос

Перекос между сигналами в параллельных шинах или внутри дифференциальной пары необходимо минимизировать, когда требования к согласованию задержек особенно строгие. В PCB-топологии необходимо ограничивать три категории временного перекоса:

  • Согласование задержек сигналов внутри дифференциальной пары
  • Согласование задержек между несколькими дифференциальными парами
  • Согласование длин в смешанных шинах (single-ended и дифференциальные пары)

Именно поэтому удобно определять классы цепей: это значительно упрощает задание временных ограничений, поскольку их можно применить ко всем цепям в данном классе.

Для таких интерфейсов, как PCIe и DDR, временные ограничения настолько жесткие, что для точного обеспечения прихода сигналов в требуемое временное окно необходимо учитывать задержку распространения в выводах и корпусе компонента. Информация для моделирования соответствующего высокоскоростного интерфейса может быть предоставлена производителем компонента. При создании условного графического обозначения для библиотечного компонента данные о задержке выводов можно включить в определения выводов с обеих сторон соединения, и эти значения задержки будут использоваться в инструменте подстройки задержек при трассировке.

Чтобы включить задержки выводов и корпуса в расчет подстройки задержек при трассировке в Altium Designer, цепи соответствующего интерфейса необходимо включить в xSignals. Этот инструмент учитывает все задержки от точки до точки между двумя интегральными схемами, и они используются при расчете подстройки задержек.

Ограничения по слоям трассировки

В платах с большим количеством слоев часто бывает, что определенные классы цепей или классы дифференциальных пар назначаются только определенным слоям. Для этого есть две основные причины:

  • Разные слои разделяются по импедансу, что упрощает проверку контролируемого импеданса
  • Некоторым трассам требуется большее расстояние для обеспечения низкого уровня перекрестных помех, из-за чего остается мало места для других сигнальных трасс

Например, часто разные интерфейсы, такие как DDR, дифференциальные пары 90 Ом (например, USB), дифференциальные пары 100 Ом и другие шины с контролируемым импедансом, разводят по отдельным слоям с единым подходом к проектированию пар. Такое разделение также можно выполнять по значениям ширины дорожек/зазоров, поскольку это помогает производителям легче заменять материалы на эквивалентные при необходимости.

Правило Routing Layers определяет, какие сигнальные слои могут использоваться целевым классом цепей или классом дифференциальных пар. Правила для конкретных классов позволяют каждому интерфейсу использовать назначенные ему слои, сохраняя при этом более общее правило для остальной трассировки.

  1. Откройте Design » Rules и создайте новое правило в разделе Routing » Routing Layers.
  2. Установите пользовательскую область действия как InNetClass('ClassName') для класса цепей или InDifferentialPairClass('PairClass') для класса дифференциальных пар.
  3. В списке слоев включите Allow Routing для разрешенных слоев и отключите его для остальных.
  4. Назначьте этому правилу более высокий приоритет, чем любому более общему правилу Routing Layers, нацеленному на те же цепи.
  5. Примените правило и запустите проверку правил проектирования, чтобы выявить существующую трассировку на запрещенных слоях.

Зазоры до всех остальных объектов по слоям

Значения зазоров обычно различаются для внутренних и внешних слоев из-за процесса металлизации внешних слоев. Однако, поскольку многие высокоскоростные конструкции также являются высокоплотными, нередко разные внутренние слои требуют разных значений зазоров. Это связано с использованием субламинатов, для которых требуется дополнительный процесс металлизации, в результате чего толщина осажденной меди становится больше, чем базовая толщина фольги.

В Altium Designer зазоры по слоям можно задать с использованием системы запросов:

  1. Откройте Design » Classes в редакторе PCB и создайте новый класс слоев в разделе Layer Classes.
  2. Задайте имя класса и добавьте в него слои с одинаковыми требованиями к зазорам. Повторите это для каждой группы, требующей другого зазора.
  3. Откройте Design » Rules и создайте новое правило в разделе Electrical » Clearance для каждого слоя или класса слоев.
  4. Выберите пользовательский запрос для области действия первого объекта. Используйте OnLayer('Top Layer') для отдельного слоя или InLayerClass('LayerClass') для класса слоев, подставив фактическое имя слоя или класса.
  5. Установите область действия второго объекта как All, чтобы правило проверяло зазоры до других медных объектов на соответствующем слое.
  6. Выберите Different Nets Only и введите требуемый минимальный зазор. Используйте матрицу зазоров, если для разных комбинаций объектов требуются разные значения.
  7. Назначьте правилам, специфичным для слоя, более высокий приоритет, чем общему правилу зазоров, примените изменения и запустите проверку правил проектирования.

Обязательно уточните требования к зазорам в зависимости от толщины меди (внутренние и внешние слои) у поставщика услуг по изготовлению PCB.

Также можно задавать зазоры по слоям с помощью нового Constraint Manager. Это обеспечивает матричный подход к определению зазоров, который будет гораздо привычнее разработчикам, использующим другое ECAD-программное обеспечение. Подробнее о Constraint Manager — в видео ниже:

Размеры переходных отверстий или шаблоны для конкретных цепей

Я уже рассказывал в блоге Altium о том, как работает импеданс переходных отверстий и на каких частотах переходные отверстия нужно проектировать под определенный входной импеданс. Эти размеры переходных отверстий и anti-pad будут зависеть от конкретной цепи для определенного стека слоев и диапазона слоев, а ограничение на размер via/pad можно задать с помощью правил проектирования PCB.

Размеры переходных отверстий можно ограничить двумя способами:

  • Путем определения допустимых размеров для конкретных цепей/классов цепей
  • Путем назначения шаблона переходного отверстия конкретным цепям/классам цепей

Определение правильного размера переходного отверстия — это не так просто, как воспользоваться онлайн-калькулятором для подбора размеров via. Для этого требуется 3D-моделирование электромагнитного поля или, по крайней мере, эмпирическая модель, построенная на основе данных моделирования. После того как размеры via и anti-pad определены, зафиксируйте их в виде правил проектирования, чтобы гарантировать, что важные высокоскоростные цепи ограничены правильными размерами via.

Via Anti-Pad

Anti-pad для via — это еще один элемент проектирования с учетом импеданса переходного отверстия, поскольку зазор до плоскости влияет на емкость вдоль цилиндра via. Во всех конструкциях уже существует минимальное требование к зазору между контактными площадками via и ближайшей медью на плоскостях питания или крупных силовых шинах. Значение зазора между via и медью можно скорректировать для конкретных цепей с помощью правила проектирования PCB на уровне отдельной цепи или класса цепей.

Для дифференциальных цепей форма anti-pad может быть продолговатой или эллиптической, а не круглой вокруг каждого отдельного via. Такой общий anti-pad лучше всего задавать путем рисования его формы — либо как вырез в плоскости, либо как вырез в полигоне. Пример показан ниже.

Via-in-Pad Allowance

Одной из особенностей современных высокоскоростных PCB является то, что они, как правило, также имеют высокую плотность монтажа. Это связано с тем, что большинство процессоров сейчас выпускаются в корпусах BGA, и при малом шаге выводов для выполнения fanout-трассировки потребуется технология via-in-pad. Даже в случае BGA-корпусов с большим шагом выводов, где используется fanout по схеме dog-bone, оптимальное размещение байпасных конденсаторов выполняется на обратной стороне BGA с использованием via-in-pad.

По умолчанию ECAD-программы проверяют наличие via-in-pad и помечают его как нарушение DRC, если оно присутствует. Однако via-in-pad можно разрешить в правилах проектирования, чтобы поддержать fanout-трассировку для BGA.

Откройте Design » Rules и создайте правило High Speed » Via Under SMD. Включите Allow Vias under SMD Pads и ограничьте область действия правила нужными площадками, используя IsPad AND WithinRoom('BGA_Fanout') для заданной области fanout. Назначьте этому правилу более высокий приоритет, чем общему правилу. Также настройте соответствующее правило Same Net Only Clearance с нулевым зазором между SMD-площадкой и via, а также между площадкой и отверстием via для разрешенных via.

Обязательно укажите соответствующие via как заполненные и закрытые, используя параметр типов via по IPC-4761 на панели Properties. Это также можно сделать, вручную выбрав конкретную группу via для металлизации и закрытия, либо добавив примечание к производству в основной чертеж, если все via должны быть заполнены и закрыты.

Differential Pair Uncoupled Length

Несвязанная длина дифференциальной пары влияет на обратные потери в дифференциальном канале, поэтому в некоторых приложениях важно определить допустимую длину такого несвязанного участка. Чаще всего этот участок возникает при трассировке выхода из плотного поля выводов BGA, где проводники должны разойтись друг от друга, чтобы обойти переходные отверстия.

Вычисление несвязанной длины — это не простая задача, так как оно зависит от корректного расчета критической длины на основе полосы пропускания вашего канала. Хорошая стратегия заключается в том, чтобы, если вы знаете, что у ваших дифференциальных пар будет несвязанный участок в fanout-трассировке, изначально проектировать пару со слабой связью, поскольку это уменьшит рассогласование импеданса на несвязанном участке и снизит преобразование мод.

Чтобы узнать больше о системе правил проектирования PCB в Altium Designer, посмотрите видео ниже.

 

Независимо от того, разрабатываете ли вы надежную силовую электронику или передовые цифровые системы, используйте полный набор функций проектирования PCB и CAD-инструменты мирового класса от Altium. Altium предоставляет ведущую в мире платформу для разработки электронных изделий, включающую лучшие в отрасли инструменты проектирования PCB и средства междисциплинарного взаимодействия для передовых команд разработчиков. Свяжитесь со специалистом Altium уже сегодня!

 

Часто задаваемые вопросы

Как проверить, пересекают ли дорожки PCB разрывы в опорных плоскостях?

В Altium Designer создайте правило High Speed » Return Path и примените его к соответствующим цепям или классу цепей. Выберите профиль импеданса, который определяет их опорные слои, настройте минимальное расстояние от дорожки до границ опорной меди и запустите пакетную проверку правил проектирования. Эта проверка выявляет трассировку над разрывами опорной меди, включая зазоры между силовыми шинами.

Как ограничить класс цепей или класс дифференциальных пар определенными слоями трассировки?

Создайте правило Routing » Routing Layers в Design » Rules и задайте его область действия с помощью InNetClass('ClassName') или InDifferentialPairClass('PairClass'). Включите Allow Routing только для разрешенных сигнальных слоев, затем назначьте этому правилу более высокий приоритет, чем более общим правилам Routing Layers. Эти настройки ограничивают трассировку и позволяют проверке правил проектирования выявлять уже существующие проводники на запрещенных слоях.

Как назначить размеры via или шаблоны via для конкретных цепей и классов цепей?

Создайте правило Routing » Routing Via Style и задайте его область действия для целевой цепи или класса цепей с помощью InNet('NetName') или InNetClass('ClassName'). Определите минимальный, предпочтительный и максимальный диаметр via и размер отверстия либо настройте правило на использование утвержденных шаблонов via. Назначьте этому правилу более высокий приоритет, чем общему правилу для via. Диапазоны слоев для via задаются отдельно в Layer Stack Manager.

Как создать классы цепей и назначить правила высокоскоростной трассировки PCB?

Классы цепей можно создать с помощью директив Net Class на схеме или напрямую через Design » Classes в редакторе PCB. Для классов, заданных на схеме, включите генерацию пользовательских классов цепей в Project Options и передайте изменения в PCB. В Design » Rules задайте область действия каждого применимого правила трассировки или временных параметров с помощью InNetClass('ClassName'), настройте его ограничения и назначьте ему приоритет выше, чем у более общих правил того же типа.

Об авторе

Об авторе

Закарайа Петерсон (Zachariah Peterson) имеет обширный технический опыт в научных кругах и промышленности. До работы в индустрии печатных плат преподавал в Портлендском государственном университете. Проводил магистерское исследование на хемосорбционных газовых датчиках, кандидатское исследование – по теории случайной лазерной генерации. Имеет опыт научных исследований в области лазеров наночастиц, электронных и оптоэлектронных полупроводниковых приборов, систем защиты окружающей среды и финансовой аналитики. Его работа была опубликована в нескольких рецензируемых журналах и материалах конференций, и он написал сотни технических статей блогов по проектированию печатных плат для множества компаний.

Related Technical Documentation

Связанные ресурсы

Вернуться на главную
Thank you, you are now subscribed to updates.