Чому максимальна довжина кабелю USB коротша, ніж у RS232?


9

Чому нам потрібно захистити USB-сигнал, якщо кабель довший 5м?
Це тому, що падіння напруги сигналу?
Це тому, що він рухає струмами?


1
Rs232 використовує +/- 12 Вольт, USB 0-5 вольт
мишник

Відповіді:


16

Швидкість передачі має значення, оскільки USB є напівдуплексним: для передачі відповіді шину необхідно повернути, а дані передавати в іншому напрямку. Тож хост надсилає дані та чекає підтвердження чи відповіді. Всі передачі контролюються господарем. Потім пристрій має певний (досить короткий) час, протягом якого реагувати. Цей час - це приблизно час, необхідний для двох сигнальних поїздок по 5-метровому кабелю.

(Я не можу знайти посилання прямо в цю секунду, але відповідні спеціальні документи є загальнодоступними)

Редагувати: дякую psmears за те, що знайшли цей розділ

Кабелі та розв'язки

  1. Чому існують обмеження довжини кабелю та які вони?

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

  1. Я хочу побудувати кабель довше 5 метрів, чому це не спрацює?

Відповідь: Навіть якби ви порушили специфікацію, це буквально не заведе вас далеко. Якщо припустити найгірші випадки затримки, повна швидкість пристрою внизу 5 концентраторів та кабелів має запас часу в 280ps. Зниження цього запасу до 0ps лише дасть вам додаткові 5 см, що навряд чи варто турбуватися.

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

Ден Нілі також має рацію, що USB завжди був найдешевшим рішенням для «повільних» периферійних пристроїв, таких як клавіатури, миші, принтери тощо. Якщо ви хотіли повного дуплексу для більшої швидкості та більшої відстані, то 100baseT ethernet - це природний вибір.


капелюх - це один 20-метровий кабель USB. що б сталося? Ви кажете, що напруга не змінюється і швидкість має значення. так що відбувається в корпусі кабелю 20 м і USB не працює?
користувач16307

2
Хост надсилає запит, не отримує відповіді вчасно і не перелічує пристрій на іншому кінці.
pjc50

