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

Подготовка к трассировке дифференциальных пар
Прежде чем заниматься непосредственно прокладкой проводников дифференциальных пар, необходимо совершить ряд подготовительных действий:
- Определить, какие сигналы являются дифференциальными парами.
- Выполнить ряд настроек файла проекта.
- Выполнить настройку правила типа Differential Pairs Routing.
Определение дифференциальных пар
Определение дифференциальных пар, как правило, производится в редакторе схем. Для этого в общем случае необходимо выполнить два действия: присвоить цепям имена по определённому правилу, а также с помощью специального маркера указать, какие цепи входят в дифференциальные пары.

Присвоение имён цепям дифференциальной пары производится по следующему правилу: имя каждой цепи пары должно состоять из имени дифференциальной пары и суффикса «_P» для неинвертированного сигнала или суффикса «_N» для инвертированного сигнала (см. рис. 2 и рис. 3) [1].

Упомянутый выше маркер представляет собой директиву Differential Pair. Чтобы указать, какие из сигналов схемы входят в дифференциальные пары, необходимо выполнить команду Place → Directives → Differential Pair и после этого щелчками ЛКМ установить маркеры на соответствующие цепи. Необходимо заметить, что директивы должны быть установлены на каждой цепи, входящей в дифференциальную пару (см. рис. 2). Чтобы закончить установку маркеров, нужно щёлкнуть ПКМ или нажать клавишу ESC [1, 2].
Если на схеме присутствует большое количество дифференциальных пар, то можно воспользоваться групповой директивой Blanket. Для этого необходимо выполнить команду Place → Directives → Blanket и после этого серией щелчков ЛКМ сформировать вокруг соответствующих меток цепей групповую директиву. Чтобы закончить формирование этой директивы, необходимо щёлкнуть ПКМ или нажать клавишу ESC [1, 3]. После этого остаётся лишь «подцепить» к групповой директиве Blanket директиву Differential Pair (см. рис. 3).
Помимо указания цепей дифференциальных пар, директива Differential Pair имеет также ещё ряд возможностей, реализуемых с помощью панели Properties, содержащей опции директивы (см. рис. 4).

В верхней части панели расположены поля ввода (X/Y), отображающие координаты расположения директивы по осям X и Y соответственно. Здесь же эти координаты можно вручную отредактировать. Ниже расположено выпадающее меню, с помощью которого можно повернуть директиву на 90, 180 или 270° или вернуть её в положение 0°. Ещё ниже расположена область Properties, которая содержит поле ввода Label, где отображается имя директивы.
Под областью Properties находится область Rules, с помощью которой на этапе формирования схемы можно задавать правила, которые вместе с остальными данными схемы будут переданы в документ ПП. Для формирования правила нужно нажать расположенную в нижнем правом углу области кнопку Add, в результате чего откроется окно Choose Design Rule Type, где нужно указать, к какому типу относится формируемое правило (в данном случае – Routing → Differential Pairs Routing). После выбора типа и нажатия кнопки OK окно Choose Design Rule Type закроется, а вместо него откроется окно Edit PCB Rule (From Schematic) – Differential Pairs Routing Rule. Настройка правил данного типа будет рассмотрена далее. Для редактирования уже существующего правила необходимо нажать расположенную в том же углу кнопку с изображением карандаша, а для удаления – кнопку с изображением корзины.
С помощью директивы Differential Pair можно не только указывать, какие цепи входят в дифференциальные пары, но и формировать классы цепей. Для этого предназначена область Classes, расположенная ниже области Rules. Чтобы задать класс, необходимо нажать расположенную в нижнем правом углу кнопку Add – в результате в области Classes появится строка нового класса, а в её графе Class Name необходимо будет установить соответствующее имя класса. Расположенная в том же углу кнопка с изображением корзины предназначена для удаления существующего класса. Следует добавить, что в данном случае формируется общий класс цепей типа Net Class, а не класс цепей дифференциальных пар типа Differential Pair Classes [2].
Необходимо заметить, что создание правил с помощью директивы Differential Pair имеет свои особенности. Так, если правило создаётся с помощью директивы, помещаемой на цепь, то оно создаётся исключительно для данной цепи, независимо от того, создаётся ли с помощью той же директивы класс цепи. В то же время, если правило создаётся с помощью директивы, помещаемой на групповую директиву Blanket, то возможны два варианта:
- С помощью директивы одновременно создаётся и правило, и класс цепей – в таком случае формируется одно правило для класса цепей.
- С помощью директивы создаётся только правило – в таком случае формируется столько правил, сколько цепей охватывает групповая директива, т.е. по одному правилу на каждую цепь.
Кроме описанной выше, существует также возможность определения дифференциальных пар на этапе трассировки ПП в PCB-редакторе – этот способ будет рассмотрен позже [1].
Настройки проекта
После того как все дифференциальные пары были определены, информацию об этом нужно передать в файл ПП. Для того чтобы передача этой информации была произведена без ошибок, необходимо убедиться, что проект настроен правильным образом. Для этого с помощью команды Project → Project Options… нужно открыть окно Options for PCB Project… после чего необходимо:
- убедиться, что на вкладке ECO generation в строке параметра Add Differential Pair выставлено значение Generate Change Orders [4];
- убедиться, что на вкладке Comparator в строке параметра Extra Differential Pairs выставлено значение Find Differences [5];
- на вкладке Class Generation поставить галочку напротив пункта Generate Net Classes [6].
Настройка правила Differential Pairs Routing
После того как данные со схемы были переданы в документ ПП, для работы с дифференциальными парами необходимо настроить одно или несколько правил типа Differential Pairs Routing. В окне редактора правил PCB Rules and Constraints Editor все правила данного типа можно найти в разделе Routing → Differential Pairs Routing (см. рис. 5).

