Перейти к содержанию

Целостность сигналов: отражения и согласование линий

Пока фронт сигнала длиннее, чем время пробега по дорожке туда и обратно, провод — просто провод. Когда фронт короче, дорожка становится линией передачи: волна отражается от конца, и на входе приёмника вместо 3,3 В появляются 4,4 В и −1 В. Разбираем, когда это происходит, как считать отражения и какое согласование выбрать — по документам TI и National, с примерами для логики и выводов STM32.

Обновлено Редакция GAW

Целостность сигналов (signal integrity) — способность линии донести цифровой или аналоговый сигнал от передатчика до приёмника без искажений, которые нарушают работу: выбросов, провалов, звона, лишних задержек и наводок. На низких частотах провод передаёт напряжение мгновенно по всей длине. На высоких — сигнал бежит по дорожке как волна с конечной скоростью, и дорожка становится линией передачи с волновым сопротивлением Z0. Там, где Z0 меняется, — на конце линии, на отводе, на переходном отверстии — часть волны отражается (TI SCAA082A, разд. 1.3).

Коротко

Отражение
ρ = (R − Z0)/(R + Z0)
Открытый конец
ρ = +1, напряжение удваивается
Без согласования
фронт ≥ 3–4 τ
FR-4, микрополосок
≈ 5,8 пс/мм
Для МК
последовательный резистор
Для шины
резистор Z0 на концах

Когда провод становится линией

Kuphaldt формулирует критерий через период сигнала: линия электрически короткая, если время пробега по ней — малая доля периода, и длинная, если сравнимо с ним; для синусоиды длинной считают линию от четверти длины волны (т. II, разд. 14.5). В короткой линии поведение схемы определяет нагрузка, в длинной — волновое сопротивление самой линии. Для 60 Гц длинной стала бы ЛЭП в тысячу с лишним километров, для 100 МГц — кабель короче метра (длину волны для своей частоты посчитает калькулятор).

Для цифрового сигнала важна не частота, а длительность фронта: фронт трапециевидного сигнала содержит гармоники намного выше основной частоты, и чем он короче, тем они сильнее. TI советует для тактового сигнала 100 МГц учитывать частоты до 500 МГц (SCAA082A, разд. 1.2). Поэтому медленный по частоте сигнал с быстрым фронтом ведёт себя как высокочастотный.

Скорость в линии задаёт диэлектрик. На FR-4 у полосковой линии внутри платы задержка 715 пс на 100 мм, у микрополоска на внешнем слое — около 582 пс на 100 мм, то есть примерно 5,8 пс/мм: часть поля проходит по воздуху (SCAA082A, табл. 2). Задержку для своей платы и материала посчитает калькулятор задержки в дорожке, волновое сопротивление — калькулятор микрополоска.

Отражения

Первая волна

В момент переключения передатчик ещё «не знает», что на конце линии: он видит только её волновое сопротивление. Поэтому в линию уходит скачок, который делят выходное сопротивление драйвера RS и Z0 (TI AN-807, разд. 3):

V1=VZ0RS+Z0V_1 = V \frac{Z_0}{R_S + Z_0}

Волна бежит по линии время τ (задержка линии), доходит до нагрузки и там частично или полностью отражается.

Коэффициент отражения

Доля отражённой волны — коэффициент отражения нагрузки ρL и, для волны, вернувшейся к передатчику, — источника ρS (AN-807, разд. 5; SCAA082A, разд. 1.3.2):

ρL=RL−Z0RL+Z0,ρS=RS−Z0RS+Z0\rho_L = \frac{R_L - Z_0}{R_L + Z_0}, \qquad \rho_S = \frac{R_S - Z_0}{R_S + Z_0}
  • RL = Z0: ρ = 0, волна поглощается целиком, отражения нет — линия ведёт себя как бесконечная;
  • RL > Z0, вплоть до открытого конца: ρ > 0 (до +1), напряжение на конце выше установившегося — выброс;
  • RL < Z0, вплоть до короткого замыкания: ρ < 0 (до −1), напряжение ниже — провал.

