Embedded HandbookПриложения
Все разделы › XVI. Печатная плата
STM32F103 · уровень продвинутый · 9 мин чтения
Открыть в интерактивном справочнике

132г. DipTrace: скоростные цепи, дифференциальные пары, переходы к заливкам

На медленной плате длина дорожки не важна. На шине внешней памяти, USB или Ethernet — важна: сигналы одной посылки должны прийти одновременно, а два провода дифференциальной пары — идти рядом всю дорогу. Этот раздел о том, как DipTrace помогает с такими цепями: выравнивание длины и меандры, задержка внутри корпуса, дифференциальные пары с сужением у BGA и подстройкой фазы. А ещё — о трёх инструментах, которые массово ставят переходные отверстия: вывод площадок к внутренним слоям (Fanout), экранирование трассы рядами переходов и сшивка заливок.

Меню и параметры сверены с руководством к установленной DipTrace 5.3 и со строками интерфейса Pcb.exe; перевод дюймов, время распространения и длина меандров посчитаны. Сверяет _verify/dip132d_check.py.

Как это называется в документации

Оригинал Перевод
length matching выравнивание длины
meander меандр: змейка для удлинения трассы
pad signal delay задержка сигнала внутри корпуса
bond wire проволочка от кристалла к выводу
differential pair дифференциальная пара
uncoupled length длина участка, где пара идёт порознь
neck-down сужение пары в тесном месте
phase tune подстройка фазы пары
fanout вывод площадок переходами к внутренним слоям
via shielding, via stitching экранирование и сшивка рядами переходов

132г.1 Выравнивание длины

Пример руководства — плата BGA_Autorouter.dip из примеров DipTrace: пять цепей шины данных между ПЛИС и памятью.

  1. Все цепи шины — в отдельный класс (в примере Memory). Галочка Length Matching by Class сразу создаёт правило, которое проверяет DRC.
  2. Сравнивать можно с фиксированной длиной (Fixed Length) или цепи друг с другом — с допуском (Tolerance). В примере — 30 мм, допуск по умолчанию становится 1,27 мм.
  3. High Speed / Length Matching — окно правила: цепи вне допуска подсвечены красным (в примере — четыре), длина пересчитывается на лету.

Допуск ±1,27 мм — это коридор шириной 2,54 мм. В руководстве написано «2.57 mm» — опечатка: 2 × 1,27 = 2,54.

Выравнивать можно и без класса: правый щелчок по цепи → Length Matching / Add Selected Nets или Compare Selected Nets Only. Но пока не нажата Create New Rule с именем правила, DRC длину не проверяет. Для цепи из нескольких площадок можно выравнивать только участок между двумя выбранными.

Сколько это во времени. Сигнал по плате из FR-4 идёт медленнее света: задержка на миллиметр равна √ε / c. Для внутреннего слоя (ε ≈ 4,3) это около 6,9 пс/мм, для внешнего слоя под воздухом эффективная ε меньше — около 3,3, то есть примерно 6,1 пс/мм. Коридор ±1,27 мм — это ±8–9 пс. Для шины SDRAM на десятках мегагерц это с большим запасом, для DDR на сотнях — уже заметная доля бюджета.


132г.2 Меандры

Удлиняют короткую трассу меандрами: High Speed / Add Meander, затем захватить трассу и оттянуть в сторону. Меандры ставятся по одному, DipTrace помогает делать их одинаковыми; вершины можно тянуть.

Сколько добавляет один виток: прямоугольный «зубец» высотой A удлиняет трассу на 2A — вверх и обратно вниз. Цепи не хватает 3 мм — при высоте 1 мм нужно два зубца (2 × 2 = 4 мм, лишний миллиметр укладывается в допуск), при высоте 1,5 мм — ровно один.

Меандр: зубец высотой A удлиняет трассу на 2A — два зубца по 1 мм или один 1,5 мм возвращают цепь, которой не хватало 3 мм, в коридор ±1,27 мм

