Целостность сигналов: отражения и согласование линий
Пока фронт сигнала длиннее, чем время пробега по дорожке туда и обратно, провод — просто провод. Когда фронт короче, дорожка становится линией передачи: волна отражается от конца, и на входе приёмника вместо 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):
Волна бежит по линии время τ (задержка линии), доходит до нагрузки и там частично или полностью отражается.
Коэффициент отражения
Доля отражённой волны — коэффициент отражения нагрузки ρL и, для волны, вернувшейся к передатчику, — источника ρS (AN-807, разд. 5; SCAA082A, разд. 1.3.2):
- 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 В.
Выброс до 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 раза).
Пример 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):
Последовательное. Резистор сразу за выходом драйвера: 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?
Это параллельное согласование: резистор, равный волновому сопротивлению витой пары, поглощает волну, и она не отражается. Для длинной шины с несколькими узлами оно единственно правильное, хотя и потребляет ток. Подробнее — в словарной статье «Терминатор линии» и в статьях об интерфейсах.
Источники
- 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 задержки
- 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: переходные отверстия, отводы, прямые углы и ветвления как источник отражений
- 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 пФ
- 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; коэффициент укорочения; в короткой линии поведение определяет нагрузка, в длинной — волновое сопротивление; согласованная нагрузка устраняет отражения при любой длине
- Texas Instruments. Designing With Logic (SDYA009C, June 1997) — разд. 6.3: SN74LS00 на линию 100 Ом с согласованием длиной 0, 1 и 11 м — задержка элемента не меняется, к ней добавляется время пробега 5 нс/м (55 нс на 11 м плюс около 10 нс)
- 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 пФ
Нашли ошибку?
Смотрите также
- Волновое сопротивлениеZ0 линии передачи: согласование, отражения, 50 и 120 Ом
- Контроль импеданса платыИзготовление платы с заданным волновым сопротивлением дорожек и допуском
- Терминатор линииСогласующий резистор 120 Ом на концах шин RS-485 и CAN
- Звон на фронтахЗатухающие колебания после быстрого фронта из-за паразитного LC-контура
- Время нарастания (rise time)Длительность фронта между двумя порогами
- Перекрёстные помехиНаводка сигнала одной дорожки на соседнюю: причины и меры
- Отвод линииОтветвление от магистрали к узлу: отражения, допустимая длина
- Задержка распространенияВремя от входа до выхода элемента: tPLH, tPHL, зависимость от питания
- Микрополосковая линияВолновое сопротивление дорожки, ширина под 50 Ом
- Задержка и выравнивание длинЗадержка пс/мм, перекос из-за разницы длин, допуск на рассогласование
- Частота и длина волныλ = c/f, период, антенна λ/4, кабель
- Слои печатной платы2, 4 или 6 слоёв, варианты стека, плоскости земли и питания, разделение земли
- Логические уровниVOH, VOL, VIH, VIL, запас помехоустойчивости, ТТЛ и КМОП, уровни МК и интерфейсов
- RS-485Уровни, длина линии, терминаторы, смещение, MAX485, Modbus RTU