Настройка правила производится с помощью опций, представленных в области Constraints. На схематическом отображении дифференциальной пары представлены следующие опции:
- Min Width – минимально допустимая ширина проводников;
- Min Gap – минимально допустимый зазор между проводниками;
- Preferred Width – предпочитаемая ширина проводников;
- Preferred Gap – предпочитаемый зазор между проводниками;
- Max Width – максимально допустимая ширина проводников;
- Max Gap – максимально допустимый зазор между проводниками;
- Max Uncoupled Length – максимально допустимая несогласованная длина проводников.
Ниже схематического отображения дифференциальной пары находится таблица, с помощью которой можно отредактировать те же значения раздельно для каждого слоя [7].
Прокладка проводников дифференциальной пары
В общем случае после того как все вышеописанные действия были выполнены, можно приступать к прокладке проводников дифференциальных пар. Трассировка дифференциальных пар аналогична трассировке отдельных проводников.

Для выполнения данной задачи необходимо выполнить следующие действия:
- Запустить команду Route → Interactive Differential Pair Routing (горячие клавиши U → I) или щёлкнуть ЛКМ по расположенной на панели инструментов пиктограмме – среда AD перейдёт в режим трассировки дифференциальной пары, а курсор, в зависимости от настроек, примет вид большого или малого перекрестия под углом 90° или малого перекрестия под углом 45°.
- Щёлкнуть ЛКМ в начальной точке прокладываемых проводников – в результате среда AD перейдёт в режим прокладки проводников дифференциальной пары.
- Проложить проводники серией щелчков ЛКМ в их узловых точках (см. рис. 6).
- Закончить трассировку.
Как уже упоминалось выше, процесс трассировки дифференциальных пар аналогичен процессу трассировки отдельного проводника. Это касается таких действий, как выбор ширины проводников, работа с углами, завершение прокладки проводников и т.п. Все настройки интерактивной трассировки в полной мере относятся и к трассировке дифференциальных пар [11]. По упомянутой причине повторно описывать весь процесс не имеет смысла, стоит остановиться подробнее только на его особенностях.

При прокладке проводников дифференциальной пары создаются одновременно два проводника: для инвертированного и неинвертированного сигналов. Ширина проводников и зазор между ними определяются правилом типа Differential Pairs Routing. Совершенно не имеет значения, к какому из двух сигналов относится элемент топологии, выбранный в качестве начальной точки, – в процессе прокладки будут формироваться одновременно оба проводника. В случае если элементы, от которых отводятся новые проводники, находятся друг от друга на большем расстоянии, чем определённый правилом зазор, то среда AD автоматически формирует отвод проводников дифференциальной пары от подобных элементов топологии (см. рис. 7) [1].
Панель Properties в режиме трассировки дифференциальной пары
Поскольку трассировка дифференциальных пар аналогична трассировке отдельных цепей, то и содержимое панели Properties в режиме трассировки дифференциальных пар очень близко к содержимому панели в режиме трассировки отдельных проводников. В связи с тем что содержимое этой панели было подробно рассмотрено в первой части статьи [11], следует рассмотреть лишь отличия, имеющиеся в данном режиме.

