Трассировка дифференциальных пар

Вы просматриваете версию 18.0. Для самой новой информации, перейдите на страницу Трассировка дифференциальных пар для версии 24
Applies to Altium Designer versions: 18.0 and 18.1

 

Главная страница: Трассировка

Демонстрация способов выделения.

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

Трассировка дифференциальной пары на плате – это метод создания сбалансированной передающей системы, способной проводить дифференциальные (прямой и противоположный) сигналы на печатной плате. Обычно эта дифференциальная трассировка будет взаимодействовать с внешней дифференциальной передающей системой, такой как соединитель или кабель.

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

Согласно Ли Ритчи (Lee Ritchey), признанному эксперту в области проектирования быстродействующих плат, успешная дифференциальная передача не требует работы с определенным дифференциальным импедансом. Требуется следующее:

  • Задать каждому из трассируемых сигналов импеданс, равный половине импеданса входящего дифференциального кабеля.
  • Каждая из двух сигнальных линий корректно подключена к приемнику с собственным характеристическим импедансом.
  • Две линии должны иметь длину, одинаковую в пределах, допустимых семейством микросхем и используемой в проекте частотой. Необходимо уделить внимание сохранению синхронизации и согласованию длин, достаточному для соответствия допустимой в проекте разности фаз. Пример допуска на длину: быстродействующий проект USB, длина должна быть согласована в пределах 150 милов (3,81 мм); синхронизирующие сигналы DDR2 должны быть согласованы в пределах 25 милов (0,635 мм).
  • Используйте одновременную трассировку двух сигналов для достижения согласования длины. При необходимости допускается разделить трассы для обхода препятствий.
  • Допускается изменение слоя, пока поддерживаются импедансы сигналов.

Для получения более подробной информации обратитесь к статье Differential Signaling Doesn't Require Differential Impedance, автор Lee W. Ritchey, доступной по ссылке https://speedingedge.com/home/related-articles/.

Перейдите по ссылке, чтобы узнать о Быстродействующих проектах в Altium Designer.

Перейдите по ссылке, чтобы узнать о Трассировке с контролируемым импедансом в Altium Designer.

Определение дифференциальной пары на схеме

Определение дифференциальной пары на схеме осуществляется размещением директивы Differential Pair (Place » Directive) на каждой цепи пары. Обратите внимание, что цепи пары должны быть поименованы метками цепей с суффиксами _N и _P. Размещение директивы Differential Pair на каждой цепи пары применяет к ним параметр с именем (Name) DifferentialPair и значением (Value) True.

Определения дифференциальных пар передаются на плату в процессе синхронизации.

Размещение директив на схеме для определения дифференциальной пары. Размещение директив на схеме для определения дифференциальной пары.

Чтобы применить директиву к объекту цепи, разместите объект Parameter Set, чтобы он касался объекта цепи, как показано выше. Система обнаруживает правило проектирования и/или класс именно в объекте Parameter Set и затем передает их на плату в процессе синхронизации. Чтобы узнать больше, перейдите на страницу объекта Parameter Set.

Использование директивы Blanket для определения множества пар

Если необходимо определить большое количество пар, существует альтернативный подход – размещение директивы Blanket, что позволяет применять директивы ко множеству цепей, которые находятся под Blanket (система обнаруживает цепи, электрические точки объектов Net Label которых находятся в пределах Blanket). Затем директиву Blanket достаточно пометить одной директивой Differential Pair, как показано на рисунке ниже.

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

Директиву Blanket можно использовать для определения множества цепей как элементов дифференциальных пар.
Директиву Blanket можно использовать для определения множества цепей как элементов дифференциальных пар.

Передача дифференциальных пар в редактор плат

Если директивы Differential Pair размещены на цепи в схеме, то согласно настройкам проекта по умолчанию элементы дифференциальных пар будут созданы на плате. Для настройки используются следующие параметры в диалоговом окне Options for PCB Project:

  • Вкладка ComparatorExtra Differential Pairs (тогда для последующих обновлений будет осуществляться проверка различий дифференциальных пар и настроек правил, если будут созданы/изменены правила проектирования).
  • Вкладка ECO GenerationAdd Differential Pair (тогда для последующих обновлений будет осуществляться проверка изменений дифференциальных пар и настроек правил, если будут созданы/изменены правила проектирования).
  • Вкладка Class GenerationGenerate Net Classes (если вы создаете классы цепей для определения области действия правила Differential Pair Routing).

Просмотр и управление дифференциальными парами на плате

