Трассировка дифференциальных пар
Главная страница: Трассировка
В дифференциальной системе передача сигнала осуществляется через пару взаимосвязанных проводников, один из которых переносит сигнал, а второй – равный, но противоположный по знаку сигнал. Дифференциальная передача сигнала разработана для тех ситуаций, когда логическая «земля» источника сигнала не может быть должным образом соединена с логической «землей» нагрузки. Дифференциальная передача сигнала не восприимчива к электрическим шумам – основным помехам, присутствующим в электронных изделиях. Другим важным преимуществом дифференциальной передачи сигналов является минимизация электромагнитных излучений, создаваемых сигнальной парой.
Трассировка дифференциальной пары на плате – это метод создания сбалансированной передающей системы, способной проводить дифференциальные (прямой и противоположный) сигналы на печатной плате. Обычно эта дифференциальная трассировка будет взаимодействовать с внешней дифференциальной передающей системой, такой как соединитель или кабель.
Важно учитывать, что в то время как коэффициент связи, достигаемый в витой паре, может быть более 99%, то в трассировке дифференциальной пары он обычно меньше 50%. По мнению экспертов, задачей трассировки на плате является не достижение определенного дифференциального импеданса, а поддержание свойств, требуемых для обеспечения качественной передачи дифференциального сигнала целевому компоненту от внешнего кабеля.
Согласно Ли Ритчи (Lee Ritchey), признанному эксперту в области проектирования быстродействующих плат, успешная дифференциальная передача не требует работы с определенным дифференциальным импедансом. Требуется следующее:
- Задать каждому из трассируемых сигналов импеданс, равный половине импеданса входящего дифференциального кабеля.
- Каждая из двух сигнальных линий корректно подключена к приемнику с собственным характеристическим импедансом.
- Две линии должны иметь длину, одинаковую в пределах, допустимых семейством микросхем и используемой в проекте частотой. Необходимо уделить внимание сохранению синхронизации и согласованию длин, достаточному для соответствия допустимой в проекте разности фаз. Пример допуска на длину: быстродействующий проект USB, длина должна быть согласована в пределах 150 милов (3,81 мм); синхронизирующие сигналы DDR2 должны быть согласованы в пределах 25 милов (0,635 мм).
- Используйте одновременную трассировку двух сигналов для достижения согласования длины. При необходимости допускается разделить трассы для обхода препятствий.
- Допускается изменение слоя, пока поддерживаются импедансы сигналов.
Определение дифференциальной пары на схеме
Определение дифференциальной пары на схеме осуществляется размещением директивы Differential Pair (Place » Directive) на каждой цепи пары. Обратите внимание, что цепи пары должны быть поименованы метками цепей с суффиксами _N и _P. Размещение директивы Differential Pair на каждой цепи пары применяет к ним параметр с именем (Name) DifferentialPair
и значением (Value) True
.
Определения дифференциальных пар передаются на плату в процессе синхронизации.
Использование директивы Blanket для определения множества пар
Если необходимо определить большое количество пар, существует альтернативный подход – размещение директивы Blanket, что позволяет применять директивы ко множеству цепей, которые находятся под Blanket (система обнаруживает цепи, электрические точки объектов Net Label которых находятся в пределах Blanket). Затем директиву Blanket достаточно пометить одной директивой Differential Pair, как показано на рисунке ниже.
На этом рисунке также показано, что помимо того что цепи будут определены как элементы дифференциальных пар (с помощью директивы Differential Pair), все включенные цепи станут элементами класса цепей ROCKET_IO_LINES
и что будет создано правило Differential Pair Routing. Поскольку в этой директиве Differential Pair указан класс цепей, в редакторе плат областью действия этого правила будет класс цепей ROCKET_IO_LINES
.
Передача дифференциальных пар в редактор плат
Если директивы Differential Pair размещены на цепи в схеме, то согласно настройкам проекта по умолчанию элементы дифференциальных пар будут созданы на плате. Для настройки используются следующие параметры в диалоговом окне Options for PCB Project:
- Вкладка Comparator – Extra Differential Pairs (тогда для последующих обновлений будет осуществляться проверка различий дифференциальных пар и настроек правил, если будут созданы/изменены правила проектирования).
- Вкладка ECO Generation – Add Differential Pair (тогда для последующих обновлений будет осуществляться проверка изменений дифференциальных пар и настроек правил, если будут созданы/изменены правила проектирования).
- Вкладка Class Generation – Generate Net Classes (если вы создаете классы цепей для определения области действия правила Differential Pair Routing).
Просмотр и управление дифференциальными парами на плате
Просматривать определения дифференциальных пар и управлять ими можно в панели PCB в режиме Differential Pairs Editor. На изображении ниже показаны пары, принадлежащие классу RIODiffPairs
. Пара V_RX0
выделена, цепи в этой паре: V_RX0_N
и V_RX0_P
. Знаки "-" и "+" возле названий цепей являются системными метками, указывающими положительный или отрицательный элемент пары.
Определение дифференциальных пар на плате
Дифференциальные пары можно определять как на схеме, так и в редакторе плат. Для создания объекта дифференциальной пары нажмите кнопку Add в панели PCB в режиме Differential Pairs Editor. В открывшемся диалоговом окне Differential Pair выберите существующие цепи для положительной и отрицательной цепи пары, укажите название пары и нажмите OK. Обратите внимание, что в качестве элементов дифференциальной пары можно выбрать любые две цепи, определенные в редакторе плат.
Определение класса дифференциальной пары
Зачастую необходимо, чтобы в область действия правила попадало более одной дифференциальной пары. В этой ситуации можно определить класс дифференциальных пар, объединив их таким образом в логическую группу. Определение классов осуществляется в диалоговом окне Object Class Explorer (Design » Classes).
Использование xSignals с дифференциальными парами
Если на пути сигнала дифференциальной пары есть последовательные элементы, будет полезно создать объекты xSignal. Объект xSignal – это заданный конструктором путь сигнала между двумя узлами, которые могут быть двумя узлами внутри одной цепи или двумя узлами разных цепей. С помощью xSignal можно определить путь сигнала, который включает в себя цепи по обе стороны от последовательного компонента, а также сам компонент. Расчеты длины трассировки для xSignal включают в себя длину пути, проходящего через последовательный компонент, показываемый тонкой линией при выборе объекта xSignal в режиме xSignals панели PCB.
Применимые правила проектирования
Для интерактивной трассировки дифференциальной пары создайте и настройте указанные ниже правила проектирования в диалоговом окне PCB Rules and Constraints Editor (Design » Rules):
- Правило Differential Pairs Routing – определяет ширину трасс цепей в паре, зазор между трассами в паре и общую несвязанную длину (пара становится несвязанной, если зазор больше значения Max Gap). Задайте область действия правила, чтобы оно действовало на дифференциальную пару, например
IsDifferentialPair
илиInDifferentialPairClass('All Differential Pairs')
. Обратите внимание, что настройка зазора используется при размещении, но не при проверке правил проектирования. В ходе проверки правил, расстояние между цепями проверяется согласно применяемому правилу Electrical Clearance.
- Правило Electrical Clearance – определяет минимальный зазор между любыми двумя объектами (например, между контактными площадками или между трассой и контактной площадкой) любых цепей, в одной цепи или в различных цепях. Задайте область действия этого правила, чтобы оно действовало на элементы дифференциальной пары, например
InDifferentialPair
.
Настройка области действия правил проектирования
Область действия правил проектирования определяет набор объектов, к которым это правило должно быть применено. Поскольку дифференциальная пара является объектом, можно использовать запросы, примеры которых приведены ниже:
- 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, как показано на видео ниже.
Демонстрация способов выделения трасс
Интерактивное изменение трасс дифференциальной пары
При трассировке может возникнуть множество случаев, когда будет необходимо изменить существующие трассы – например, выходы из контактных площадок могут не понравиться вам, и вы заходите изменить их форму (как показано на анимации ниже). Хотя и возможно изменить существующие трассы с помощью перетаскивания сегментов, зачастую проще выполнить трассировку повторно.
Для этого выберите команду Place » Interactive Differential Pair Routing, затем щелкните по какой-либо существующей трассе. Проложите новый путь трассы и вернитесь на существующую трассу, где это необходимо. Будет создана петля со старым и новым путями, и после щелчка ПКМ или нажатия Esc для завершения трассы лишние сегменты будут автоматически удалены, в том числе и лишние переходные отверстия. Трассировка дифференциальных пар несколько отличается от трассировки одиночных цепей. В процессе трассировки одиночной цепи, последний сегмент отображается контуром (упреждающий сегмент), и он не размещается при щелчке ЛКМ. Трассировка дифференциальных пар не включает в себя упреждающие сегменты, поэтому при щелчке ЛКМ будут размещены все видимые сегменты. Наведите курсор, чтобы убедиться в отсутствии лишних сегментов.
При изменении дифференциальных пар вручную путем перетаскивания сегментов возможно расталкивание одного элемента пар другим, либо перемещение каждого из них независимо.
Чтобы узнать больше, перейдите на страницу Изменение трассировки.
Отображение доступных зазоров
Бывали случаи, когда трассу было невозможно проложить через какой-нибудь зазор, и вы не могли понять почему? Такая путаница еще более вероятна при трассировке дифференциальных пар. В Altium Designer существует возможность для помощи в таких ситуациях под названием динамическое отображение границ зазоров. Когда эта функция включена, области, определяемые существующими объектами + применяемым правилом для зазоров, отображаются в виде затененного полигона внутри локальной круглой области. Нажмите Ctrl+W для включения или отключения этой функции.
Отображаемую область можно ограничить кругом вокруг текущего положения курсора, либо отобразить на всем экране. Это определяет параметр Reduce Display clearance area на странице PCB Editor - Interactive Routing диалогового окна Preferences.
Согласование длин дифференциальных пар
Дифференциальные пары часто используются в быстродействующих проектах благодаря своей устойчивости к помехам и упрощению задачи получения высококачественного возвратного пути сигналов. Однако, как и для однопроводных сигналов, необходимо управлять их длинами для обеспечения требований к синхронизации.
В процессе трассировки дифференциальной пары, длина каждой из двух цепей отображается в строке состояния, а также в информационном окне Head-Up display (Shift+H для включения/отключения). Значения длин, отображаемые в панели PCB обновляются при выходе из трассировки пары.
Правила проектирования Matched Length и Length
Для обеспечения требований к времени прохода сигналов и синхронизации можно задать правила проектирования Length и Matched Length. Эти правила можно использовать как в процессе проверки правил проектирования (DRC), так и при интерактивной подстройке длины.
Правило Matched Length обнаруживает наиболее длинную пару, попадающую в область действия правила, и использует значение средней длины (Average Length) этой пары в качестве базы для сравнения с другими целевыми парами, требуя чтобы их длины попадали в допуск, определенный в этом правиле. Значение Average Length показано на странице Differential Pairs Editor в панели PCB.
Правила проектирования внутри пары и между парами
Могут быть требования к согласованию длины между парами, а также внутри каждой пары.
Для этого необходимо создать подходящее правило проектирования Matched Length:
- Создайте правило проектирования Matched Length, которое необходимо применить между множеством пар. Задайте область действия правила, чтобы применить его к требуемым парам, как показано на изображении ниже слева. Убедитесь, что включен параметр Group Matched Length.
- Создайте еще одно правило Matched Length, которое необходимо применить внутри пары – это правило обеспечит соответствие длин двух цепей внутри каждой пары с необходимым допуском. Область действия этого правила также необходимо определить таким образом, чтобы оно действовало на требуемые пары, как показано на изображении ниже справа. Приоритет этого правила должен быть выше, чем у правила, применяемого между парами. Убедитесь, что включен параметр Within Differential Pair Length.
Подстройка длины дифференциальных пар
Подстройка длины пар и цепей внутри каждой пары осуществляется с помощью двух команд подстройки длины. Для подстройки длины:
- Длина дифференциальной пары может быть точно подстроена с помощью команды Interactive Diff Pair Length Tuning (меню Route). В процессе подстройки можно использовать сочетания для интерактивного изменения стиля и размера меандра, либо использовать клавишуTab для перехода панель Properties в режиме Differential Pair Length Tuning. В панели целевая длина определяется:
-
Вручную – введите значение в поле Target Length.
-
Из выбранной пользователем существующей дифференциальной пары.
-
Из применяемого правила проектирования Length и Matched Length.
-
- Для подстройки цепи внутри пары используйте команду Interactive Length Tuning (меню Route). При попытке подстроить длину более длинной цепи в паре появится сообщение Target Length Shorter than Old Length (Целевая длина меньше старой длины).
Удаление меандра
Меандры для подстройки длины дифференциальной пары состоят из множества коротких сегментов трасс и дуг. Их можно выделить и удалить вручную, но как правило более эффективно провести новую трассу поверх них – функция удаления петель удалит лишний сегменты трасс/дуг.