USB 케이블의 최대 길이가 RS232보다 짧은 이유는 무엇입니까?


9

케이블이 5m보다 길면 왜 USB 신호를 버퍼링해야합니까?
신호 전압 강하 때문입니까?
전류를 공급하기 때문입니까?


1
RS232는 +/- 12 볼트, USB 0-5 볼트를 사용합니다
mischnic

답변:


16

USB는 반이중이기 때문에 전송 속도가 중요합니다. 응답을 전송하려면 버스를 돌리고 다른 방향으로 데이터를 전송해야합니다. 따라서 호스트는 데이터를 전송하고 승인 또는 응답을 기다립니다. 모든 전송은 호스트에 의해 제어됩니다. 그런 다음 장치는 응답 할 시간이 상당히 짧습니다. 이 시간은 대략 5m 케이블을 따라 두 번의 신호 트립에 걸리는 시간입니다.

(이번에는 참고 문헌을 찾을 수 없지만 관련 사양 문서는 공개입니다)

편집 : 이 섹션 을 찾는 psmears 덕분에

케이블 및 장거리 솔루션

  1. 케이블 길이 제한이있는 이유는 무엇입니까?

A : 케이블 길이는 26ns의 케이블 지연 사양에 의해 제한되어 다음 비트가 전송되기 전에 송신기에서 반사가 안정되도록합니다. USB는 소스 터미네이션 및 전압 모드 드라이버를 사용하기 때문에, 그렇지 않으면 반사로 인해 드라이버가 쌓일 수 있습니다. 이것은 라인 전압이 비트의 끝까지 완전히 안정화되었음을 의미하지는 않습니다. 최악의 경우 언더 언. 그러나 반사 진폭이 관리 가능한 수준으로 감소 된 비트의 끝에 충분한 감쇠가있었습니다. 전송 라인 효과가 저속 신호에 영향을 미치지 않도록 저속 케이블 길이는 18ns로 제한되었습니다.

  1. 5 미터보다 긴 케이블을 만들고 싶습니다. 왜 안되나요?

A : 사양을 위반하더라도 문자 그대로 적용 할 수 없습니다. 최악의 지연 시간을 가정하면 5 개의 허브 및 케이블 하단에있는 최고 속도 장치의 타임 아웃 마진은 280ps입니다. 이 마진을 0ps로 줄이면 5cm 만 추가 할 수 있으므로 문제가되지 않습니다.

그래서 내 대답은 반 오른쪽입니다. 왕복 제한은 최악의 허브와 케이블 체인에 대한 것이며 총 깊이는 25m입니다.

또한 Dan Neely는 USB가 항상 키보드, 마우스, 프린터 등과 같은 "느린"주변 장치를위한 가장 저렴한 솔루션이라고 생각했습니다. 더 빠른 속도 거리를 위해 전이중을 원한다면 100baseT 이더넷이 자연스럽게 선택됩니다.


모자는 20m USB 케이블을 만드는 것입니다. 무슨 일이 일어날 지? 전압이 변하지 않고 속도가 중요하다고 말합니다. 20m 케이블 케이스에서 발생하고 USB가 작동하지 않습니까?
user16307

2
호스트가 요청을 보내고 시간 내에 응답을 얻지 못하고 다른 쪽에서 장치를 열거하지 못합니다.
pjc50

4
이거 확실하니? 당 같이 USB 규격 의 신호가 표준에 5m 케이블 / m 미만 5.2 NS 소요되므로 케이블 따라 신호의 전파 지연은 <26ns (표 7-9)이어야한다. 왕복 지연의 한계는 약 1.5μs입니다. 이 속도에서는 신호가 100m를 초과하는 케이블을 통해 이동하고 되돌아 갈 시간이 충분합니다. USB 구현 자 포럼은 5m 제한에 대한 다른 이유 를 제시합니다.
psmears

USB 1.0-2.0이 USB 3.0과 같은 첫날 이후 전이중 대신 반이중이 될 이유가 있습니까? 다시 말해서 전이중에 비해 절반의 실질적인 이점이 있습니까?
tigrou

1
@tigrou 더 광범위하게 USB1은 RS232 / PS2 / LPT / Game 포트와 경쟁 할 수있을 정도로 저렴해야했기 때문에 어디에서나 간단한 옵션을 채택했습니다. 실리콘은 수년에 걸쳐 훨씬 저렴 해졌습니다. 그러나 대상 응용 프로그램에 대해 '충분히'충분해야하는 최소 가격보다 높은 가격을 가지면 USB2로 인해 FireWire가 중단되었습니다. 썬더 볼트는 점점 사산 된 것으로 보인다.
Dan Is Fiddling By Firelight

10

이 페이지 ( /superuser/64744/maximum-length-of-a-usb-cable)를 참조하십시오 .