Напряжение на нагрузке — сумма падающей и отражённой волны, V1·(1 + ρL). Отражённая волна возвращается к передатчику через 2τ, отражается от него с ρS, снова бежит к нагрузке — и так до затухания. Учёт этих волн во времени — диаграмма отражений (AN-807, разд. 7).

Пример: драйвер 25 Ом на линию 50 Ом

Именно этот случай TI моделирует в SCAA082A: источник 3,3 В с выходным сопротивлением 25 Ом нагружен на линию 50 Ом с высокоомным входом на конце, и на конце линии получается около 4,4 В на фронте и около −1 В на спаде (разд. 1.3.2). По формулам выше (наш расчёт): первая волна — 3,3·50/75 = 2,2 В; на открытом конце ρL = +1, и напряжение удваивается до 4,4 В. Отражённая волна возвращается к драйверу, где ρS = (25 − 50)/75 = −1/3, и приходит на конец снова через 2τ: 2,93 В, затем 3,42 В, 3,26 В, 3,31 В — затухающий ступенчатый звон вокруг 3,3 В. На спаде всё зеркально: первая ступенька — 3,3 − 4,4 = −1,1 В.

Напряжение на конце линии без согласования и с последовательным резисторомИсточник 3,3 В с выходным сопротивлением 25 Ом нагружен на линию 50 Ом с открытым концом. При быстром фронте напряжение на конце через одну задержку линии τ прыгает до 4,4 В, через 3τ падает до 2,93 В, затем 3,42 В и так далее — ступенчатый звон вокруг 3,3 В. Если фронт длится 3τ, ступеньки сливаются, и выброс намного меньше. С последовательным резистором 25 Ом, при котором выходное сопротивление равно 50 Ом, на конце сразу 3,3 В без звона.02τ4τ6τ8τ10τ12τ14τ01234V на конце линии, Вt4,4 В — выброс без согласования, фронт ≪ τтот же случай, фронт 3τпоследовательный резистор: Rвых + R = Z03,3 В
Напряжение на конце линии 50 Ом от драйвера 3,3 В / 25 Ом: без согласования при быстром и медленном фронте и с последовательным резистором 25 Ом

Выброс до 4,4 В при питании 3,3 В открывает защитные диоды входа, а провал до −1 В — нижний диод; TI предупреждает, что такие выбросы могут повредить входы передатчика и приёмника (SCAA082A, разд. 1.3.2). Звон, пересекающий порог, даёт ложные переключения — опасно на линиях тактирования и стробов.

Длительность фронта и длина линии

Если фронт длиннее задержки линии, отражённые волны накладываются на ещё не закончившийся фронт и сглаживают друг друга. AN-807 показывает это последовательно: при фронте много короче τ на конце видны ступеньки; при фронте 2τ они превращаются в треугольники; при 3τ, 4τ, 6τ и 8τ звон всё меньше, и линию можно считать обычным проводом (разд. 13). Но и при фронте 3τ выброс не исчезает: в нашем примере ниже (драйвер 25 Ом, линия 50 Ом, открытый конец) он около +0,6 В над 3,3 В, и этого может хватить, чтобы приоткрыть защитный диод входа на шину питания (наш расчёт по диаграмме отражений, пунктир на графике). Отсюда правило, на котором построены рекомендации по разводке логических семейств: фронт должен быть не короче 3–4 задержек линии (AN-807, разд. 13). AN-807 считает фронт линейным нарастанием от 0 до 100 %, а в даташитах его обычно задают по уровням 10–90 %; при линейном фронте полное время в 1,25 раза больше, TI в примере ниже округляет 6 нс до 8 нс (в 1,33 раза).

τ=l⋅tpd≤tr3\tau = l \cdot t_{pd} \le \frac{t_r}{3}

Пример AN-807. У ТТЛ фронт 6 нс по уровням 10–90 %, или около 8 нс от 0 до 100 %; при задержке 1,7 нс на фут и условии tr = 3τ максимальная длина — около 18 дюймов, примерно 46 см, — что и совпадает с рекомендациями производителей для серии 74.