Просматривать определения дифференциальных пар и управлять ими можно в панели PCB в режиме Differential Pairs Editor. На изображении ниже показаны пары, принадлежащие классу RIODiffPairs. Пара V_RX0 выделена, цепи в этой паре: V_RX0_N и V_RX0_P. Знаки "-" и "+" возле названий цепей являются системными метками, указывающими положительный или отрицательный элемент пары.

Просматривать определения дифференциальных пар и управлять ими можно в панели PCB в режиме Differential Pair Editor. Щелкните ПКМ в области Classes для создания нового класса. Просматривать определения дифференциальных пар и управлять ими можно в панели PCB в режиме Differential Pair Editor. Щелкните ПКМ в области Classes для создания нового класса.

Определение дифференциальных пар на плате

Дифференциальные пары можно определять как на схеме, так и в редакторе плат. Для создания объекта дифференциальной пары нажмите кнопку Add в панели PCB в режиме Differential Pairs Editor. В открывшемся диалоговом окне Differential Pair выберите существующие цепи для положительной и отрицательной цепи пары, укажите название пары и нажмите OK. Обратите внимание, что в качестве элементов дифференциальной пары можно выбрать любые две цепи, определенные в редакторе плат.

Быстрое создание пар по именованным цепям. Быстрое создание пар по именованным цепям.

При создании пар из цепей с последовательной схемой именования (т.е. у них общий префикс и соответствующий положительной и отрицательной цепи суффикс, например TX0_P и TX0_N) можно использовать диалоговое окно Create Differential Pairs From Nets. Нажмите кнопку Create From Nets в панели PCB, чтобы открыть это диалоговое окно, затем используйте фильтры в верхней части диалогового окна, чтобы отобразить пары цепей на основе существующих имен цепей.

Определение класса дифференциальной пары

Зачастую необходимо, чтобы в область действия правила попадало более одной дифференциальной пары. В этой ситуации можно определить класс дифференциальных пар, объединив их таким образом в логическую группу. Определение классов осуществляется в диалоговом окне Object Class Explorer (Design » Classes).

Создание классов дифференциальных пар для упрощения процесса создания правил проектирования, применяемых к этим парам.Создание классов дифференциальных пар для упрощения процесса создания правил проектирования, применяемых к этим парам.

Также можно создать новый класс дифференциальных пар щелчком ПКМ в области Classes панели PCB в режиме Differential Pairs Editor.

Использование xSignals с дифференциальными парами

Если на пути сигнала дифференциальной пары есть последовательные элементы, будет полезно создать объекты xSignal. Объект xSignal – это заданный конструктором путь сигнала между двумя узлами, которые могут быть двумя узлами внутри одной цепи или двумя узлами разных цепей. С помощью xSignal можно определить путь сигнала, который включает в себя цепи по обе стороны от последовательного компонента, а также сам компонент. Расчеты длины трассировки для xSignal включают в себя длину пути, проходящего через последовательный компонент, показываемый тонкой линией при выборе объекта xSignal в режиме xSignals панели PCB.

Эти дифференциальные пары были определены как объекты xSignal. Длина трассировки включает в себя последовательный компонент. ##Эти дифференциальные пары были определены как объекты xSignal. Длина трассировки включает в себя последовательный компонент. ##

Объекты xSignals можно использовать для определения области действия правил проектирования, в том числе правил Matched Length и Length. Чтобы узнать больше, обратитесь к странице Определение путей быстродействующих сигналов с помощью объектов xSignal.

Применимые правила проектирования

Для интерактивной трассировки дифференциальной пары создайте и настройте указанные ниже правила проектирования в диалоговом окне PCB Rules and Constraints Editor (Design » Rules):

  • Правило Differential Pairs Routing – определяет ширину трасс цепей в паре, зазор между трассами в паре и общую несвязанную длину (пара становится несвязанной, если зазор больше значения Max Gap). Задайте область действия правила, чтобы оно действовало на дифференциальную пару, например IsDifferentialPair или InDifferentialPairClass('All Differential Pairs'). Обратите внимание, что настройка зазора используется при размещении, но не при проверке правил проектирования. В ходе проверки правил, расстояние между цепями проверяется согласно применяемому правилу Electrical Clearance.
  • Правило Electrical Clearance – определяет минимальный зазор между любыми двумя объектами (например, между контактными площадками или между трассой и контактной площадкой) любых цепей, в одной цепи или в различных цепях. Задайте область действия этого правила, чтобы оно действовало на элементы дифференциальной пары, например InDifferentialPair.