Q1 : 장치를 연결하는 데 얼마나 오래 케이블을 사용할 수 있습니까? A1 : 실제로 USB 사양은 최고 속도 장치 간의 케이블 길이를 5 미터 (16 피트 5 인치 미만)로 제한합니다. 저속 장치의 경우 제한은 3 미터 (9 피트 10 인치)입니다.

Q2 : 왜 3m 또는 5m보다 긴 케이블을 사용할 수 없습니까? A2 : USB의 전기 설계는 허용하지 않습니다. USB를 설계 할 때 USB 케이블의 최대 길이를 4m 범위로 제한하는 방식으로 USB 데이터 라인에서 전자기장 전파를 처리하기로 결정했습니다. 이 방법에는 여러 가지 장점이 있으며 USB는 데스크탑 환경을 대상으로하기 때문에 범위 제한이 허용되는 것으로 간주되었습니다. 전송 회선 이론에 익숙하고이 주제에 대한 자세한 내용을 보려면 개발자 FAQ의 USB 신호 섹션을 살펴보십시오.


1
여전히 많은 안개 정보를 설명하지 않습니다
user16307

10
당신에게 안개가 날지 모르지만,이 형식이 허용하는 방에서 신호 이론을 설명하는 쉬운 방법은 없습니다.
Wouter van Ooijen

5
이 답변은 한계가있는 특정 이유를 지적한다고 생각합니다. 웹 검색을 통해 이러한 영역을 더 쉽게 탐색 할 수 있습니다. 예를 들어 송전선 이론. 그래서이 답변을 게시했습니다.
Mattias Johansson

1
나는 거의 공감하지 않기 때문에 지금은 그것을 정당화해야한다고 생각합니다. Wouter van Ooijen의 의견과 달리이 답변이 "USB 케이블 길이 제한"을 검색 할 수있는 제안보다 더 구체적인 내용을 제공한다고 생각하지 않습니다. 또한, 당신이 말하는 대답에는 데드 링크가 포함되어 있으므로 추가 독서에 대한 제안은 그렇게 유용하지 않습니다. psmears와 pjc50이했던 것처럼 정확한 원본 출처를 찾아서 인용했다면 실제로이 제한이 존재하는 이유에 대한 세부 정보를 제공하기 때문에 다른 문제가 될 것입니다.
Oleksandr R.

5

적어도 일반적인 단어의 의미로는 USB를 "버퍼링 (buffer)"할 수 없습니다. 일반적으로 버퍼링은 전기 증폭 및 신호 재생을 의미합니다.

USB를 사용하면 호스트가 전체 버스를 구동합니다. 호스트는 요청을 보내고 장치는 호스트에 응답을 발행해야합니다. 요청의 전송이 완료된 후 특정 시간에 응답의 시작이 호스트에 도착해야합니다. 케이블이 너무 길면 전파 지연이 너무 길어 응답이 호스트에 도달하기에 너무 깁니다.

따라서 해결 방법이 있으며 버퍼링에 추가 지연이 발생하기 때문에 간단한 "버퍼링"과 관련된 것은 없으며, 호스트가 더 긴 지연에 더 잘 견딜 수 있도록해야합니다.

해결 방법에는 두 가지 클래스가 있습니다.

  1. 물리적 또는 가상 허브를 삽입하는 해결 방법 호스트가 버스의 허브를 열거하면 허브 자체에 추가 지연이 발생하며 허브와 호스트 사이에 다른 전체 길이 케이블이있을 수 있습니다. 허브에서 다운 스트림으로 연결되는 장치에 대한 요청은 추가 지연으로 예약됩니다.

    1. 최대 4 개의 허브를 직렬로 연결하여 케이블의 4m마다 단일 포트 허브를 삽입 할 수 있습니다. 제한은 호스트에서 최종 장치까지 7 단계의 허브로 제한되므로, 업스트림에 허브가있는 경우 그에 따라 허브 수를 줄여야합니다. 많은 USB 호스트에는 단일 레벨의 내부 허브가 포함되어 있으므로 실제 제한은 28m의 케이블이며 6 개의 허브가 직렬로 연결됩니다. 첫 번째 허브를 제외한 모든 허브는 자체 전원 공급을 가장해야합니다.

    2. 호스트에 들어가는 플러그에 바로 프리 앰 퍼시스가있는보다 강력한 송수신기를 사용하여 가상 허브를 추가 한 다음 더 긴 케이블을 통해 USB 트래픽을 전송할 수 있습니다. 이러한 확장 케이블의 끝에서 장치가 수신 한 신호가 사양 내에 있고 수신기가 긴 케이블을 통해 표준 장치에서 전송 한 데이터를 복구 할 수있는 한 문제가 없습니다. 호스트가 긴 지연을 허용하도록 가상 허브가 추가됩니다. 물론 물리적 허브는 없습니다.

  2. 더 높은 수준의 프로토콜에서 "느린"것처럼 보이는 장치를 에뮬레이트하는 대안. 이것이 Cat-5 USB "확장기"의 작동 방식입니다. 여기에는 5 개의 파트너가 있습니다 : 실제 호스트 (rHost), 여기에 보이는 에뮬레이트 된 장치 (eDev), 긴 케이블, 에뮬레이트 된 호스트 (eHost), 그리고 케이블의 맨 끝에있는 장치 (rDev) .

    처음에는 eDev가 존재하지 않는 척합니다. 때때로 eHost는 rDev가 연결되어 있음을 확인합니다. eDev는 열거하고 데이터를 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가 알게 되 자마자 답장이됩니다.

    현실적인 구현은 NAK가 연기 할 수있는 모든 전송에 대해 rDev 로의 전체 왕복이 포함 된 보수적 휴리스틱으로 시작됩니다. 전송이 진행됨에 따라 rDev의 예상 동작을 학습 할 수 있으며 eDev는 덜 보수적 일 수 있습니다. "확장자"는 표준 USB 클래스에 대한 지식과 일부 공급 업체별 클래스 / 장치 지식 / 블랙리스트 / 화이트리스트를 사용하여 성능을 향상시킬 수 있습니다.