Высота переходов и задержка в корпусе. По умолчанию длина считается по меди на плате. Кнопка настроек в окне выравнивания → Enable Layer Stackup (добавить высоту переходов из стека слоёв) и Enable Pad Delay (добавить задержку внутри корпуса). После этого трассы, которые меняют слой, могут выйти за допуск.


132г.3 Задержка внутри корпуса

От кристалла до вывода сигнал идёт по проволочке внутри корпуса (bond wire), и у разных выводов она разной длины. Производитель указывает эту задержку в документации — в пикосекундах или как длину.

DipTrace прибавляет её к длине трассы при выравнивании и подстройке фазы. Задавать её руководство советует в редакторе компонентов, но можно и на плате: правый щелчок по детали → Pad Signal Delay или по площадке → Signal Delay; значение — в мм, милах или дюймах. Применить можно к одной детали или ко всем деталям с тем же именем.


132г.4 Дифференциальная пара

Пара — два близко идущих проводника, по одному сигнал, по другому его зеркальная копия. Такая линия меньше излучает и меньше ловит помех, поэтому почти все быстрые интерфейсы — USB, Ethernet, LVDS — дифференциальные.

Пара живёт только внутри класса цепей типа Differential Pair: Objects / Net Classes → Add → тип Differential Pair. У класса — ширина дорожек, зазор между ними и зазор до остального. В примере руководства все три — 0,009 дюйма (0,229 мм).

Эти числа не универсальные: ширину и зазор пары подбирают под волновое сопротивление — 90 Ом для USB, 100 Ом для Ethernet и LVDS. Оно зависит и от толщины диэлектрика до слоя земли (раздел 160.2), поэтому ширину считают калькулятором по стеку слоёв завода. При зазоре 0,2 мм пара на 90 Ом выходит с дорожками около 0,3 мм на четырёхслойной плате (0,2 мм до земли) и около 1,2 мм на двухслойной толщиной 1,5 мм — поэтому USB High Speed обычно разводят на четырёх слоях. USB Full Speed (12 Мбит/с) у F103 и F4 к этому не чувствителен: хватает пары рядом и короткой длины.

Объявить пару: Objects / High Speed / Define Differential Pair, выбрать положительную и отрицательную цепь. Цепи переименуются в DiffPair_P и DiffPair_N и получат значок. Объявить можно и на плате — там же выбирается цвет пары.

Встроенный автотрассировщик пары не разводит — только руками или внешним трассировщиком.

Ограничения пары для DRC (Route / Net Classes, класс пары):

Параметр Смысл В примере
максимальная длина порознь сколько проводники могут идти не рядом по умолчанию
допуск разности длин насколько один проводник длиннее другого по умолчанию
Dynamic Phase Tolerance разность длин соответствующих участков 0,04 дюйма (1,02 мм)
Dynamic Phase Error Length сдвиг фазы — ошибка, только если он тянется дольше этого 0,3 дюйма (7,62 мм)
Neck Parameters ширина и зазор в тесном месте, наибольшая длина сужения 0,004 дюйма (0,1 мм); 0,1 дюйма (2,54 мм)

Сужение нужно у BGA с мелким шагом: пара 0,229 мм + зазор 0,229 мм между шариками не пролезет.

Дифференциальная пара: ширина и зазор 0,229 мм из класса, прямой угол разводит пути на 0,92 мм и меандр ставят на опережающую дорожку, у BGA пара сужается до 0,1 мм не длиннее 2,54 мм


132г.5 Трассировка пары

Режим обычный — Route / Manual Routing / Add Trace: щелчок по площадке пары, и ведутся две дорожки сразу; вторая сама приходит на свою площадку.

Действие Как
сменить ведущую дорожку правый щелчок → Change Control Trace
сузить пару у BGA правый щелчок → Neck-down Segment
довести проводники по одному правый щелчок → Route Single Trace или Z
произвольный угол сегмент Free Line — S дважды
показать длины правый щелчок → Show Trace Length
перенести пару на другой слой Segment Layer / Bottom — переходы встанут сами