В области Net Information (см. рис. 8) отображаются: в строке Diff. Pair – имя дифференциальной цепи, а в строке Diff. Pair Class – имя класса дифференциальной цепи.

Основные отличия области геометрических настроек в режиме прокладки дифференциальных пар (см. рис. 9) состоят в том, что, во-первых, в поле схематического отображения представлено изображение дифференциальной пары, а во-вторых, в поле, содержащем настройки ширины, добавлено выпадающее меню Gap, с помощью которого можно выбрать минимальный, предпочтительный или максимальный зазор между проводниками в соответствии с правилом типа Differential Pairs Routing.

И последнее: в области Rules кнопка, открывающее окно редактирования правила типа Width Rule, заменена кнопкой, открывающей окно редактирования правила типа Differential Pair Rule, а в области Visualization отсутствует кнопка, включающая индикатор длины проложенного проводника (см. рис. 10) [1].
Панель PCB в режиме Differential Pairs Editor
Ещё одним крайне полезным в процессе работы над дифференциальными парами инструментом является панель PCB в режиме Differential Pairs Editor. Данная панель позволяет отслеживать, добавлять, удалять и редактировать дифференциальные цепи, а также формировать новые правила (см. рис. 11).

В верхней части панели расположена область …Differential Pair Classes, в которой отображаются присутствующие в документе ПП классы дифференциальных цепей. При выделении в данной области одного из классов в расположенной ниже области …Differential Pairs отображаются все цепи, относящиеся к выбранному классу. Ещё ниже расположена область …Nets, в которой отображаются цепи (и их характеристики), входящие в дифференциальную пару, выделенную в области
…Differential Pairs [8].
Ранее уже упоминалось, что дифференциальные пары можно определять не только на этапе проектирования схем, но и средствами редактора ПП. В данном случае, так же, как и при работе над схемой, существует два способа определения дифференциальных цепей – определение отдельной дифференциальной пары и групповое определение дифференциальных пар.
Для определения одиночной дифференциальной цепи необходимо нажать кнопку Add, которую можно найти в нижней части области …Differential Pairs, после чего откроется окно Differential Pair (см. рис. 12).

С помощью выпадающих меню Positive Net и Negative Net необходимо выбрать цепи неинвертированного и инвертированного сигналов соответственно. С помощью поля ввода Name нужно задать имя дифференциальной пары. После нажатия кнопки OK будет создана новая дифференциальная пара. Необходимо заметить, что в данном случае правило наименования сигналов дифференциальной пары не применяется: имена обоих сигналов могут быть абсолютно любыми [9].
В нижней части области …Differential Pairs, помимо кнопки Add, расположены также кнопки Delete и Edit. Очевидно, что первая предназначена для удаления выбранной дифференциальной пары, а вторая – для редактирования.
В случае необходимости группового определения дифференциальных пар средствами редактора ПП соответствующие цепи должны также иметь имена, сформированные по определённому правилу. Однако в данном случае такое правило несколько отличается: если имя дифференциальной пары в именах обеих цепей также должно быть одинаковым, то суффиксы, определяющие неинвертированный и инвертированный сигналы, могут быть любыми, отличными от «_P» и «_N».

