Почему максимальная длина кабеля USB короче, чем у RS232?

9

Зачем нам нужно буферизовать сигнал USB, если длина кабеля превышает 5 м?
Это потому, что падение напряжения сигнала?
Это потому, что это приводит в движение токи?

user16307
источник
1
RS232 использует +/- 12 вольт, USB 0-5 вольт
мишник

Ответы:

16

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

(Я не могу найти ссылки прямо сейчас, но соответствующие технические документы являются общедоступными)

Редактировать: спасибо psmears за нахождение этого раздела

Кабели и решения для дальних перевозок

  1. Почему существуют ограничения по длине кабеля и каковы они?

A: Длина кабеля была ограничена спецификацией задержки кабеля в 26 нс, чтобы позволить отражениям установиться в передатчике до отправки следующего бита. Так как USB использует драйверы окончания источника и драйверы в режиме напряжения, это должно быть так, иначе отражения могут накапливаться и взрывать драйвер. Это не означает, что линейное напряжение полностью установилось к концу бита; в худшем случае. Однако к концу долота было достаточно затухания, чтобы амплитуда отражения была уменьшена до управляемых уровней. Длина низкоскоростного кабеля была ограничена 18 нс, чтобы не допустить воздействия эффектов линии передачи на низкоскоростные сигналы.

  1. Я хочу проложить кабель длиной более 5 метров, почему это не сработает?

A: Даже если вы нарушили спецификацию, это буквально не дало бы вам очень далеко. Предполагая время задержки наихудшего случая, у устройства с полной скоростью в нижней части 5 концентраторов и кабелей допустимое время ожидания составляет 280ps. Уменьшение этого поля до 0ps даст вам только 5 см, что вряд ли стоит того.

Таким образом, мой ответ только наполовину прав: ограничение в обоих направлениях относится к наихудшей цепочке хабов и кабелей на общую глубину 25 метров.

Дэн Нили также прав, что USB всегда считался самым дешевым решением для «медленных» периферийных устройств, таких как клавиатуры, мыши, принтеры и т. Д. Если вам нужен полнодуплексный режим для большей скорости и большего расстояния, естественным выбором будет Ethernet 100baseT.

pjc50
источник
Таким образом, USB-кабель 20м. что случилось бы? Вы говорите, что напряжение не меняется, а скорость имеет значение. Так что же происходит в случае кабеля 20 м и USB не работает?
user16307
2
Хост отправляет запрос, не получает ответа вовремя и не может перечислить устройство на другом конце.
pjc50
4
Ты уверен насчет этого? Согласно спецификации USB , задержка распространения сигнала по кабелю должна быть <26 нс (таблица 7-9), поэтому сигнал занимает менее 5,2 нс / м в стандартном кабеле длиной 5 м. Предел задержки туда и обратно составляет около 1,5 мкс. На этой скорости достаточно времени, чтобы сигнал прошел через кабель длиной более 100 метров. Форум разработчиков USB дает другую причину ограничения 5 м.
psmears
Есть ли какая-то причина для USB 1.0-2.0 быть полудуплексным вместо полнодуплексного с первого дня (например, USB 3.0)? Другими словами, есть ли практические преимущества полудуплекса перед полнодуплексным?
tigrou
1
@tigrou более широко USB1 включал простые варианты везде, где мог, потому что он должен был быть достаточно дешевым, чтобы реализовать его, чтобы он мог конкурировать с портами RS232 / PS2 / LPT / Game. Силикон стал намного дешевле за эти годы; но цена, превышающая минимальную, необходимую для того, чтобы быть «достаточно хорошей» для целевых приложений, привела к тому, что USB2 убил FireWire; и Thunderbolt, все более и более кажущийся мертворожденным.
Дэн возится с огнем
10

Смотрите эту страницу, /superuser/64744/maximum-length-of-a-usb-cable .

Q1: Какую длину кабеля я могу использовать для подключения моего устройства? A1: На практике спецификация USB ограничивает длину кабеля между полноскоростными устройствами до 5 метров (чуть менее 16 футов 5 дюймов). Для низкоскоростного устройства ограничение составляет 3 метра (9 футов 10 дюймов).

Q2: Почему я не могу использовать кабель длиной более 3 или 5 метров? A2: электрический дизайн USB не позволяет этого. Когда был разработан USB, было принято решение обрабатывать распространение электромагнитных полей на линиях данных USB таким образом, чтобы максимальная длина USB-кабеля была ограничена чем-то в диапазоне 4 м. Этот метод имеет ряд преимуществ, и, поскольку USB предназначен для настольных ПК, ограничения диапазона считались приемлемыми. Если вы знакомы с теорией линий электропередачи и хотите получить более подробную информацию по этой теме, ознакомьтесь с разделом «Сигналы USB» часто задаваемых вопросов для разработчиков.