Правка — в двух режимах: обычном (две дорожки двигаются вместе с сохранением зазора) и по одной дорожке; у каждого есть «свободный» вариант.


132г.6 Подстройка фазы и менеджер пар

Ошибки пары ищет обычный DRC: он берёт ограничения из класса пары. В примере руководства их три — слишком длинное сужение, сдвиг фазы и ещё одна, связанная с парой. Сужение укорачивают, перетаскивая место перехода ближе к площадке.

Сдвиг фазы правит High Speed / Differential Pair Tools / Phase Tune: при наведении на дорожку окно показывает опережение фазы (Forward и Backward Point Phase Lead) и подсказывает, на какой дорожке добавить меандр. Меандр ставят на опережающую дорожку — небольшой, иначе появится ошибка длины порознь.

Сдвиг виден, а DRC молчит? Значит, он тянется короче Dynamic Phase Error Length и укладывается в допуск.

High Speed / Differential Pair Manager — все пары проекта: имя, цвет, цепи, класс, правила и фактические значения; нарушения — красным.

High Speed / Define Paired Pads — для случая, когда у цепей пары по нескольку площадок рядом и DipTrace не понимает, на какие из них заканчивать дорожки: пары площадок указывают вручную или кнопкой Update.


132г.7 Переходы массово: Fanout, экранирование, сшивка

Три инструмента массовой установки переходов: вывод площадок BGA, экранирование трассы и сшивка заливок

Fanout — площадки к внутренним слоям через переходы. Правый щелчок по корпусу → Fanout:

Fanout по цепи: правый щелчок по площадке цепи → Fanout — все SMD-площадки этой цепи получают переходы к экранному слою, например к слою земли.

Экранирование (Via Shielding) — ряды переходов вдоль трассы, соединённых с землёй: Objects / Via Tools / Net Via Shielding. Работает, только если заливка есть и на слое трассы, и хотя бы на одном другом, и заливки с переходами — одной цепи. В примере: зазор до трассы и шаг переходов по 0,5 мм, второй ряд на 0,5 мм и Stagger Alternate Row — шахматный порядок. Переходы, которые нарушили бы правила, программа просто пропускает.

Сшивка (Via Stitching) — сетка переходов, соединяющая заливки земли на разных слоях: Objects / Via Tools / Board Via Stitching для всей платы или Area Via Stitching для области. В примере сетка 2 мм в шахматном порядке. Сетка с шагом 2 мм — это (10 / 2)² = 25 переходов на квадратный сантиметр заливки. Опции: сшивать только перекрывающиеся заливки, не трогать заливки более высокого приоритета, ставить переходы только по периметру.


132г.8 Грабли

DRC не видит разницу длин. Выравнивали без класса и не нажали Create New Rule.

Длины ровные, а сигналы расходятся. Не включены Enable Layer Stackup и Enable Pad Delay — переходы и проволочки в корпусе не учтены.

Автотрассировщик не тронул пару. Он не разводит пары — только руками.

Пара не лезет между шариками BGA. Нужны Neck Parameters в классе и Neck-down Segment у корпуса; длину сужения держать в пределах правила.

Меандр поправил фазу, но появилась новая ошибка. Меандр слишком большой — нарушена длина порознь. Меньше и дальше от корпуса.

Экранирование ничего не поставило. Нет заливки на втором слое или заливки другой цепи.

Сшивка «приварила» переходы к чужим заливкам. Обновить заливки — Objects / Update All Copper Pours.

В руководстве «2.57 mm». Опечатка: коридор ±1,27 мм — это 2,54 мм.


132г.9 Итоги

Дальше: раздел 132д «DipTrace: схема и плата вместе — иерархия, SPICE, спецификация, 3D».

Открыть в интерактивном справочнике