Согласование импедансов: как сломать и как починить
Согласование импедансов: переходные процессы и переходные отверстия
Рано или поздно в руки любителей, начинавших с Ардуино, попадают куда более быстрые устройства. Накинув щупы осциллографа на навесные провода, они обнаруживают, что сигнал, который задумывался, как голубая линия на заглавной картинке на деле выглядит, как жёлтая. В поисках решения проблемы они приходят к весьма многогранной области знаний под названием «Целостность сигналов». И если такие её аспекты, как питание и возвратные токи относительно просты для понимания, то согласование импедансов содержит ряд контринтуитивных положений. В процессе освоения данной темы мне показалось, что материалы по ней разделены на три не слишком хорошо связанных блока:
1) теория с формулами и отсылками к 2 курсу ВУЗа
2) гипертрофированные примеры на симуляторах
3) применение на практике (с эмпирическими суевериями)
Данная статья является попыткой начать с конца. Я возьму работающую схему, выполненную в текстолите. Затем постараюсь ухудшить её характеристики так, чтобы рассогласование линий стало причиной сбоев в работе или хотя бы стало заметно на осциллографе. А затем постараюсь устранить возникшие проблемы.
Для начала обсудим стенд.
В качестве приёмника сигнала будет использован осциллограф MSOX4154A, любезно предоставленный московским подразделением Keysight – большое спасибо Павлу Логинову!
Источником сигналов будет микросхема ПЛИС 5M80ZE64C5N серии MAX-V (потому, что имелась у меня в наличии).
Линиями передачи выступят:
три кабеля RG-174 длинной 200см, 60см и 20см (волновое сопротивление — 50 Ом)
одна витая пара из кабеля UTP-5e длинной 200см, один из проводников будет землёй, второй — сигнальной линией (волновое сопротивление — 100 Ом)
две копланарных линии (то есть дорожка расположена на верхнем слое платы, а по бокам и снизу от неё — земляные полигоны) на плате длинной по 40см (волновое сопротивление одной дорожки — 50 Ом, другой — 92 Ом). Длина линий на плате была выбрана исходя из габаритов материнской платы стандарта ATX —305х244мм, диагональ которой почти 40 см.
Я постараюсь обойти стороной вопрос что такое волновое сопротивление. И поменьше писать это словосочетание. Будем считать, что это некоторая характеристика линии передачи. Отмечу лишь, что она не зависит от длины линии.
Итак, зададим на выходе ПЛИСа прямоугольные импульсы амплитудой 3,3В LVTTL, частотой 1МГц и заполнением 50/50. И соединим 20-сантиметровым кабелем этот выход с осциллографом. А входной импеданс осциллографа выберем равным 1МОм, хотя он по умолчанию и так устанавливается осциллографом на эту величину.
Вроде бы красивые, ровные импульсы, с небольшими всплесками сразу после фронтов. Возьмем кабель подлиннее — на 60 сантиметров.
Можно заметить, что всплески несколько растянулись по времени. Возьмем теперь двухметровый кабель!
Всплески растянулись ещё сильнее и приобрели слегка «уквадраченную» форму. Попробуем переключить вход осциллографа на 50 Ом.
Всплески исчезли, но амплитуда упала до 2,27 вольт.
Заметим, что амплитуда и число всплесков при входе 1МОм для всех трёх кабелей одинакова. Помешают ли данные всплески передаче данных? Для стандарта LVTTL входное напряжение логической единицы начинается от 2,0 вольт и выше (по документации на 5M80ZE64C5N — от 1,7 вольт). А входное напряжение логического нуля — от 0,8 вольт и ниже.
Самая крупная просадка, идущая за восходящим фронтом, проваливает напряжение до 2,65 вольт, а самый крупный всплеск, идущий за нисходящим — приподнимает его до 0,6 вольт. Следовательно, если всё остальное в устройстве сделано идеально, то такое рассогласование само по себе не способно вызвать сбой.
Максимальный выходной ток с выводов ПЛИСа является конфигурируемой величиной. Правда, его значение можно выбрать всего из двух вариантов (8мА и 16мА). И по умолчанию среда разработки ПЛИСа выставляет этот ток на максимум. В порядке эксперимента, возможно выдавать сигнал синхронно с двух соседних выводов в одну линию, получая таким образом 32мА. Тогда для двухметрового кабеля осциллограмма будет следующей:
Как видно, длительность каждого всплеска осталась прежней, но возросло их число и амплитуда. На последней осциллограмме самая крупная просадка доходит до 1,85 вольт, а самый крупный всплеск — до 1,5 вольт.
Однако, следует заметить, что во входных буферах большинства цифровых микросхем устанавливаются триггеры Шмитта — специальные блоки с двумя пороговыми уровнями срабатывания. Если превышен верхний порог, то триггер переключается в лог.1. Если затем входное напряжение падает ниже верхнего порога, но не достигает нижнего, то триггер останется в лог.1. И переключится в лог.0 только тогда, когда напряжение станет меньше нижнего порога. Если данные уровни срабатывания соответствуют стандартным для LVTTL уровням входного напряжения, то для ошибочного срабатывания не хватит ни падения до 1,85 вольт (здесь нужно падение до 0,8 вольт) ни всплеска до 1,5 вольт (здесь нужен всплеск до 2,0 вольт). В теории, благодаря триггерам Шмитта, просадки и всплески такой амплитуды также не способны нарушить передачу данных при отсутствие иных проблем. Впрочем, это лишь в теории. Иногда цифровая микросхема способна войти в нештатное состояние даже при слишком длительном фронте входного сигнала. Что уж говорить о пересечении явно указанных пороговых уровней! Отдельно стоит сказать, что всплески (овершуты и андершуты) подобной амплитуды могут попросту вывести из строя приёмник.
Попробуем переключить вход в 50 Ом.
Всплески исчезли, амплитуда подросла относительно одиночного выхода и 50-омного входа — до 2,72 вольт.
Вернём входу 1 МОм и попробуем сделать ширину импульсов минимально возможной, скажем, 5нс.
Тут видно, как короткий импульс уходит в линию, фиксируется осциллографом, отражается от его входа, доходит до выхода ПЛИС, частично отражается от него и снова устремляется к осциллографу. Причём отражаясь от выхода ПЛИС, амплитуда импульса меняет знак.
Из приведённой осциллограммы также можно понять, как образуется форма импульсов большой длительности. Сначала на приёмнике появляется первая ступенька, затем она начинает суммироваться со своим отражением (так как отражение имеет отрицательную амплитуду, оно вычитается). Затем, не прекращая суммироваться со своим первым отражением (столь же длительным, как сама ступенька), она начинает суммировать с отражением отражения и т.д.
Попробуем переключить вход на 50 Ом.
Закономерно исчезают отражения и падает амплитуда. Вернём входу 1МОм импеданса и попробуем пустить короткий импульс через одиночный выход, предварительно переключив его с 16мА на 8мА.
Амплитуда и количество отражений драматично упали. Но! Сами отражения теперь не меняют знак после встречи со входом ПЛИС! Можем ли мы сильнее ограничить выходной ток? Да, поставив сразу после выхода из ПЛИС резистор. Скажем, 100 Ом.
Амплитуда упала ещё сильнее, но число отражений выросло! Посмотрим, как будут выглядеть более длительные прямоугольные импульсы при таком выходе.
Тут, очевидно, суммируются длинные ступеньки одного знака, но исходная, первая ступенька намного меньше, чем в случае пары 16-миллиамперных выходов. На осциллограмме видно, что пороговое значение логической единицы будет пересечено лишь при появлении на входе осциллографа первого отражения. С логическим нулём — ситуация аналогичная. Однако, фронты каждой ступеньки имеют ровно такую же длительность, что и фронты всплесков в случае сдвоенного выхода. Иными словами, нельзя однозначно утверждать, что сдвоенный выход быстрее, чем одиночный, ослабленный резистором.
Что если мы возьмём одиночный выход, установим его в 16мА и поставим сразу после него резистор, а его номинал подберём таким, чтобы после первого фронта не было ни ступенек, ни всплесков? Тогда мы сделаем то, что называется согласованием выходного импеданса с импедансом линии! То есть сигнал уйдёт в линию, отразится от входа осциллографа (если, конечно, он установлен в 1МОм), вернётся к выходу ПЛИС и полностью поглотится им. Дальнейших отражений не будет! Данный номинал, в принципе, можно вычислить, но пока обойдёмся без формул. Просто установим резистор на 27 Ом и посмотрим на осциллограмму.
Отражений больше нет, причём амплитуда соответствует номинальной для LVTTL.
Попробуем теперь пропустить короткий импульс 16-миллиамперного выхода через 2 метра витой пары. Напомню,её волновое сопротивление — 100 Ом.
В целом — похоже на 50-омный RG-174. Попробуем установить вход осциллографа в 50 Ом.
Отражения не исчезли! Вернём входу осциллографа 1 МОм и попробуем согласовать линию на стороне микросхемы, поставив сразу после выхода 77 Ом.
Отражения сведены к минимуму.
Вот так будет выглядеть согласование витой пары на стороне источника по сравнению с полным отсутствием согласования.
А так будет выглядеть согласование витой пары на стороне источника по сравнению с попыткой согласовать линию переключением входа осциллографа в 50 Ом.
Попробуем кратко разобраться, почему так происходит.
Если на конце линии передачи сопротивление между жилой и экраном не равно волновому, то от этого конца произойдёт отражение. Это отражение будет тем больше, чем больше данное сопротивление отличается от волнового. Так как источник сигнала — это по сути источник напряжения, то он обладает некоторым внутренним сопротивлением. Если его дополнить внешним резистором так, чтобы в сумме сопротивление было равно волновому сопротивлению линии, то даже если сигнал отразится от приёмника, его отражение будет поглощено источником. Если же его не дополнять, то сигнал, отразившись от приёмника, отразится и от источника, а затем снова попадёт в приёмник, создавая эхо.
Посмотрим теперь на отличия 50-омного кабеля (длиной 60 см) и 50-омной дорожки на плате (длиной 40 см).
В целом — весьма похоже. Некоторые различия по амплитуде отражений могут объясняться не вполне точным вычислением ширины дорожки для достижения требуемого импеданса. А различия по длительности отражений обусловлены разной длиной проводников.
Наконец посмотрим на прохождение сигнала через дорожку шириной 0,125мм (волновое сопротивление — 92 Ом): несогласованной и согласованной на стороне источника . К 23 Омам внутреннего сопротивления выхода ПЛИС надо добавить 69 Ом и получится 92 Ома — как у дорожки.
Видно, что дорожки на плате принципиально ничем не отличаются от кабелей. А само согласование не является чем-то магическим. И производится установкой резисторов либо на стороне приёмника, либо на стороне источника, при наличии у него запаса по току. Также, при отсутствии запаса по току у встроенных буферов микросхемы, возможна установка отдельных буферных микросхем, обладающих этим запасом.
Не исключено, что после прочтения данной статьи могли остаться вопросы. К примеру:
почему согласование на стороне приёмника (осциллографа) понижает амплитуду сигнала и зачем такое согласование вообще может быть нужно?
где в документации найти внутреннее сопротивление выходного буфера микросхемы, чтобы не гадать с резисторами?
как получается, что сигнал способен одинаково хорошо отразится как от обрубленного конца коаксиального кабеля, так и от такого конца, где жила коротко замкнута на экран?
что же такое — это самое волновое сопротивление?
Но обо всём этом — в другой раз.