Важное примечание: в ходе трассировки дифференциальной пары, зазор между цепями в паре определяется настройкой Gap, заданной в применяемом правиле Differential Pair Routing. Однако в ходе проверки проектных правил, проверка всех электрических объектов осуществляется на основе применяемого правила Electrical Clearance. Если цепи в паре расположены друг к другу на расстоянии, меньшем допустимого в применяемом правиле Electrical Clearance, будет необходимо добавить дополнительное правило Electrical Clearance, действующее на дифференциальные пары и допускающее зазор, равный настройке Gap. Также типы цепей этого правила должны быть настроены для проверки в одной дифференциальной паре (Same Differential Pair), как показано на этом изображении.

Настройка области действия правил проектирования

Область действия правил проектирования определяет набор объектов, к которым это правило должно быть применено. Поскольку дифференциальная пара является объектом, можно использовать запросы, примеры которых приведены ниже:

  • InAnyDifferentialPair – объект в любой дифференциальной паре.
  • InDifferentialPair('D_V_TX1') – указывает на обе цепи в дифференциальной паре под названием D_V_TX1.
  • InDifferentialPairClass('All Differential Pairs') – указывает на все цепи во всех парах, принадлежащих классу All Differential Pairs.
  • (IsDifferentialPair And (Name = 'D_V_TX1')) – указывает на объект дифференциальной пары под названием D_V_TX1.
  • (IsDifferentialPair And (Name Like 'D*')) – указывает на все объекты дифференциальных пар, название которых начинается с буквы D.

Использование мастера для определения правила

Нажмите кнопку Rule Wizard в режиме Differential Pairs Editor (панель PCB), чтобы в последовательном процессе настроить требуемые правила проектирования. Обратите внимание, что область действия создаваемых правил зависит от того, что выделено при нажатии на кнопку Rule Wizard – если была выделена одна пара, то правила будут действовать на цепи этой пары, но если был выбран класс дифференциальных пар, то правила будут действовать на цепи и все пары в этом классе.

Трассировка дифференциальной пары

Дифференциальные пары трассируются именно как пары, т.е. трассировка двух цепей осуществляется одновременно. Для трассировки дифференциальной пары выберите команду Interactive Differential Pair Routing из меню Route. Затем необходимо выбрать одну из цепей пары – нажмите по любой из них, чтобы начать трассировку. На анимации ниже показана трассировка дифференциальной пары.

Трассировка цепей в дифференциальной паре осуществляется одновременно.Трассировка цепей в дифференциальной паре осуществляется одновременно.

В процессе трассировки дифференциальной пары доступны стандартные режимы разрешения конфликтов, в том числе Walkaround, Push, Hug and Push и Ignore obstacles.

Нажмите:

  • Сочетание клавиш Shift+R для циклического переключения между режимами разрешения конфликтов
  • Сочетание клавиш Shift+Пробел для циклического переключения между доступными режимами углов:
    • Угол 45 градусов
    • Дуга 45 в углу
    • Угол 90 градусов
    • Дуга 90 градусов в углу
  • Для изменения слоя и добавления переходных отверстий:
    • Нажмите клавишу * на цифровой клавиатуре
    • Используйте сочетание Ctrl + Shift + Вращение колеса мыши
  • Нажмите клавишу 5 для переключения между доступными расположениями переходных отверстий
  • Shift+F1 для отображения всех доступных для команды сочетаний клавиш
  • В режимах размещения дуг в углах нажимайте клавишу для уменьшения максимального радиуса дуги и для увеличения максимального радиуса дуги. Размер дуги можно изменять интерактивно с помощью перемещения курсора. Эта настройка определяет максимально допустимый радиус, который отображен в строке состояния в процессе трассировки.

Многие функции трассировки дифференциальных пар аналогичны функциям интерактивной трассировки одиночных цепей. Чтобы узнать больше о трассировке, перейдите на страницу Интерактивная трассировка.

Улучшение качества трассировки

Редактор плат включает в себя мощные инструменты для улучшения качества существующих трасс. Инструменты, известные как Glossing (Сглаживание) и Retracing (Повторная трассировка), доступны в меню Route.

  • Gloss (Сглаживание) – направлено на улучшение геометрии трасс, уменьшая количество изломов и общую длину трасс. Сглаживание сохраняет ширину существующих трасс и зазор в дифференциальной паре.
  • Retrace (Повторная трассировка) – предполагает, что геометрия соответствует требованиям, и направлена на согласование существующей трассировки с правилами проектирования. В то время как сглаживание сохраняет ширину существующих трасс и зазоры дифференциальных пар, повторная трассировка обновляет эти значения до предпочтительных (Preferred). Повторная трассировка является эффективным инструментом в тех случаях, когда правило проектирования было изменено, и это изменение необходимо применить к существующим трассам.