대체 허브를 버스 전원으로 가장 할 수 없습니까? 버스 전원 공급 허브가 자체 전원 공급 허브에 전원을 공급할 수 있다고 생각합니다.
supercat

버스 전원 공급과는 아무런 관련이 없습니다. ACK에 대한 총 지연 시간입니다.
pjc50

@supercat 예, 대체 척 허브가있을 수 있습니다. 가장 한 장치 트리가 호스트와 호환되는 것처럼 보이는 한 어떻게 수행하든 중요하지 않습니다.
Reinstate Monica

USB 사양에 따라 @ pjc50은 최대 ACK 지연이 약 400ns입니다. 시간 신호는 양방향으로 40 미터의 구리를 이동할 수 있습니다. 여기에는 제한 요소가 아닙니다.
ZAB


2

케이블을 통한 데이터 전송 방식은 대부분 케이블의 "특성 임피던스"(저항으로 생각하지만 AC에 적용됨), 종단 임피던스 ( 연결이 끝날 때 '송신기쪽으로 케이블을 다시 수신하는 신호 반사를 피하기 위해 필요한 연결 저항'의 '저항', 종종 지정된 '슬 루율'(신호가 신호에서 전환되는 데 걸리는 시간) 0- 상태에서 1- 상태로 또는 그 반대로), 따라서 초당 0/1 (즉, kbps / Mbps / Gbps) 사이의 최대 전환 수, 따라서 신호 무결성이 저하되기 전에 케이블이 얼마나 오래 지속될 수 있습니까? 물건이 제대로 작동하지 않습니다.

RS232는 USB와 비교하여 케이블 유형, 특성 임피던스, 슬 루율, 케이블 길이, 커넥터 유형에 대한 모든 사양을 제공합니다. 물론, 25 핀 및 9 핀 'D'커넥터가 일반적이지만 RS232는 실제로 다른 언급이없는 모든 종류의 커넥터 및 케이블 및 제품에 설계되었습니다. 실제로 RS232를 사용하면 일반적으로 더 낮은 초당 비트 수 (일명 'baud')로 떨어 뜨려 더 먼 거리를 갈 수 있습니다. 달성 할 수있는 최대 거리는 케이블의 임피던스, 쉴드 여부, 끝의 종료 여부 등에 따라 결정됩니다.

RS232와 USB를 비교할 때, 115k2에서 거의 최고를 기록한 1960 년대 (드문 예외는 제외)의 '표준'과 1.5Mbps에서 시작된 1990 년대와 2000 년대의 하나의 표준을 훨씬 더 빠르게 비교하고 있습니다. 12Mbps (거의 100 배 빠름), 480Mbps (거의 5000 배 빠름)이지만 케이블 매개 변수와 케이블 길이가 안정적으로 작동하는 데 중요한 역할을했습니다 . 데스크탑 주변 장치 연결 표준으로 설계되었으므로 5m가 수용 가능한 것으로 간주 된 다음 케이블 및 커넥터 및 속도의 모든 매개 변수가 해당 지점에서 내려졌습니다. USB를 느리게 만드는 방법이 있다면 더 긴 케이블 (리피터없이)에서 USB를 실행할 수 있습니다.


2
RS232가 115K에서 "정지"되었을 수 있지만 , 텔레 프린터와 모뎀 사이의 초당 110 또는 300 비트 링크 일 때를 기억합니다 . 신호가 불균형하고 전압이 -12V에서 + 12V로 회전했으며 꼬임 쌍 또는 종단 또는 차폐가 없었습니다. 그 속도와 짧은 거리에서 와이어의 특성은 아무 의미가 없습니다. 나중에 사람들이 수백 미터 이상의 고속 전송을 원할 때 RS422와 RS485를 사용하여 송전선에 대해 더 많은 것을 알았습니다.
Solomon Slow
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.