Высокоскоростная линия передачи данных / Часть 1

Предположим, что у нас есть передатчик и приемник. Между ними производится передача данных в одну сторону по шине, скажем, 8-бит. Мы просто соединяем их проводами? — да, если частота передающей шины совсем небольшая, иначе же образуются сильнейшие помехи, в результате которых от вашего сигнала ничего не останется. В некоторых случаях доходит до выхода из строя электроники.

1

 

Rвых передатчик = Z линии = Rвх приемник

<spoiler>Если длина этой линии <=3см, то просто подключаем напрямую от передатчика к приемнику, хоть проводом.</spoiler>

DSCN5427

Раньше я никогда не разводил платы/проводил линии передачи с частотой выше 8MHz, но провести линию с 100MHz и 8MHz — совершенно разные вещи. Достаточно взглянуть на материнскую плату ПК, вы можете увидеть огромное количество всевозможных защит от помех и искажений.

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

ВЧ тараканы и прочие гадости

  • Отражение сигнала

Возвращения части сигнала обратно в линию передачи при несогласованной нагрузке. Эффект напоминает эхо. Это владыка всех помех, корень всех зол. Нагрузка является согласованной, когда ее волновое сопротивление (включая приемник и передатчик) равно волновому сопротивлению всей линии. Чем больше разница между этими двумя импедансами, тем больше будет отражение.

  • Индуктивность и паразитная емкость проводника

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

  • Паразитная передача между проводниками или crosstalk

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

—————————————————————————————————————

Отражение сигнала

Любая линия является проводником, и у любого проводника есть один важный параметр — волновое сопротивление. Оно является отношением амплитуды напряжения бегущей волны к амплитуде силы тока бегущей волны. (Не путать с электрическим сопротивлением!)

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

izvolsopr

Подробности здесь.

Итак, что же происходит при несогласованной волновой нагрузке? Представьте себе веревку, привязанную к стене:

df1

 

Теперь, давайте совершим несколько колебаний свободным концом веревки.

df2

Волна идет к стене, ударяясь о нее.

df3

df4

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

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

—-
Важное замечание: эффект отражения невозможно убрать, но его можно минимизировать. Серьезные отражения в линию будут в том случае, если длина проводника больше 1/20 длины волны несущей частоты. Расчет производится просто:

λ(Длина волны) = c (Скорость света) / f (Частота линии)

В случае с 100MHz: 300000000/100000000*1000/20 = 150мм — максимальная длина, иначе можно пренебречь согласованием.
—-

Проверим на практике: берем такую схему.

df6

Частота: 25MHz (для наглядности), меандр. Максимальная длина проводника при этой частоте ~60см, т.е. превышена.

pic_73_5

 

Вот такой щщит 🙁 , при несогласованной нагрузке. Замечательная пила, однако логические уровни вполне читаемы, но представьте, что будет с сигналом на частоте 100MHz? (+длина волны будет короче) Броски вверх будут создавать неплохой crosstalk, если проводников несколько.

Давайте замерим волновое сопротивление проводника, *ссылка*Итог измерений: 39Ом.

Теперь обратите внимание на сопротивление приемника, оно больше 2кОм, соответственно — не равно сопротивление линии передачи, что нарушает закон изложенный выше. Zлинии == Rвх! 

df8

R1 — так называемый — терминирующий резистор. Он необходим, чтобы согласовать нагрузку — шунтирование. Так как вход приемника — высокоомный, поэтому сопротивление входа можно не учитывать и поставить R1 равный Z0 — волновому сопротивлению линии. Все это хорошо описано в теореме Якоби (Только Англ.Вер). Ставим резистор, равный Z0:

df9

 

Затем подаем наш меандр снова:

pic_72_2

Замечательно! Теперь этот сигнал похож на меандр, осталось лишь убрать последствия паразитной индукции и емкости проводника, но об этом позже.

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

df10

 

Мы пришли к классическому согласованию ВЧ линии передачи данных 🙂 Результат полноценного согласования:

pic_79_3

 

Почти идеально, отражения здесь минимальное, но есть остаются другие помехи.

Еще один пример с проводником в 15см и волновым сопротивлением 150Ом. (Жила ATA шлейфа)

До терминирования:

do

После:

posle

Здесь же, необходимо было согласовать только передатчик с линией. Проблема решилась резистором R2 из схемы на 180Ом.

 

Индуктивность и паразитная емкость проводника

Что есть проводник? Простоя черточка? — Как вы видели выше, — нет. Эквивалентная схема любого проводника в реальности будет такой:

df11

 

Опять же, все эти параметры зависят от материала, сечения и от длины проводника. Кроме всего этого, на проводник могут влиять другие компоненты: конденсаторы, дорожки питания, среда.

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

L проводника — вызывает броски напряжения, по другому: на входе 3.2v, на выходе 4v. Неплохо нарушает работу цифровых схем, а также усиление эффекта crosstalk.

С проводника — изменяет форму сигнала навсегда, превращая красивый меандр в синус, а, в сочетании с предыдущими, в пилу.

Смотрите, что произошло с импульсом при согласованной нагрузкой в проводнике длиной 4см.

pic_76_2

 

Здесь четко показано действие паразитной емкости в проводнике. Теперь, энергии передатчика — не хватает, чтобы сформировать импульс, а приемник не успевает поглотить эту энергию.

pic_72_2

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

В этом случае еще помогает сильноточное питание: выходной буфер на микросхеме, конденсатор на выводах питания. Еще один вариант: триггер Шмитта:

5 Regen3

 

Решение хорошее, но городить кучу лог.эл — не очень…овчинка выделки не стоит. Если только вы не используете ПЛИС.

Еще вариант: использовать балансную линию, где логические уровни это + и (земля — является точкой отсчета), а их амплитуда и фронты не важны, примером послужит LVDS. Но опять же-таки — городим огород.

В принципе, ВЧ шину редко приходится городить в 3м, а с аккуратным шлейфом или дорожкой на плате в 10см и классическим согласованием — все будет в порядке. :mrgreen:

 

Земляные петли в длинных линиях

Это скорее не тип помех, а ошибка объединения земли между несколькими устройствами.

Очень простое правило: нельзя соединять входную землю линии и выходную, так как проводник (длинный) имеет свое сопротивление.

df12

 

Обратный путь земли линии — может достигать нескольких ом. Если вы замкнете земли, вы исключите из работы системы часть линии и создадите некую земляную петлю. Часть обратного тока будет идти через закороченный участок, а часть по «родной» земле, но, как вы знаете, их свойства и, особенно, длина — будут различаться. Поэтому, распространение сигнала будет неравномерным.

DSCN5429

Нельзя так делать! :-Р

Получится весьма неприятная гадость, даже при согласованных линиях:

Вход:

pic_75_1

Выход:

pic_75_3

 

Паразитная передача или crosstalk

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

df13

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

Проверим это на практике. Смотрим две линии (по одной 1, по другой 0), идущие на расстоянии 0.1мм на отладочной плате Arduno Due:

pic_80_3

 

Две дорожки на другой плате, длиной 8см и расстоянием 0.45мм: (амплитуда второго увеличена 2x)

pic_80_4

Как видите, паразитная передача достигает 800мв, что не мало вносит помех в шину передачи. Как с этим бороться? — ответ очевиден: увеличение расстояния или чередование земляных/сигнальных дорог. Самый лучший вариант — чередование:

 

 

df14

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

——————————————-

Продолжение следует…

PS: Если в статье имеются ошибки/неточности, пишите в комментарии.

Вы можите оставить комментарий, или поставить трэкбек со своего сайта.

Есть 1 комментарий. к “Высокоскоростная линия передачи данных / Часть 1”

  1. CCCP33:

    Отличная статья.

Написать комментарий

XHTML: Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Bug Report
Локализовано: шаблоны Wordpress