Чтобы узнать больше об инструментах Gloss и Retrace, перейдите на страницу Сглаживание и повторная трассировка.

На анимации в предыдущем разделе, Трассировка дифференциальной пары, показана простая демонстрация сглаживания.

Стратегии выделения трасс

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

Выделение внутри и на границе рамки

В редакторе плат можно выделять объекты, полностью попадающие в рамку, либо те, которые попадают в рамку и на ее границу. Режим зависит от направления перемещения мыши в процессе выделения объектов рамкой:

Режим Select Within – зажмите мышь и перемещайте ее слева направо для создания синей рамки и выделения всех видимых незаблокированных объектов, полностью попадающих в границы рамки.
Режим Select Touching – зажмите мышь и перемещайте ее справа налево для создания зеленой рамки и выделения всех видимых незаблокированных объектов, которые попадают в рамку и на ее границу.

Расширение набора выделенных трасс

Обычной ситуацией является необходимость выделения множества объектов, которые касаются, например, сегмента трассы разведенной цепи или линии соединения неразведенной цепи. Относительно простой задачей является выделение набора сегментов трасс, которые идут параллельно друг другу, с помощью рамки, касающейся этих сегментов (Select Touching), как описано выше. Но интерактивное выделение целых трасс может оказаться затруднительным.

Но это можно легко сделать – выберите один или несколько сегментов и затем расширьте выделенный набор, включив в него касающиеся трассы, с помощью клавиши Tab, как показано на видео ниже.

Чтобы выделять только линии соединения, зажмите Alt и щелкайте по линиям мышью или выделяйте их рамкой.

Демонстрация способов выделения трасс

Демонстрация способов выделения.

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

Интерактивное изменение трасс дифференциальной пары

При трассировке может возникнуть множество случаев, когда будет необходимо изменить существующие трассы – например, выходы из контактных площадок могут не понравиться вам, и вы заходите изменить их форму (как показано на анимации ниже). Хотя и возможно изменить существующие трассы с помощью перетаскивания сегментов, зачастую проще выполнить трассировку повторно.

Для этого выберите команду Place » Interactive Differential Pair Routing, затем щелкните по какой-либо существующей трассе. Проложите новый путь трассы и вернитесь на существующую трассу, где это необходимо. Будет создана петля со старым и новым путями, и после щелчка ПКМ или нажатия Esc для завершения трассы лишние сегменты будут автоматически удалены, в том числе и лишние переходные отверстия. Трассировка дифференциальных пар несколько отличается от трассировки одиночных цепей. В процессе трассировки одиночной цепи, последний сегмент отображается контуром (упреждающий сегмент), и он не размещается при щелчке ЛКМ. Трассировка дифференциальных пар не включает в себя упреждающие сегменты, поэтому при щелчке ЛКМ будут размещены все видимые сегменты. Наведите курсор, чтобы убедиться в отсутствии лишних сегментов.

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

Использование удаления петель для интерактивной повторной трассировки дифференциальной пары – простая трассировка вдоль нового пути, с автоматическим удалением старого пути. Пары можно изменить путем перетаскивания одной из цепей с расталкиванием другой (Shift+R в процессе перетаскивания для изменения режима).Использование удаления петель для интерактивной повторной трассировки дифференциальной пары – простая трассировка вдоль нового пути, с автоматическим удалением старого пути. Пары можно изменить путем перетаскивания одной из цепей с расталкиванием другой (Shift+R в процессе перетаскивания для изменения режима).

Чтобы узнать больше, перейдите на страницу Изменение трассировки.

Отображение доступных зазоров

Бывали случаи, когда трассу было невозможно проложить через какой-нибудь зазор, и вы не могли понять почему? Такая путаница еще более вероятна при трассировке дифференциальных пар. В Altium Designer существует возможность для помощи в таких ситуациях под названием динамическое отображение границ зазоров. Когда эта функция включена, области, определяемые существующими объектами + применяемым правилом для зазоров, отображаются в виде затененного полигона внутри локальной круглой области. Нажмите Ctrl+W для включения или отключения этой функции.

Динамическое отображение границ зазоров в процессе размещения дифференциальной пары.Динамическое отображение границ зазоров в процессе размещения дифференциальной пары.

Отображаемую область можно ограничить кругом вокруг текущего положения курсора, либо отобразить на всем экране. Это определяет параметр Reduce Display clearance area на странице PCB Editor - Interactive Routing диалогового окна Preferences.

Согласование длин дифференциальных пар

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