Маттиас Йоханссон
источник
1
до сих пор ничего не объясняет много туманной информации
user16307
10
Может быть, вам туманно, но нет простого способа объяснить теорию сигналов в комнате, которую позволяет этот формат.
Wouter van Ooijen
5
Я думаю, что этот ответ указывает на некоторые причины, по которым существуют ограничения. Это довольно легко для дальнейшего изучения этих областей с помощью веб-поиска. Например, по теории линий электропередач. Вот почему я разместил этот ответ.
Маттиас Йоханссон
1
Я редко понижаюсь, поэтому чувствую себя обязанным оправдать это сейчас. Вопреки комментарию Wouter van Ooijen, я действительно не чувствую, что в этом ответе есть что-то более конкретное, чем возможное предложение по поиску «Ограничение длины USB-кабеля». Кроме того, ответ, на который вы ссылаетесь, содержит неработающую ссылку, и поэтому его предложение для дальнейшего чтения даже не так полезно. Если бы вы нашли правильный исходный источник и процитировали его, как это сделали psmears и pjc50, это был бы другой вопрос - потому что это фактически предоставляет детали того, почему существует это ограничение.
Александр Р.
5

На самом деле невозможно «буферизовать» USB, по крайней мере, не в обычном смысле этого слова. Как правило, буферизация означает электрическое усиление и, возможно, регенерацию сигнала.

С помощью USB хост управляет всей шиной. Хост отправляет запрос, и устройство должно выдать ответ хосту. Начало ответа должно прибыть на хост через определенное время после завершения запроса. При слишком большой длине кабеля задержка распространения слишком велика, чтобы ответ вовремя достиг хоста.

Таким образом, существуют обходные пути, и ни один из них не включает простую «буферизацию», так как буферизация добавляет дополнительные задержки, и нам нужно как-то сделать хост более терпимым к более длительной задержке.

Есть два класса обходных путей:

  1. Обходные пути, которые вставляют физические или виртуальные концентраторы. Если хост перечисляет концентратор на шине, сам концентратор добавляет дополнительную задержку, и между концентратором и хостом есть еще один потенциально полноразмерный кабель. Любые запросы на устройства, которые подключаются к концентратору в нисходящем направлении, планируются с дополнительными задержками.

    1. Вы можете вставить однопортовый концентратор через каждые 4 метра кабеля, последовательно подключая до 7 концентраторов. Ограничение составляет 7 уровней концентраторов от хоста до конечного устройства, поэтому, если есть какие-либо концентраторы выше вашего устройства, вам необходимо соответственно уменьшить количество концентраторов. Многие USB-хосты имеют одноуровневый внутренний концентратор, поэтому реалистичный предел - 28 м кабеля с 6 последовательными концентраторами. Все концентраторы, кроме первого, должны будут претендовать на автономное питание.

    2. Вы можете добавить виртуальные концентраторы с более мощным приемопередатчиком с упором прямо на разъем, который входит в хост, а затем передавать трафик USB по более длинному кабелю. Пока сигналы, принимаемые устройством на конце такого удлиненного кабеля, находятся в пределах спецификации, и пока ваш приемник может восстанавливать данные, отправленные стандартным устройством по длинному кабелю, вы будете в порядке. Виртуальные хабы добавляются таким образом, чтобы хост допускал длительную задержку, но, разумеется, нет физических хабов, просто имитация их.

  2. Обходные пути, которые эмулируют устройство, которое кажется «медленным» на более высоком уровне протокола. Вот так работают некоторые USB-удлинители Cat-5. Здесь пять партнеров: реальный хост (rHost), видимое им эмулируемое устройство (eDev), длинный кабель, эмулируемый хост (eHost) и устройства, которые видят его на дальнем конце кабеля (rDev) ,

    Изначально eDev делает вид, что его там нет. В какой-то момент eHost видит, что был подключен rDev. Он перечисляет его и передает данные в eDev. Затем eDev эмулирует событие плагина, а rHost перечисляет его. RHost верит, что видит rDev, но только eDev находится там, притворяясь. Точно так же rDev думает, что это видит rHost, но это всего лишь eHost, который притворяется.

    В конце концов, rHost хочет сделать некоторые переводы для rDev, который, по его мнению, существует, чтобы использовать его. Для передач IN, eDev делает вид, что не имеет данных (отвечает NAK). Запрос на передачу перенаправляется в eHost, который повторно выполняет его с помощью rDev. Результаты этого передаются обратно в eDev, который использует результаты в следующий раз, когда хост попытается передать.

    Для OUT-передач eDev должен угадать, каким будет поведение rDev. Здесь можно попробовать различные эвристики и поведения. Один из способов - eDev всегда получать данные и отвечать ACK. Передача пересылается в eHost, который затем воспроизводит передачу в rDev. В идеале rDev будет в конечном итоге потреблять данные и подтверждать их. Если это не удается или rDev отвечает STALL, лучшее, что может сделать eDev, - это действовать таким образом при следующей передаче с хоста. В качестве альтернативы, eDev всегда может NAK передавать передачу с обычно правильным предположением, что хост просто повторно попытается идентичной передачи позже. Несмотря на то, что исходная передача была NAK-ed, она пересылается в eHost, который затем выполняет передачу с помощью rDev. Каким бы ни был ответ rDev, он становится ответом eDev, как только он узнает об этом.

    Реалистичные реализации начнутся с консервативной эвристики, которая включает в себя полный возврат к rDev для всех передач, которые могут быть отложены с помощью NAK. По мере передачи, ожидаемое поведение rDev может быть изучено, и eDev может стать менее консервативным. «Расширитель» может использовать знания стандартных классов USB и некоторые знания / черные списки / белые списки, относящиеся к конкретным поставщикам, чтобы обеспечить более высокую производительность.