Пример для STM32F103 (наш расчёт). При настройке выхода на 50 МГц (MODE = 11) ST гарантирует фронт не длиннее 5 нс при нагрузке 30 пФ (DS5319, табл. 38). При 5,8 пс/мм условие tr ≥ 3τ даёт до 29 см. Здесь значение даташита подставлено как полное время; если считать его временем 10–90 % и пересчитать, как TI пересчитывает ТТЛ (×1,33), граница — около 38 см, то есть наша оценка консервативна примерно в 1,33 раза. Но даташит ограничивает фронт только сверху, и реальный фронт с малой нагрузкой короче: для 2 нс граница — около 11 см, для 1 нс — около 6 см. Если скорость не нужна, режим MODE = 01 (до 25 нс) или 10 (до 125 нс) решает проблему без всякого согласования. Об уровнях и порогах входов — в статье «Логические уровни».

Задержка самой линии при этом никуда не девается. TI показывает это на SN74LS00, нагруженном на согласованную линию 100 Ом длиной 0, 1 и 11 м: задержка элемента не меняется, а к ней прибавляется время пробега — 55 нс на 11 м при 5 нс/м (SDYA009C, разд. 6.3). Без согласования вдобавок появляется задержка около 0,5·tr, пока сигнал не перейдёт порог (AN-807, разд. 13).

Согласование

Отражения убирают, делая ρ = 0 на одном из концов: либо у передатчика (тогда отражённая от нагрузки волна поглощается на источнике), либо у приёмника (тогда она вовсе не возникает). TI называет четыре распространённых способа (SCAA082A, разд. 1.3.2):

Четыре способа согласования линииЧетыре варианта одной линии от передатчика к приёмнику. Последовательное: резистор R = Z0 − Rвых сразу за выходом передатчика. Параллельное: резистор, равный Z0, от конца линии на общий провод. По Тевенину: делитель из R1 к питанию и R2 на общий провод на конце линии, параллельное соединение R1 и R2 равно Z0. Переменнотоковое: на конце линии резистор Z0 последовательно с конденсатором на общий провод.ПоследовательноеRZ0 − Rвыхлиния Z0Параллельноелиния Z0Z0По Тевенинулиния Z0R1R2R1 ∥ R2 = Z0Переменнотоковое (RC)линия Z0Z0C
Четыре способа согласования линии: последовательное, параллельное, по Тевенину и переменнотоковое

Последовательное. Резистор сразу за выходом драйвера: RS + R = Z0, то есть R = Z0 − Rвых. В линию уходит половина уровня, на открытом конце она удваивается до полного, а вернувшаяся волна поглощается на согласованном источнике (AN-807, разд. 3 и 10). В примере выше резистор 25 Ом даёт на конце сразу 3,3 В без звона (наш расчёт). Постоянного тока нет, но задержка добавляется, а вдоль линии сигнал стоит на половине уровня, пока не вернётся отражённая волна: в середине — τ, у самого передатчика — почти 2τ (наш вывод из той же диаграммы отражений). Поэтому способ годится для линии «точка — точка» с приёмником на конце.

Параллельное. Резистор, равный Z0, от конца линии на общий провод: ρL = 0. Работает для любого числа приёмников вдоль линии, но драйвер постоянно нагружен: 3,3 В на 50 Ом — 66 мА (наш расчёт), а с выходным сопротивлением 25 Ом уровень падает до 2,2 В. Для выхода микроконтроллера это не подходит; так согласуют шины с драйверами, рассчитанными на нагрузку, — 120 Ом на концах RS-485 и CAN (подробнее — «Терминатор линии»).

По Тевенину. Делитель из R1 к питанию и R2 на общий провод, R1∥R2 = Z0. Задаёт уровень покоя линии посередине, но постоянный ток течёт всегда.

Переменнотоковое (RC). Резистор Z0 последовательно с конденсатором: на фронте согласует линию, а постоянного тока нет. По сравнению TI задержки сигнала оно не добавляет, но потребляет больше последовательного и требует второго компонента (SZZA009, табл. 1); ёмкость конденсатора TI не нормирует.

TI сравнивает способы так (SZZA009, табл. 1):

СпособПотреблениеКомпонентовДобавляет задержку
Параллельноебольшое1нет
По Тевенинубольшое2нет
Последовательноемалое1да
Переменнотоковоесреднее2нет

