История из жизни

Наверное, каждый разработчик электронной аппаратуры сталкивался со следующей ситуацией: долго разрабатываешь высокоскоростное устройство на печатной плате, получаешь первые образцы и... ничего не работает, ну или работает, но не так, как ожидал. Сигналы сильно искажены, да еще и те, за которыми старался следить особенно внимательно. Закон подлости! Вроде все делал в соответствии с описанием в документации на высокоскоростные интерфейсы: подобрал материалы и разработал stackup, согласовал, где нужно, импедансы, выдержал расстояния между проводниками, не превышал допустимые длины ー а все равно шедевр не вышел. Причина может оказаться банальной и известной: перекрестные помехи, которые были не в норме. И вроде знаешь про них, но оценку уровней не делаешь. Возможно, бдительность усыпляет наличие рекомендаций о минимальном расстоянии между высокоскоростными трассами на тот или иной интерфейс. Видишь число и думаешь, что при его соблюдении будет все хорошо. А может есть и другие причины? Например, не знаешь, как их оценить. Давайте попробуем разобраться.  

Что такое перекрестные помехи и откуда они берутся?

Чтобы понять природу возникновения перекрестных помех, придется немного поговорить об электромагнитных полях. Нудной теории не будет. Все максимально коротко и просто.

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

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

Трасса 2 и Трасса 3 попали в поле Трассы 1. Что это значит? В крайних трассах образуются токи и напряжения. Это и будет перекрестная помеха! Ее уровень зависит от частоты и амплитуды сигнала, а также от расстояния между проводниками. Можно ли от нее избавиться? Конечно, смотрим на рисунок ниже.

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

Надеюсь, я не напугал начинающих инженеров, и они не начнут с лупой  выискивать помехи на каждой своей плате:).

Справедливости ради следует отметить, что существует большое количество устройств, где про перекрестные помехи можно и не вспоминать. Вот их критерии, если коротко (опытные инженеры могут легко дополнить этот список):

  • Низкоскоростные цифровые схемы (< 10 МГц);

  • Большие расстояния между трассами (> 5× ширины);

  • Короткие параллельные участки (< 20 мм).

А если устройство соответствует списку ниже:

  • Высокие частоты: от 100 МГц и выше;

  • Плотная компоновка с расстояниями между трассами < 3× ширины проводника;

  • Длинные параллельные участки: более 50 мм;

  • Проектирование высокоскоростных интерфейсов (DDR3/4/5, PCIe, HDMI);

  • Аналоговые схемы, критичные к шумам,

то добро пожаловать в клуб борцов с перекрестными помехами.

Почему не считаем?

Проблема реальна! Перекрестные помехи существуют и могут сильно усложнить жизнь инженеру. Так почему же их оценка многими специалистами не выполняется? На данный вопрос можно услышать следующие ответы:

  • Я ориентируюсь на информацию, представленную в описании к высокоскоростному интерфейсу. Считаю, что если их соблюдать, то будет все нормально. Всегда ли это работает?…Нет. Если отсутствует описание, то опираюсь на свой опыт, который тоже может подвести. Иногда это заканчивается серьезными доработками.

  • Не знаю программы, в которых можно выполнить расчет. Слышал, что есть HyperLynx, SIwave, еще какие-то. Опять же, они работают на основе IBIS моделей, а их сложно найти. Да и вообще, не понятно, как они считают. 

  • Знаю, что в литературе представлены формулы для оценки перекрестных помех. Но мне кажется, что они очень приближенные, и к тому же там присутствуют взаимные емкости и индуктивности. Как их оценить, не известно. Речь идет вот про эти математические выражения.  

  • Ну и самый безумный ответ:). Мне не нужен расчет, так как я интуитивно чувствую, где могут возникнуть проблемы и блокирую их появление на ранней стадии. Это из категории “Я самый умный”. Каждый из нас встречал таких специалистов. Никого не осуждаю: мы все разные, и каждый по-своему воспринимает реальность.

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

Классический подход: считаем помехи без потерь

Вычисление перекрестных помех ー не магия, а математика, четкая, логичная, однозначная. Давайте попробуем разобраться, как она работает. Сразу отмечу, что “грузить” сложными выкладками, расписывая все до мелочей, не буду. Смысл публикации ー показать подход.

Итак, погнали!

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