Восстановить Монику
источник
Не могли ли альтернативные концентраторы претендовать на питание от шины? Я думаю, что концентратор с питанием от шины может питать концентратор с автономным питанием, не так ли?
суперкат
Ничего общего с питанием от шины - это полная задержка ответа на ACK.
pjc50
@supercat Да, могут быть альтернативные центры притворства. Неважно, как вы это делаете, до тех пор, пока дерево притворных устройств выглядит совместимым с хостом.
Восстановить Монику
@ pjc50 согласно спецификации USB максимальная задержка ACK составляет около 400 нс. Сигнал времени может перемещаться на 40 метров по меди в обоих направлениях. Это не ограничивающий фактор здесь.
ZAB
1
@ZAB См. Usb.org/developers/usbfaq/#cab1
pjc50 12.12.16
2

Большинство схем передачи данных по кабелю имеют достойный международно признанный стандарт, описывающий, как их реализовать, включая спецификацию для «характеристического импеданса» кабеля (воспринимайте это как сопротивление, но применимо к переменному току), импеданс завершения ( «Сопротивление» в конце соединения, которое необходимо, чтобы избежать отражений вашего сигнала, отскакивающего назад по кабелю назад к отправителю), часто заданная «скорость нарастания» (время, необходимое для перехода сигнала (-ов) из 0-состояние в 1-состояние или наоборот), и, следовательно, максимальное количество переходов между 0/1 в секунду (т. Е. Кбит / с / Мбит / с / Гбит / с) и, следовательно, сколько времени может длиться кабель до ухудшения целостности сигнала, и вещи перестают работать правильно.

По сравнению с USB, RS232 имеет все характеристики по типу кабеля, характеристическому сопротивлению, скорости нарастания, длине кабеля, типу разъема. Конечно, 25-контактные и 9-контактные разъемы «D» были обычным явлением, но на самом деле RS232 был спроектирован для всех видов соединителей, кабелей и продуктов, и никаких реальных технических условий не говорилось бы иначе. На практике с RS232 вы обычно можете преодолевать большие расстояния, снижая скорость передачи битов в секунду (или «бод»). Максимальное расстояние, которое вы можете достичь, также будет в значительной степени определяться импедансом вашего кабеля, независимо от того, экранирован он или нет, нагрузкой на конце и т. Д.

и сравнивая RS232 с USB, вы сравниваете «стандарт» 1960-х годов, который в значительной степени превысил 115к2 (за редкими исключениями), с одним из 1990-х и 2000-х годов, который начинался со скоростью 1,5 Мбит / с, на порядок быстрее, затем 12 Мбит / с (почти в 100 раз быстрее), затем 480 Мбит / с (почти в 5000 раз быстрее), но это означало, что параметры и длина кабеля сыграли важную роль в его надежной работе . Он был спроектирован как стандарт подключения периферийных устройств для настольных компьютеров, поэтому 5 м считались приемлемыми, а затем все параметры кабелей, разъемов и скоростей были установлены с этого момента. Если бы был способ заставить USB работать медленнее, вы могли бы заставить его работать на более длинных кабелях (без повторителя).

Techydude
источник
2
RS232, возможно, "достиг максимума" на 115K, но я помню, когда это было соединение со скоростью 110 или 300 бит в секунду между телепринтером и модемом. Сигналы были несбалансированными, напряжение колебалось от -12 В до + 12 В, и не было витой пары, а также нагрузки или экранирования. На такой скорости и на таких коротких расстояниях характеристики провода ничего не значат. Позже, когда люди захотели отправлять сообщения на более высоких скоростях, превышающих сотни метров, мы получили RS422 и RS485, которые намного больше говорили о проводной линии.
Соломон Медленный