Для плат с микроконтроллерами TI называет последовательный резистор самым дешёвым и предпочтительным способом, тем более что он снижает и излучение. Согласование нужно, если дорожка длиннее фута, если сигнал уходит в кабель за пределы экранированного корпуса или если на осциллограмме виден звон (SZZA009, разд. 2.4.3). Выходы КМОП TI называет недодемпфированными — к звону склонны по природе. Отражения мешают и при стандартах ЭМС: по нормам FCC длина дорожки становится важной с 1/10 длины волны, для автомобильной и бытовой техники на двухслойных платах — уже с 1/50 (там же).

Неоднородности и перекрёстные помехи

Отражение возникает на любом изменении Z0, а не только на конце. TI перечисляет типичные места (SCAA082A, разд. 2):

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

Волновое сопротивление дорожки задаёт расстояние до опорной плоскости, поэтому под линией нужна сплошная плоскость — о плоскостях и слоях в статье «Стек слоёв печатной платы».

Перекрёстные помехи (crosstalk) — наводка с соседней дорожки через взаимную ёмкость и индуктивность. Дорожку с сигналом называют агрессором, соседнюю — жертвой. Наводка создаёт в жертве прямой и обратный токи; в однородной среде (полосковая линия внутри платы) прямые составляющие индуктивной и ёмкостной связи компенсируют друг друга, а у микрополоска индуктивная преобладает. Простое правило TI — расстояние между дорожками не меньше двух их ширин (SCAA082A, разд. 1.4).

Как проверить

  • Измерьте сигнал на конце линии, у входа приёмника, а не у передатчика: у передатчика ступеньки другие.
  • Используйте короткую земляную пружину щупа: длинный провод земли сам даёт звон, которого нет в схеме.
  • Если звон есть — поставьте у выхода последовательный резистор около Z0 − Rвых и проверьте, исчез ли он; точное значение подбирают по осциллограмме.
  • Для быстрого интерфейса посчитайте Z0 и задержку заранее и заложите контролируемый импеданс в заказ платы.

Типичные ошибки

  • Судить по частоте сигнала. Тактовый сигнал 1 МГц с фронтом 1 нс отражается так же, как 100-мегагерцовый.
  • Параллельный резистор на выходе МК. Ток в десятки миллиампер и сниженный уровень единицы.
  • Последовательный резистор у приёмника. Он должен стоять у передатчика, иначе ρS не обнуляется.
  • Последовательное согласование на шине с отводами. Приёмники вдоль линии видят полуровень, пока не вернётся отражённая волна, — до 2τ.
  • Звезда вместо цепочки. Ветви отражают друг в друга, и согласовать их одним резистором нельзя.
  • Самый быстрый режим выхода «на всякий случай». Короткие фронты без нужды порождают звон и излучение.

Частые вопросы

Когда дорожку на плате нужно считать линией передачи?

Когда фронт сигнала сравним со временем пробега по ней. По TI AN-807, логические семейства задают правила разводки так, чтобы фронт был не короче 3–4 задержек линии: тогда отражения сливаются с фронтом и почти не дают звона. Задержка микрополоска на FR-4 — около 5,8 пс на миллиметр, и для фронта 2 нс граница — примерно 11 см.

Какое согласование выбрать для выхода микроконтроллера?

Последовательное: резистор сразу за выходом, равный волновому сопротивлению минус выходное сопротивление драйвера, обычно десятки ом. Оно не потребляет постоянного тока и, по TI SZZA009, предпочтительно для микроконтроллерных систем. Ограничение — работает только для линии с одним приёмником на конце: вдоль линии сигнал какое-то время стоит на половине уровня, пока не вернётся отражённая волна.

Почему на конце линии напряжение больше питания?

Потому что вход КМОП почти разомкнут, и волна отражается от него с коэффициентом +1 — складывается сама с собой. Если драйвер 3,3 В с выходным сопротивлением 25 Ом нагружен на линию 50 Ом, первая волна — 2,2 В, на открытом конце она удваивается до 4,4 В. На спаде так же получается около −1 В. Такие выбросы открывают защитные диоды входа и могут его повредить.

