Почему USB имеет 4 линии вместо 3?

USB указывает 4 контакта:

1.   VBUS   +5V
2.   D-     Data-
3.   D+     Data+
4.   GND    Ground

Почему это не 3? Могут ли Данные и Сила не иметь общего основания? Я правильно понимаю, что D-это основание для D+?

Просто чтобы вы знали: существуют однопроводные протоколы, в которых даже +5 В и данные одинаковы. Это не будет быстро и защищено от помех, но для некоторых приложений меньшее количество проводов является настоящим выигрышем. Другие, такие как USB и Ethernet, добавляют провода для передачи большего количества энергии и данных.
Вау, это удивительно популярный вопрос!

Ответы (8)

Нет, D-не грунтован. Данные передаются по дифференциальной линии , что означает, что D-она является зеркальным отражением D+линии , поэтому сигнал передается по обеим линиям данных. Получатель вычитает D-из D+. Если какой-то шумовой сигнал будет улавливаться обоими проводами, вычитание аннулирует его.

введите описание изображения здесь

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

введите описание изображения здесь

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

Как ты сделал эту схему? Какой пакет чертежей?
@ pjc50 - На самом деле, я взял это из Википедии , но если бы мне пришлось рисовать это самому, я бы использовал Adobe Illustrator.
@pjc50 или Inkscape, который является самой популярной (и действительно действительной) альтернативой бесплатному программному обеспечению.
@pjc50 - Illustrator для первого :-)
Ну, я новичок в электронике. Я хочу у вас спросить, если шум был только на D+, как его можно было убрать? Так я и говорю, бывает ли такое, что шум только на D+ или D-?
@Enes - Это будет незначительно из-за симметрии проводки: если вы возьмете провод произвольной длины, вы не сможете сразу сказать, что есть, D+а что есть D-(кроме цветовой кодировки, конечно). Это означает, что оба D+и D-будут подвергаться возмущению одинаковым образом. И когда шум одинаков на обоих, вычитание почти полностью его нейтрализует.
@ pjc50: Вы можете использовать PSTricks или TikZ.
@EnesUnal Интересным моментом в кабеле витой пары является то, что ни один из проводов не находится постоянно ближе к шуму или помехам, чем другой провод. Ссылка: techtionary.com/members/slides/u/unbalun.swf
Эта установка также позволяет вам заменить питание от отдельного источника питания на линию без какого-либо риска для линий передачи данных. Например, USB-концентратор с питанием может передавать данные и заменять GND/+5V, не беспокоясь о необходимости поддерживать тот же потенциал земли, что и у исходного устройства, или о создании контуров заземления.
Так почему бы просто не пустить землю + один провод данных в витой конфигурации? Разве это не устранит шум на проводе данных (относительно земли) так же хорошо?
@Thomas: Нет, не будет. Каждый раз, когда вы используете один и тот же контакт в качестве заземления для обратного тока и напряжения, у вас могут возникнуть проблемы. Найдите четырехпроводной омметр и подумайте, как эта концепция применима к USB.

Это дифференциальный (или сбалансированный) сигнал, а не несимметричный (несбалансированный) сигнал.

Это означает, что приемник «измеряет» напряжение между ними, а не между ними и землей.
Скажем, D+ на 2 В, а D- на 1 В. Теперь предположим, что провод улавливает некоторые внешние шумы (РЧ, фон сети и т. д.). Весьма вероятно, что оба кабеля будут улавливать один и тот же шумовой сигнал, поскольку они скручены вместе и имеют одинаковое сопротивление.
Скажем, мы улавливаем 50 мВ шума. Итак, теперь на D+ 2050 мВ, а на D- 1050 мВ - разница между ними все еще составляет 1 В (1000 мВ), и это то, что «увидит» приемник.
Если бы это было сделано с односторонним кабелем, то D+ (без D-) был бы на уровне 1050 мВ, а земля по-прежнему была бы на уровне 0 В, поэтому приемник увидел бы 1050 мВ.

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

На самом деле, это уже пробовали однажды: шина Apple Desktop Bus (ADB) использовалась для подключения клавиатур и мышей к компьютерам Apple Macintosh примерно с 1986 года, пока Apple не отказалась от нее в пользу USB в 1997 году с iMac.

У него было четыре провода: 5 В, земля, данные и выключатель питания. Линия выключателя питания предназначалась только для кнопки питания на клавиатуре, которая соединяла линию с землей и сообщала источнику питания запустить машину. Это должен был быть отдельный провод, поэтому он все еще работал, даже если линия 5 В была отключена.

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

Поэтому Intel решила использовать дифференциальную сигнализацию для USB. Если вы хотите получить хорошее представление о том, что дает вам дифференциальная сигнализация, сравните шумовые характеристики несимметричной шины RS-232 и дифференциальной шины RS-422. RS-422 может передаваться по более длинному кабелю с меньшим напряжением источника при заданной частоте битовых ошибок.