В большинстве программ обеспечения целостности сигналов, в том же HyperLynx или Polar SI9000, расчет перекрестных помех вычисляется без учета потерь. Сделано это не просто так, на это есть несколько причин:

  • исключение потерь из расчета приводит к тому, что рассматривается наихудший случай, то есть помеха будет немного завышена, а инженер получает результат с подстраховкой;

  • применяется только электростатический солвер, в результате все вычисления выполняются намного быстрее. Да, для учета потерь нужно запускать еще и магнитный решатель, а он забирает ресурсы. Никто из нас не любит ждать, всем хочется получить результат как можно скорее :).

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

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

Численные методы. Они используются и здесь?

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

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

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

Еще раз проговорим, индуктивность линии передачи будет одинаковой, как для  Er=1, так и для Er=4 при равных геометрических параметрах. Если все еще не верите? Ниже доказательство.

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

А при чем здесь S-параметры?

Теперь приступим к самому интересному :). Существует определенное количество способов расчета перекрестных помех. Не будем все их рассматривать, а перейдем сразу к самому популярному, который применяется практически во всех программах моделирования. Итак, расчет перекрестных помех осуществляется через S-параметры!

Вспомним что это такое. 

Линия передачи представляется как двухпортовая система и описывается S-коэффициентами.

 

Усложним задачу и рассмотрим две линии передачи. Ведь о перекрестных помехах можно говорить тогда, когда система состоит минимум из двух линий. Рассмотрим такую систему и опишем ее через S-коэффициенты. На рисунке ниже представлены две линии передачи с падающими и отраженными волнами.

Связь между S-коэффициентами и напряжениями для двух линий передачи выглядит так:

Если, например, сигнал присутствует только на входе первой линии  (порт 1), то выражение, представленное выше, можно записать:

В случае, когда на входе линии-“жертвы” присутствует полезный сигнал, связь S-коэффициентов и напряжений запишется так:

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

S-коэффициенты рассчитываются по известным формулам, широко представленным в литературе. Важной составляющей этих формул является матрица ABCD-параметров. Напомню, как она выглядит:

Так как вычисление перекрестных помех выполняется без учета потерь, то матрицы R и G приравниваются к нулю, а C и L вычисляются с помощью электростатического решателя так, как указано в начале публикации.

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

По большому счету, это вся математика. Да, в сжатом виде, но для общего понимания достаточна.

Практический пример: расчет перекрестных помех в SimPCB Lite

Наверное многим покажется, что представленная математика сложна в практическом применении. Однако она реализована в САПР SimPCB Lite и готова к участию в серьезных проектах. Инженеру не нужно тратить время на поиск в интернете IBIS моделей микросхем, достаточно знать геометрические и электрофизические параметры линий передачи, а также частотные составляющие сигнала. Кроме этого, можно выполнить расчет наоборот, определить, например, минимальное расстояние между проводниками, которое будет соответствовать допустимому уровню помехи.  

Приведу пример расчета в SimPCB Lite. 

Пусть у нас имеются две одинаковые микро��олосковые линии передачи без маски с параметрами, указанными ниже.

Расстояние между линиями 0.2 мм, длина линий 200 мм. Помехи оценим в частотном диапазоне от 100 МГц до 1 ГГц с шагом 50 МГц. Амплитуда входного сигнала составляет 1 В.

Результаты расчета в SimPCB Lite.

Конечно же, сделаем и сравнение, куда же без него :). Воспользуемся программой Polar SI9000.

За контрольные точки возьмем частоты 100 МГц, 500 МГц и 1 ГГц. Результаты сведем в таблицу.

Частота

Polar SI9000 NEXT

SimPCB Lite NEXT

Polar SI9000 FEXT

SimPCB Lite FEXT

100 МГц

0.111

0.11

0.0342

0.034

500 МГц

0.049

0.048

0.182

0.18

1 ГГц

0.085 В

0.083 В

0.35 В

0.349 В

Видно, что результаты практически совпадают. Так, например, на частоте 1 ГГц помеха, вычисленная в Polar SI9000,  на ближнем конце линии передачи (порт 3) составляет 0.085 В, на дальнем ー 0.35 В при амплитуде входного сигнал 1 В,  а рассчитанная в SimPCB Lite ー 0.083 В и 0.349 В соответственно. 

Конечно, здесь можно привести еще множество примеров, но будет лучше, если Вы сами это сделаете, применив наш инструмент SimPCB Lite в своих проектах :).

Более подробное описание программы и ее возможностей можно найти на сайте  компании ЭРЕМЕКС.