Чому нам потрібно захистити USB-сигнал, якщо кабель довший 5м?
Це тому, що падіння напруги сигналу?
Це тому, що він рухає струмами?
Чому нам потрібно захистити USB-сигнал, якщо кабель довший 5м?
Це тому, що падіння напруги сигналу?
Це тому, що він рухає струмами?
Відповіді:
Швидкість передачі має значення, оскільки USB є напівдуплексним: для передачі відповіді шину необхідно повернути, а дані передавати в іншому напрямку. Тож хост надсилає дані та чекає підтвердження чи відповіді. Всі передачі контролюються господарем. Потім пристрій має певний (досить короткий) час, протягом якого реагувати. Цей час - це приблизно час, необхідний для двох сигнальних поїздок по 5-метровому кабелю.
(Я не можу знайти посилання прямо в цю секунду, але відповідні спеціальні документи є загальнодоступними)
Редагувати: дякую psmears за те, що знайшли цей розділ
Кабелі та розв'язки
- Чому існують обмеження довжини кабелю та які вони?
A: Довжина кабелю була обмежена специфікацією затримки кабелю в 26ns, що дозволило відображенню осісти на передавачі до відправлення наступного біта. Оскільки USB використовує драйвери припинення та джерела напруги, це має бути так, інакше відбиття можуть накопичити і підірвати драйвер. Це не означає, що лінійна напруга повністю осіла до кінця розряду; з гіршим випадком знищення. Однак, до кінця біту було достатньо демпфування, щоб амплітуда відображення була зменшена до керованих рівнів. Довжина кабелю низької швидкості була обмежена 18с, щоб запобігти впливу лінії передачі від впливу сигналів низької швидкості.
- Я хочу побудувати кабель довше 5 метрів, чому це не спрацює?
Відповідь: Навіть якби ви порушили специфікацію, це буквально не заведе вас далеко. Якщо припустити найгірші випадки затримки, повна швидкість пристрою внизу 5 концентраторів та кабелів має запас часу в 280ps. Зниження цього запасу до 0ps лише дасть вам додаткові 5 см, що навряд чи варто турбуватися.
Тож моя відповідь лише наполовину права: межа зворотного ходу призначена для найгіршого ланцюга втулок і кабелів, загальною глибиною 25м.
Ден Нілі також має рацію, що USB завжди був найдешевшим рішенням для «повільних» периферійних пристроїв, таких як клавіатури, миші, принтери тощо. Якщо ви хотіли повного дуплексу для більшої швидкості та більшої відстані, то 100baseT ethernet - це природний вибір.
Дивіться цю сторінку, /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 щодо розробників.
Насправді не можна "буферувати" USB, принаймні, не у звичному розумінні цього слова. Зазвичай буферизація означає електричне підсилення і, можливо, регенерацію сигналу.
За допомогою USB хост керує всією шиною. Хост надсилає запит, і пристрій повинен надіслати відповідь хосту. Початок відповіді має надходити до хоста через певний час після закінчення передачі запиту. Занадто довгий кабель затримка поширення занадто довгий, щоб відповідь вчасно дісталася до хоста.
Отже, існують обхідні шляхи, і жоден з них не передбачає простого "буферизації", оскільки буферизація додає додаткових затримок, і нам потрібно якось зробити хост більш толерантним до більш тривалої затримки.
Існує два класи обхідних шляхів:
Обхідні шляхи, які вставляють фізичні або віртуальні концентратори. Якщо хост перерахував концентратор на шині, сам концентратор додає додаткову затримку, а між концентратором та вузлом є ще один потенційно повнорозмірний кабель. Будь-які запити на пристрої, які приєднуються нижче від концентратора, заплановані з додатковими затримками.
Ви можете вставити однопортовий концентратор на кожні 4 м кабелю, до 7 концентраторів послідовно. Обмеження - це 7 рівнів концентраторів від хоста до кінцевого пристрою, тому, якщо серед вашої контрацепції є якісь концентратори, вам потрібно зменшити кількість концентраторів відповідно. Багато USB-хостів включають однорівневий внутрішній концентратор, тому реалістичним обмеженням буде 28м кабелю, 6 серійних концентраторів. Усі концентратори, окрім першого, повинні мати вигляд, що вони працюють з власною силою.
Ви можете додати віртуальні концентратори за допомогою прийомопередавача з попереднім фазером, прямо біля штекера, який переходить у хост, а потім передавати USB-трафік по більш тривалому кабелю. Поки сигнали, отримані пристроєм в кінці такого розширеного кабелю, знаходяться в межах специфікації, і поки ваш приймач може відновити дані, що надсилаються стандартним пристроєм по довгому кабелю, ви будете в порядку. Віртуальні концентратори додаються таким чином, що хост дозволяє тривалий час затримки - але, звичайно, немає фізичних вузлів, а лише себе представляє.
Обхідні шляхи, що імітують пристрій, який на вищому рівні протоколу видається "повільним". Ось так працюють деякі «розширювачі» 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, а також деякі знання класу / пристрою, специфічні для продавця, чорні списки / білі списки, щоб запропонувати також більш високу продуктивність.
Більшість схем передачі даних по кабелю мають гідний міжнародно визнаний стандарт, що описує їх реалізацію, включаючи специфікацію "характерного опору" кабелю (думайте про це як опір, але стосується змінного струму), імпеданс припинення ( "опір" в кінці з'єднання, необхідний для уникнення відбиття сигналу, який відскакує зворотний кабель назад до відправника), часто вказаний "швидкість повороту" (час, необхідний для переходу сигналу (ів) від 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 повільніше, ви, ймовірно, могли змусити його працювати по довших кабелях (без ретранслятора).