В процессе трассировки дифференциальной пары, длина каждой из двух цепей отображается в строке состояния, а также в информационном окне Head-Up display (Shift+H для включения/отключения). Значения длин, отображаемые в панели PCB обновляются при выходе из трассировки пары.

Текущая длина трасс каждой цепи в паре отображается в информационном окне Head-Up display (Shift+H для включения/отключения).Текущая длина трасс каждой цепи в паре отображается в информационном окне Head-Up display (Shift+H для включения/отключения).

Правила проектирования Matched Length и Length

Для обеспечения требований к времени прохода сигналов и синхронизации можно задать правила проектирования Length и Matched Length. Эти правила можно использовать как в процессе проверки правил проектирования (DRC), так и при интерактивной подстройке длины.

Правило Matched Length обнаруживает наиболее длинную пару, попадающую в область действия правила, и использует значение средней длины (Average Length) этой пары в качестве базы для сравнения с другими целевыми парами, требуя чтобы их длины попадали в допуск, определенный в этом правиле. Значение Average Length показано на странице Differential Pairs Editor в панели PCB.

Правила проектирования внутри пары и между парами

Могут быть требования к согласованию длины между парами, а также внутри каждой пары.

Для этого необходимо создать подходящее правило проектирования Matched Length:

  1. Создайте правило проектирования Matched Length, которое необходимо применить между множеством пар. Задайте область действия правила, чтобы применить его к требуемым парам, как показано на изображении ниже слева. Убедитесь, что включен параметр Group Matched Length.
  2. Создайте еще одно правило Matched Length, которое необходимо применить внутри пары – это правило обеспечит соответствие длин двух цепей внутри каждой пары с необходимым допуском. Область действия этого правила также необходимо определить таким образом, чтобы оно действовало на требуемые пары, как показано на изображении ниже справа. Приоритет этого правила должен быть выше, чем у правила, применяемого между парами. Убедитесь, что включен параметр Within Differential Pair Length.

Для дифференциальных пар было определено два правила согласования длины – одно между парами (слева), другое внутри пар (справа). Для дифференциальных пар было определено два правила согласования длины – одно между парами (слева), другое внутри пар (справа).

Подстройка длины дифференциальных пар

Подстройка длины пар и цепей внутри каждой пары осуществляется с помощью двух команд подстройки длины. Для подстройки длины:

  1. Длина дифференциальной пары может быть точно подстроена с помощью команды Interactive Diff Pair Length Tuning (меню Route). В процессе подстройки можно использовать сочетания для интерактивного изменения стиля и размера меандра, либо использовать клавишуTab для перехода панель Properties в режиме Differential Pair Length Tuning. В панели целевая длина определяется:
    • Вручную – введите значение в поле Target Length.

    • Из выбранной пользователем существующей дифференциальной пары.

    • Из применяемого правила проектирования Length и Matched Length.

  2. Для подстройки цепи внутри пары используйте команду Interactive Length Tuning (меню Route). При попытке подстроить длину более длинной цепи в паре появится сообщение Target Length Shorter than Old Length (Целевая длина меньше старой длины).

Сначала подстройте длины дифференциальных пар, затем длину более короткой цепи внутри пары.Сначала подстройте длины дифференциальных пар, затем длину более короткой цепи внутри пары.

Если в процессе подстройки длины не появляются меандры, нажмите клавишу Tab, чтобы открыть панель Properties в режиме Differential Pair Length Tuning и убедитесь, что параметры в области Pattern корректны. Например, если значение Max Amplitude очень большое, система может не разместить меандр.

Перейдите на страницу Подстройка длины, чтобы узнать больше. Здесь вы сможете найти подробный список сочетаний для изменения стиля, амплитуды и шага меандра. На той странице также приводится объяснение, каким образом система решает, какому правилу следовать, если настройки правил проектирования Length и Matched Length перекрывают друг друга.

Удаление меандра

Меандры для подстройки длины дифференциальной пары состоят из множества коротких сегментов трасс и дуг. Их можно выделить и удалить вручную, но как правило более эффективно провести новую трассу поверх них – функция удаления петель удалит лишний сегменты трасс/дуг.

Использование удаления петель для удаления меандров.Использование удаления петель для удаления меандров.

Для дальнейшего изучения

## Благодарность Роберту Феранеку (Robert Feranec) из FEDEVEL Academy (www.fedevel.com) за использование платы iMX6 Rex в качестве изображений на этой странице (http://www.imx6rex.com/).

Примечание

Доступные функциональные возможности зависят от вашего уровня Подписки на ПО Altium Designer.

Content