Чтобы в документе ПП определить группу дифференциальных пар, необходимо нажать кнопку Create From Nets, расположенную в нижней части области …Nets. В результате откроется окно Create Differential Pairs From Nets (см. рис. 13). В верхней части данного окна расположена строка Create nets from class … differing … by … to create differential pair with prefix... С помощью опций, представленных в данной строке, формируются условия для поиска цепей, которые должны войти в дифференциальные пары. Если двигаться по строке слева направо, то первым размещено выпадающее меню, с помощью которого можно ограничить список цепей определённым классом. Далее, между словами «differing» и «to» находятся два поля ввода, в которые необходимо вручную ввести суффиксы, определяющие неинвертированный и инвертированный сигналы. В конце строки расположено поле ввода, позволяющее при необходимости ввести префикс, который будет добавлен к имени каждой дифференциальной пары.
Ниже указанной строки расположено поле ввода с выпадающим меню Create differential pairs in class – здесь можно ввести имя нового или выбрать имя уже существующего класса типа Differential Pair Classes. В таком случае все формируемые дифференциальные пары будут отнесены к заданному классу.
Основную часть окна Create Differential Pairs From Nets занимает таблица, в которой в соответствии с настройками отображается информация о предполагаемых дифференциальных парах. Данная таблица содержит следующие графы:
- Differential Pair Name – предполагаемое имя дифференциальной пары;
- Positive Net – имя неинвертированной цепи;
- Negative Net – имя инвертированной цепи;
- Create – пункт, определяющий, будет ли сформирована дифференциальная пара.
После нажатия кнопки Execute редактор ПП в соответствии с выполненными настройками сформирует группу дифференциальных пар [10].
В нижней части области …Nets рядом с кнопкой Create From Nets расположена кнопка Rule Wizard, с помощью которой запускается помощник для формирования соответствующих правил [8].
Трассировка групп цепей
Прокладка группы проводников
Трассировка групп цепей также мало чем отличается от трассировки отдельной цепи [11].

В общем случае для выполнения данной процедуры необходимо выполнить следующие действия:
- Выбрать элементы топологии, подключённые к цепям, которые будут трассироваться.
- Запустить команду Route → Interactive Multi-Routing (горячие клавиши U → M) или щёлкнуть ЛКМ по расположенной на панели инструментов пиктограмме – среда AD перейдёт в режим трассировки, а курсор, в зависимости от настроек, примет вид большого или малого перекрестия под углом 90° или малого перекрестия под углом 45°.
- Щёлкнуть ЛКМ по любому из выбранных на первом этапе элементов топологии – в результате среда AD перейдёт в режим прокладки группы проводников.
- Проложить группу проводников серией щелчков ЛКМ в их узловых точках (см. рис. 14).
- Закончить трассировку.
За исключением очевидных отличий, все аспекты интерактивной трассировки – режимы угла, настройки, ширина проводников и т.п. – в полной мере относятся и к трассировке групп цепей.
Панель Properties в режиме трассировки группы цепей
По причине схожести процессов трассировки отдельной цепи [11] и группы цепей содержимое панели Properties в соответствующих режимах отличается незначительно. Первое, что бросается в глаза, – отсутствие области Net Information. Если двигаться далее вниз, можно заметить следующее отличие: под областью, задающей ширину проводников, находится область, которая содержит поле ввода Bus Spacing. Это поле предназначено для определения величины зазора между одновременно трассируемыми проводниками. Под данным полем расположена кнопка From Rule, подгружающая величину зазора из правила типа Electrical → Clearance (см. рис. 15). Кроме того, в области Interactive Routing Options отсутствует пункт Pin Swapping. И последнее отличие – отсутствие областей Rules и Visualization.

В двух частях статьи были описаны основные принципы, инструменты и настройки интерактивной трассировки. В третьей части будут рассмотрены правила, которые непосредственно связаны с прокладкой проводников, а также инструменты редактирования проложенных проводников.
Литература
- Altium. Documentation 2018. Differential Pair Routing: www.altium.com
- Altium. Documentation 2018. Parameter Set: www.altium.com
- Altium. Documentation 2018. Blanket: www.altium.com
- Altium. Documentation 2018. Project Options – ECO Generation: www.altium.com
- Altium. Documentation 2018. Project Options – Comparator: www.altium.com
- Altium. Documentation 2018. Project Options – Class Generation: www.altium.com
- Altium. Documentation 2018. Differential Pairs Routing: www.altium.com
- Altium. Documentation 2018. PCB – Differential Pairs Editor: www.altium.com
- Altium. Documentation 2018. Differential Pair: www.altium.com
- Altium. Documentation 2018. Create Differential Pairs From Nets: www.altium.com
- Якубенко А. Интерактивная трассировка. Часть 1. Трассировка отдельной цепи. Современная электроника. 2018. № 3.
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