4
Ви впевнені в цьому? Відповідно до специфікації USB , затримка поширення сигналу по кабелю повинна бути <26ns (таблиця 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; і Громовідвід все частіше видається мертвонародженим.
Ден піднімається вогняним світлом

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-сигнали в FAQ щодо розробників.


1
все ще не пояснює нічого багато туманної інформації
користувач16307,

10
Вам може бути туманно, але немає простого способу пояснити теорію сигналу в приміщенні, який цей формат дозволяє.
Wouter van Ooijen

5
Я думаю, що ця відповідь вказує на певні причини, чому існують обмеження. Подальше вивчення цих напрямків досить просто за допомогою веб-пошуку. Наприклад, з теорії ЛЕП. Тому я опублікував цю відповідь.
Маттіас Йоханссон

1
Я рідко виступаю проти, тому зараз відчуваю вимушеність виправдовуватися. На відміну від коментаря Вутера ван Ойєєна, я дійсно не вважаю, що ця відповідь дає щось більш конкретне, ніж можлива пропозиція пошуку за "обмеженням довжини кабелю 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 згодом буде споживати дані та ACK. Якщо це не вдалося, або якщо rDev відповість STALL, найкраще зробити eDev це діяти при наступній передачі від хоста. Крім того, eDev завжди може передати NAK-передачу, звичайно правильне припущення, що хост просто повторно спробує ідентичну передачу пізніше. Незважаючи на те, що оригінальний переказ був NAK-ed, він передається в eHost, який потім виконує передачу з rDev. Що б не було відповіді rDev, стає відповіддю eDev, як тільки він дізнається про нього.

    Реалістичні реалізації розпочнуться з консервативної евристики, яка передбачає повний перехід до rDev для всіх передач, які можуть бути відкладені НАК. По мірі передачі очікувана поведінка rDev може бути вивчена, а eDev може стати менш консервативним. "Розширювач" може використовувати знання стандартних класів USB, а також деякі знання класу / пристрою, специфічні для продавця, чорні списки / білі списки, щоб запропонувати також більш високу продуктивність.


Не вдалося чергувати вузли, що роблять вигляд, що працюють на автобусі? Я думаю, що концентратор, що працює на автобусі, може живити хаб, що працює на самому живлення, чи не так?
суперкат

Немає нічого спільного з приводом на автобус - це загальна затримка у відповіді на ACK.
pjc50

@supercat Так, можуть існувати альтернативні центри видання. Не має значення, як ви це зробите, доки дерево пристрою з видом виглядає сумісним з хостом.
Відновіть Моніку

@ pjc50 відповідно до специфікації USB, максимальна затримка ACK становить близько 400нс. Сигнал часу може подорожувати по 40 метрів міді в обох напрямках. Тут це не обмежуючий фактор.
ЗАБ

1
@ZAB Дивіться usb.org/developers/usbfaq/#cab1
pjc50

2

Більшість схем передачі даних по кабелю мають гідний міжнародно визнаний стандарт, що описує їх реалізацію, включаючи специфікацію "характерного опору" кабелю (думайте про це як опір, але стосується змінного струму), імпеданс припинення ( "опір" в кінці з'єднання, необхідний для уникнення відбиття сигналу, який відскакує зворотний кабель назад до відправника), часто вказаний "швидкість повороту" (час, необхідний для переходу сигналу (ів) від a 0-стан до 1-го стану або навпаки), а отже, максимальна кількість переходів між 0/1 в секунду (тобто kbps / Mbps / Gbps), а значить, і тривалість кабелю до погіршення цілісності сигналу & матеріал перестає працювати правильно.

У порівнянні з USB, RS232 має виправлення всіх специфікацій щодо типу кабелю, характерного опору, швидкості руху, довжини кабелю, типу з'єднувача. Звичайно, 25-контактні та 9-контактні 'D' роз'єми були поширеними, але насправді RS232 був розроблений у всілякі роз'єми та кабелі та вироби без реальних специфікацій, щоб сказати інше. На практиці, за допомогою RS232 ви зазвичай можете пройти більшу відстань, опускаючись до нижчої швидкості біт на секунду (так званий "бод"). Максимальна відстань, яку ви зможете досягти, також буде значною мірою визначатись імпедансом вашого кабелю, незалежно від того, чи він екранований, ні кінець, і так далі.

і порівнюючи RS232 з USB, ви порівнюєте "стандарт" 1960-х років, який значно перевищив 115k2 (за рідкісними винятками), з одним з 1990-х і 2000-х років, який розпочався зі швидкістю 1,5 Мбіт / с, на порядок швидше, потім 12Mbps (майже в 100 разів швидше), то 480Mbps (майже 5000х швидше), але це означає , що параметри кабелю і довжина кабелю грають важливу роль в створенні його працювати надійно . Він був розроблений як стандарт настільного периферійного з'єднання, тому 5 м вважався прийнятним, і тоді всі параметри кабелів і роз'ємів і швидкостей були встановлені з цієї точки. Якщо б був спосіб зробити USB повільніше, ви, ймовірно, могли змусити його працювати по довших кабелях (без ретранслятора).


2
RS232, можливо, "перевищив" на 115 К, але я пам'ятаю, коли це було 110 або 300 біт на секунду зв'язку між телепринтером і модемом. Сигнали були неврівноваженими, напруга хитнулося від -12В до + 12В, і не було витої пари, ні припинення, ні екранування. При такій швидкості і на таких коротких відстанях характеристики дроту нічого не означали. Пізніше, коли люди хотіли відправляти на більшій швидкості понад сотні метрів, ми отримали RS422 та RS485, які сказали набагато більше про провідну лінію передачі.
Соломон повільно
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.