Зачем резистор 120 Ом на концах RS-485 и CAN?

Это параллельное согласование: резистор, равный волновому сопротивлению витой пары, поглощает волну, и она не отражается. Для длинной шины с несколькими узлами оно единственно правильное, хотя и потребляет ток. Подробнее — в словарной статье «Терминатор линии» и в статьях об интерфейсах.

Источники

  1. Texas Instruments (National Semiconductor). AN-807 Reflections: Computations and Waveforms (SNLA027B, May 2004) — разд. 3: начальный скачок V·Z0/(RS + Z0), источники напряжения, согласованные и тока; разд. 5: коэффициенты отражения нагрузки и источника, сводка RL = R0 (нет отражения), RL > R0 (выброс), RL < R0 (провал); разд. 6–7: суперпозиция и диаграмма отражений; разд. 13: при tr ≪ τ ступеньки, при tr = 2τ — треугольники, с ростом tr/τ звон уменьшается и линию можно считать простым проводом; правила разводки логики — tr/τ от 3:1 до 4:1; пример ТТЛ: 6 нс по 10–90 %, 8 нс по 0–100 %, 1,7 нс/фут, tr = 3τ → около 18 дюймов; RS-232 ограничивает скорость нарастания ради того же; без согласования добавляется около 0,5·tr задержки
  2. Texas Instruments. High-Speed Layout Guidelines (SCAA082A, November 2006, revised August 2017) — 1.2: гармоники трапеции зависят от длительности фронта, у 100 МГц учитывать до 500 МГц; 1.3: линия, когда длина сравнима с длиной волны; 1.3.1, табл. 2: микрополосок 0,5 мм на FR-4 1,5 мм — 171,9 мм/нс, 581,7 пс на 100 мм, полосковая линия — 715,3 пс на 100 мм; 1.3.2: ρ = (R − Z0)/(R + Z0), +1 для открытого конца, −1 для короткого замыкания; моделирование: источник 3,3 В и 25 Ом на открытую линию — около 4,4 В и −1 В на конце; согласование последовательное, параллельное, по Тевенину и переменнотоковое; 1.4: перекрёстные помехи, расстояние не меньше двух ширин дорожки; разд. 2: переходные отверстия, отводы, прямые углы и ветвления как источник отражений
  3. Texas Instruments. PCB Design Guidelines For Reduced EMI (SZZA009, November 1999) — разд. 2.4.3: длина дорожки становится важной при 1/10 длины волны (нормы FCC), 1/20…1/30 (военные), 1/50 (автомобильные и бытовые двухслойные платы); табл. 1: параллельное и по Тевенину — большая мощность, последовательное — малая и добавляет задержку, переменнотоковое — средняя; КМОП недодемпфирована; согласование нужно, если дорожка длиннее фута, сигнал уходит в кабель за пределы экрана или есть звон; последовательный резистор — предпочтительный способ для микроконтроллерных систем; 2.4.4: вход КМОП — 5–40 нГн и около 5 пФ
  4. Kuphaldt T. R. Lessons In Electric Circuits, vol. II: AC, 6th ed., 2021, chapter 14 «Transmission lines» (CC BY 1.0) — 14.5: электрически короткая и длинная линия; длинной считают линию от четверти длины волны; λ = v/f; коэффициент укорочения; в короткой линии поведение определяет нагрузка, в длинной — волновое сопротивление; согласованная нагрузка устраняет отражения при любой длине
  5. Texas Instruments. Designing With Logic (SDYA009C, June 1997) — разд. 6.3: SN74LS00 на линию 100 Ом с согласованием длиной 0, 1 и 11 м — задержка элемента не меняется, к ней добавляется время пробега 5 нс/м (55 нс на 11 м плюс около 10 нс)
  6. STMicroelectronics. STM32F103x8/xB datasheet (DS5319 Rev 20) — табл. 38: длительность фронтов выходов при MODE = 11 (50 МГц) — не больше 5 нс при 30 пФ и 2,7–3,6 В, 8 нс при 50 пФ; MODE = 01 (10 МГц) — 25 нс, MODE = 10 (2 МГц) — 125 нс при 50 пФ

Нашли ошибку?