Почему это? Длинная версия занимает дневную лекцию в классе электромагнетизма. Короткая версия заключается в том, что шумовой сигнал индуцирует одинаковое напряжение в обоих проводах дифференциальной пары, поэтому компаратор на стороне приемника компенсирует его (он очень хорошо подавляет синфазное напряжение). Несимметричная линия не имеет сопоставимой гарантии, поскольку нет гарантии, что линия заземления и сигнальная линия будут принимать один и тот же шумовой сигнал; заземление может быть даже подключено через заземление шасси, и обратный ток пойдет по совершенно другим путям.

Вы говорите, что RS-422 может управляться дольше, чем RS = 232 для данной частоты ошибок по битам; начинают ли длинные кабели RS-232 обнаруживать случайные ошибки? Я ожидал, что, хотя могут быть некоторые длины, прямо на границе удобства использования, где данное сообщение может иметь 99% шанс пройти неиспорченным, не будет большой разницы между длиной, в которой сложное сообщение может пройти с вероятностью успеха 99% или выше, а также длину, при которой вероятность неудачи составляет 99%. Падение вообще постепенное?
У длинных линий RS-232 есть большая проблема, которой нет у RS-422: поскольку для демодуляции сигнала используется «земля», кумулятивная ошибка в этой «земле» наносит ущерб приемнику. Ситуация становится еще хуже, когда приемник и драйвер не находятся на одной и той же земле (например, подключены к разным цепям питания) или когда на этой линии заземления есть токи, отличные от обратного тока сигнала. Любое падение напряжения на линии заземления по какой-либо причине снижает ваш запас по шуму, пока он просто не исчезнет. По сути, «земля» — это удобная фикция, которая не подходит для длинных кабелей.
Спад на самом деле не такой уж постепенный, так как в большинстве случаев шум намного меньше, чем разница между VOH/VOL и VIH/VIL. Что происходит, так это то, что на определенной (большой длине) вы начинаете улавливать заметные ошибки , как только уровень шума начинает 0равняться порогу приемника (т. 1становится длиннее, вы получаете гораздо больше ошибок, пока они полностью не исчезнут. Это не похоже на потерю распространения радио r^-2. (Возвращаясь к теме, в случае ADB заземляющий провод несет как сигнальный, так и обратный ток питания.)
Является ли проблема более типичной в том, что уровень шума увеличивается, или проблема более типична в том, что сигнал становится слишком слабым, чтобы постоянно достигать порога обнаружения на нарастающих и спадающих фронтах? Я определенно видел последнюю проблему больше, чем шум на высоких скоростях; становится ли шум преобладающей проблемой на более низких скоростях (с более длинными кабелями, которые позволяют более низкие скорости)? Что касается ADB, я думаю, что он был разработан, чтобы избавить людей от необходимости подключать к компьютеру отдельные провода для мыши и клавиатуры. Жаль, что современные дизайнеры ПК не учитывают такие вещи.
Я предполагаю постоянный уровень шума. Переменный уровень шума может быть серьезной проблемой, но я полагаю, что вы не собираетесь прокладывать свои провода через двигатели и тому подобное. Я просто говорил о потере сигнала , ведущей к снижению SNR, и, что более важно, о том, что «земля» не является. Я не рассматривал скорость сигнала, только уровни; проблемы, вызванные скоростью, связаны со временем фронта и терминацией кабеля, что выходит за рамки этого вопроса, поскольку вы можете терминировать несимметричный сигнал (обычны 50 и 75 Ом). ADB был слишком простым; вы не могли подключить модем или въехать в него.
Насколько я могу судить, ADB был разработан, чтобы уменьшить беспорядок кабелей между клавиатурой и компьютером. В этом отношении он на самом деле лучше, чем USB, поскольку можно подключить кабель ADB к любому концу клавиатуры, а мышь — к другому. ADB не был предназначен для универсального подключения всего и вся. Между прочим, стоит отметить, что, хотя ADB был односторонним, все устаревшие Macintosh имели порты RS-422, а не порты RS-232.
На практике ADB не был таким надежным, когда у вас было несколько устройств. У меня были джойстик, дроссель, клавиатура и мышь, и если их не поставить в правильном порядке, они случайно не будут работать. Виновниками были джойстик и дроссельная заслонка; у них был большой встроенный кабель, и это складывалось. И, да, у Мака не было RS-232 (поэтому я вообще использовал 422), но одна хитрость с RS-422 заключается в том, что вы можете преобразовать его в несимметричный RS-423 с помощью кабеля (TX- становится TX ; TX+ не подключен, RX+ к GND, RX- становится RX), а RS-423 совместим с RS-232 на коротких расстояниях.
Маки @DeSimone имели дифференциальный последовательный порт, их было 2, принтер и модем...
@GradyPlayer Шина ADB и последовательные порты были двумя совершенно разными вещами. Последовательные порты Mac были дифференциальными RS-422, которые можно было творчески перемонтировать для совместимости с RS-232, но, в отличие от USB или ADB, они не имели питания. (Хотя были устройства, которые использовали передающую пару как паразитный источник питания, нагрузка не могла быть больше 100 Ом.) Далее, в отличие от USB и ADB, последовательный порт состоял из двух однонаправленных пар. Однако в сетях AppleTalk и PhoneNet использовались внешние блоки для преобразования этого в двунаправленный RS-485 для низкоскоростной (230 кбит/с) сети.
@Mike DeSimone, извините, я неправильно прочитал ваш комментарий. Они, конечно, были очень разными. Когда я прочитал ваш комментарий, я подумал, что вы сказали, что у них нет последовательного порта, а не порта RS232.

На самом деле многие USB имеют 5 линий, а не 4. (5-я линия предназначена для согласования того, кто является ведущим в приложениях OTG. Обратите внимание, что это ограничено разъемами mini и micro USB.)

Как уже указывали другие, линии D+ и D- представляют собой дифференциальную пару. Поскольку приемник может игнорировать синфазное напряжение, дифференциальная пара обеспечивает лучшую помехоустойчивость, чем несимметричный сигнал. Логически линии D+ и D- являются одним сигналом.

@Kortuk: на mini и micro USB есть 5-й контакт «ID» для USB On-the-Go, где любое устройство может выступать в качестве хоста. secure.wikimedia.org/wikipedia/en/wiki/USB#Physical_appearance
Пятый пин не для согласования как таковой - он закреплен в разъеме и не достает до другого конца. Идея заключалась в том, чтобы указать устройствам OTG, когда им нужно взять на себя роль хоста, подключив конец A. Существует также протокол для переключения ролей, но это гораздо более высокий уровень.

Я не могу с уверенностью сказать, что это единственное соображение, которое учитывалось, но это не заземление, а подавление электромагнитных помех. Провода данных +/- представляют собой витую пару , по которой проходят дифференциальные сигналы.

Он такой же, как в обычном бытовом телефонном или сетевом кабеле.

Механизм дифференциальной передачи данных D+ D- используется для снижения уровня шума, поэтому пропускная способность передачи может быть значительно увеличена.

Как и USB, существует несколько других протоколов передачи, использующих дифференциальный физический уровень. Некоторые примеры: RS485, Ethernet...

Дополнительные примеры: en.wikipedia.org/wiki/Differential_signaling#Examples

Но даже с дифференциальными данными бывают случаи, когда в USB используется несимметричная сигнализация: конец пакета сигнализируется несимметричным нулем (SE0), а именно, как D+, так и D- в низком состоянии. . Это состояние длится 2 бита. если SE0 длится более 10 мс, это означает сброс шины.

Эта несимметричная сигнализация делает USB довольно чувствительным к электромагнитным помехам, подобным тем, которые я обнаружил недавно, когда двигатель фена вызывал много отключений в ближайшем периферийном USB-устройстве. И никакие синфазные фильтры не могут быть эффективно использованы, потому что они могут ухудшить сигнал SE0... Еще один хорошо продуманный стандарт...

Использование несимметричной сигнализации для некоторых условий, не требующих точной синхронизации (например, использование ее для сброса шины кажется прекрасной идеей). Однако использование двухбитового SE0 кажется немного быстрым; что должны делать получатели, если они видят однобитовый SE0? Гораздо лучше, если передатчик отправляет трехбитный SE0, а приемник ищет по крайней мере два.

Beyond Logic предлагает обзор основных моментов электрической части спецификации USB здесь (также в формате PDF здесь ):

... USB использует дифференциальную пару для передачи данных. Это кодируется с использованием NRZI и заполняется битами, чтобы обеспечить адекватные переходы в потоке данных.

...

Приемник определяет дифференциал «1» как D+ на 200 мВ больше, чем D-, и дифференциал «0» как D+ на 200 мВ меньше, чем D-. Полярность сигнала инвертируется в зависимости от скорости шины.

Мы ценим ссылки как дополнительные, но если ссылки умирают, ваш ответ становится бесполезным. Не могли бы вы дать резюме здесь?
Это гораздо лучший ответ из-за добавленного резюме — спасибо за это — но вы также должны быть осторожны, чтобы избежать плагарита. Содержание в вашем первом абзаце защищено авторским правом.
@KevinVermeer: ​​Цитаты не являются плагиатом или нарушением авторских прав.
@endolith - С указанием авторства они не являются плагаритом или нарушением авторских прав. Я отредактировал ответ, чтобы продемонстрировать лучшую атрибуцию. Раньше никто бы и не догадался, что абзац по большей части является цитатой. Теперь это очевидно. При составлении котировки используйте функции блочной цитаты.
@endolith: Атрибуция защищает от плагиата, но цитаты с авторством МОГУТ быть нарушением авторских прав.