데이터계측분석/전기전자 기술자료

USB 프로토콜의 데이터형식과 동작방식

에이티에스 2024. 9. 23. 09:38
728x90

USB 프로토콜 또는 범용 직렬 버스는 1996년 Intel의 Ajay V.Bhatt에 의해 처음 개발 및 출시되었습니다. USB는 컴퓨터뿐만 아니라 스캐너, 프린터, 키보드, 게임 패드, 디지털 카메라, 조이스틱 등과 같은 다양한 주변 장치 간에 데이터를 전송하기 위한 다양한 종류의 직렬 및 병렬 포트를 대체합니다. 

 

1. USB 프로토콜이란?

마우스, 디지털 카메라, 프린터, 키보드, 미디어 장치, 스캐너, 플래시 드라이브 및 외장 하드 드라이브와 같은 다양한 주변 장치와 스마트 폰 또는 PC와 같은 호스트 컨트롤러 간의 통신을 허용하는 데 사용되는 공통 인터페이스를 USB 프로토콜이라고합니다.

 

범용 직렬 버스는 핫 스와핑을 허용하고 플러그 앤 플레이를 향상시키기 위한 것입니다. 플러그 앤 플레이를 사용하면 OS가 컴퓨터를 시작하지 않고도 자동으로 새 주변 장치를 구성하고 검색할 수 있는 반면, 핫 스와핑은 다시 부팅하지 않고 새 주변 장치를 제거하고 교체할 수 있습니다.


USB에는 Type A와 Type B가 가장 자주 사용되는 다양한 유형의 USB 커넥터가 있습니다. 현재 구형 커넥터는 Mini-USB, Micro-USB 및 USB-C 케이블로 대체됩니다.

 

 

반응형

 

2. USB 핀 구성

일반적인 Type-A USB 커넥터는 다양한 응용 분야에서 사용됩니다. USB에는 아래에 제공된 4개의 핀이 포함되어 있습니다. 이러한 유형의 USB는 일반적인 4핀 USB 커넥터이기 때문에 다양한 장치를 PC에 연결할 때 주로 사용됩니다. 

.

 

 

 

Type A USB의 핀은 특정 기능을 수행하기 위해 컬러 와이어로 표시됩니다.

  • 핀1(VBUS): 전원 공급 장치를 제공하는 데 사용되는 빨간색 와이어입니다.
  • 핀2(D-): USB 연결에 사용되는 흰색으로 제공되는 차동 쌍 핀입니다.
  • 핀3(D+): USB 연결에 사용되는 녹색으로 제공되는 차동 쌍 핀입니다.
  • 핀4(GND): 블랙 색상으로 제공되는 접지 핀입니다.

 

위의 핀에서 D+ 및 D- 핀은 모두 데이터 전송을 나타냅니다. '1'이 전선을 통해 전송되면 D+ 라인은 양의 흐름을 가지며 '0'이 전송되면 그 반대가 발생합니다.

 

 

반응형

 

3. USB 프로토콜 아키텍처

USB 프로토콜의 아키텍처는 다음과 같습니다. 다양한 I/O 장치가 USB를 통해 컴퓨터에 연결되면 모두 트리처럼 구조화됩니다. USB 구조에서 모든 I/O 장치는 직렬 전송 형식을 통해 데이터를 전송하기 위해 지점 간 연결을 만듭니다.

 

아키텍처에서 I/O 장치는 허브라고 하는 USB를 통해 컴퓨터에 연결됩니다. 아키텍처 내의 허브는 I/O 장치와 컴퓨터 간의 연결 지점이며 루트 허브는 전체 구조를 호스팅 컴퓨터에 연결하는 데 사용됩니다. 아키텍처의 I/O 디바이스는 키보드, 마우스, 스피커, 카메라 등입니다.

 

 

 

 

반응형

 

4. USB 데이터 형식

USB 프로토콜에서 마스터 장치는 USB 버스 위에서 발생하는 모든 통신을 시작하는 USB 호스트로 알려져 있습니다. 여기서 컴퓨터가 아니면 다른 컨트롤러는 일반적으로 마스터 장치로 간주되므로 정보를 요청하면 다른 장치에만 응답합니다. 슬레이브 장치 또는 주변 장치는 호스트 장치에 작동에 필요한 정보를 제공하도록 프로그래밍된 호스트 장치에 간단히 연결됩니다. 일반적으로 슬레이브 또는 주변 장치에는 주로 키보드, 컴퓨터의 마우스, USB 플래시 드라이브, 카메라 등이 포함됩니다.

 

호스트 장치가 서로 효과적으로 통신하는 것이 매우 중요합니다. 주변 장치가 USB를 통해 컴퓨터에 연결되면 컴퓨터는 장치 유형을 인식하고 장치가 작동할 수 있도록 하는 드라이버를 자동으로 로드합니다.

두 장치 간에 전송되는 소량의 데이터를 '패킷'이라고 하며, 여기서 모든 패킷과 함께 디지털 정보 단위가 전송됩니다. USB 프로토콜 내에서 발생할 수 있는 데이터 전송은 아래에 설명되어 있습니다.

 

 

 

 

반응형

 

1) 메시지 형식

USB 프로토콜의 데이터는 먼저 패킷 LSB 내에서 전송됩니다. USB 패킷에는 주로 토큰, 데이터, 핸드셰이크 및 프레임의 시작의 네 가지 유형이 있습니다. 모든 패킷은 다음 메시지 형식 다이어그램에 표시된 다양한 필드 유형으로 설계되었습니다.

USB의 메시지 형식 다이어그램

 

1) 동기화

USB 프로토콜에서 모든 USB 패킷은 일반적으로 송신기와 수신기를 동기화하여 데이터를 정확하게 전송하는 데 사용되는 SYNC 필드로 시작합니다. 저속 또는 고속 USB 시스템에서 SYNC와 같은 필드에는 3KJ 쌍이 포함되며 2K를 거쳐 8비트 데이터를 프레임합니다.

 

Hi-Speed USB 시스템에서 동기화는 32비트 데이터를 프레임하기 위해 15KJ 쌍과 2K를 거쳐야 합니다. 이 필드는 고속 및 저속에서 8비트로 길고, 그렇지 않으면 최대 속도 &를 위해 32비트 길이이며 송신기 및 수신기의 CLK를 동기화하는 데 사용됩니다. 마지막 2비트는 PID 필드가 시작되는 위치를 나타냅니다.

 

 

2) 패킷 식별자 필드 또는 PID

USB 프로토콜 내의 패커 식별자 필드는 주로 전송되는 패킷 유형과 패킷 데이터 형식을 인식하는 데 사용됩니다. 이 필드의 길이는 8 비트 길이이며, 상위 4 비트는 패킷의 종류를 인식하고 하위 4 비트는 상위 4 비트의 비트 단위 보수입니다.

 

3) 주소 필드

USB 프로토콜의 주소 필드는 주로 어떤 패킷 장치가 지정되는지 나타냅니다. 7비트 길이로 127개의 장치를 지원할 수 있습니다. 아직 주소가 할당되지 않은 모든 장치는 0 주소로 전송된 패킷에 반응해야 하기 때문에 주소 0은 유효하지 않습니다.

 

4) 엔드포인트 필드

USB 프로토콜 내의 엔드포인트 필드는 4비트 길이이며 주소 지정 시 추가적인 유연성을 허용합니다. 일반적으로 이들은 IN/OUT으로 이동하는 데이터에 대해 나뉩니다. 엔드포인트 '0'은 CONTROL 엔드포인트라고 하는 특별한 경우이며 각 장치에는 엔드포인트 0이 포함됩니다.

 

5) 데이터 필드

데이터 필드의 길이는 고정되어 있지 않으므로 0에서 8192 비트 길이이며 항상 바이트 수의 정수입니다.

 

6) CRC 필드

CRC(Cyclic Redundancy Checks)는 모든 토큰 패킷에 5비트 CRC가 포함되고 데이터 패킷에 16비트 CRC가 포함된 패킷 페이로드의 데이터에 대해 실행됩니다. CRC-5는 토큰 패킷과 프레임 패킷의 시작 부분에서 사용하는 5비트 길이입니다.

 

7) EOP 필드

모든 패킷은 EOP(End of the Packet) 필드에 의해 종료되며, 이 필드에는 2비트 시간에 대한 SE0 또는 단일 종단 0이 포함되고 1비트 시간에 대한 J가 포함됩니다.

 

 

 

반응형

 

5. USB 프로토콜 동작방식

USB 프로토콜은 폴링에서 프로세서가 입력/출력 장치가 데이터를 전송할 준비가 되었는지 여부를 지속적으로 확인하기 때문에 폴링 원칙에 따라 작동합니다. 따라서 I/O 장치는 지속적으로 확인하는 것이 프로세서의 주요 책임이기 때문에 해당 조건과 관련하여 프로세서를 업데이트할 필요가 없습니다. 따라서 이것은 USB를 저렴하고 간단하게 만들 것입니다.

 

새 장치가 허브에 연결될 때마다 '0'과 같이 주소가 지정됩니다. 정상적인 기간 동안 호스트 컴퓨터는 허브를 폴링하여 호스트가 시스템의 I/O 장치가 시스템에서 연결 또는 분리되었는지 알 수 있는 상태를 가져옵니다.

호스트가 새 디바이스에 응답하게 되면 디바이스의 USB 인터페이스에 있는 특정 메모리 내에서 사용 가능한 데이터를 읽어 디바이스 용량을 알 수 있습니다. 호스트가 적절한 드라이버를 사용하여 장치와 통신할 수 있도록 합니다. 그 후 호스트는 장치 레지스터에 기록되는 새 장치에 주소를 할당합니다. 이 장치에서 USB는 플러그 앤 플레이 기능을 제공합니다.

이 기능을 사용하면 장치가 연결되면 호스트가 사용 가능한 새 I/O 장치를 자동으로 식별할 수 있습니다. 장치의 I/O 용량은 호스트 소프트웨어에 의해 결정됩니다.

 

 

 

 

반응형

 

 

USB 프로토콜의 또 다른 기능은 "핫 플러그 가능"으로, 이는 I/O 장치가 종료하거나 다시 시작하지 않고 호스트 시스템에서 연결되거나 제거됨을 의미합니다. 따라서 I/O 장치가 연결되거나 분리될 때 시스템이 계속 실행됩니다.

USB 프로토콜은 또한 미리 설정된 시간 간격으로 데이터가 전송되는 모든 곳에서 등시 트래픽을 지원할 수 있습니다. 등시 데이터의 전송은 동기 및 비동기 데이터 전송에 비해 매우 빠릅니다.

 

트래픽을 등시성을 유지하기 위해 루트 허브는 USB를 통해 등시 데이터의 시작을 지정하는 일련의 비트를 전송하고 실제 데이터는 이 일련의 비트 이후에 전송될 수 있습니다.

 

 

 

 

반응형

 

 

6. USB 프로토콜 기능

USB의 기능은 다음과 같습니다.

  • USB 2.0의 최대 속도는 최대 480Mbps입니다.
  • 개별 USB 길이는 허브를 포함하여 최대 40미터, 허브 없이 최대 5미터에 달할 수 있습니다
  • USB는 플러그 앤 플레이 장치입니다.
  • 컴퓨터 또는 자체 공급 장치를 통해 전원을 끌어올 수 있습니다.
  • 단일 USB 호스트 컨트롤러를 사용하여 100개 이상의 주변 장치를 연결할 수 있습니다.
  • USB 장치에서 사용하는 전력은 최대 5V이며 최대 500mA를 제공합니다.
  • 컴퓨터가 절전 모드로 변경되면 일부 유형의 USB는 자동으로 절전 모드로 전환됩니다.
  • USB에는 두 개의 전선이 있습니다. 한 와이어는 전원에 사용되고 다른 와이어는 데이터를 전달하는 데 사용됩니다.
  • 5V에서 컴퓨터는 전원선에 최대 500mA의 전원을 공급할 수 있습니다.
  • 저전력 기반 장치는 USB에서 직접 전력을 끌어올 수 있습니다.
  • 컴퓨터와 주변 장치 사이에 USB를 사용하여 양방향 통신이 가능합니다.

 

USB의 사양은 다음을 포함하는 USB 표준에 따라 변경됩니다.

USB는 저속 -1.5Mbps, 최대 속도 -12Mbps 및 고속 -480Mbps의 세 가지 유형의 속도를 지원합니다.

- USB 2.0 표준

  • 최대 데이터 전송 속도가 480Mbps인 고속 USB입니다. 이 USB는 모든 커넥터를 지원합니다.
  • 케이블의 최대 길이는 5미터입니다.
  • 최대 충전 전력은 최대 15W입니다.

 

- USB 3.2 표준

  • USB 3.2(Generation1)는 최대 데이터 전송 속도가 5Gbps인 초고속 USB입니다.
  • USB 3 USB-A, USB 3 USB-B & USB-C와 같은 다양한 커넥터를 지원합니다.
  • 최대 케이블 길이는 3미터입니다.
  • 최대 충전 전력은 최대 15W입니다.

 

- USB 3.2(2세대)

  • USB 3.2(Generation2)는 최대 데이터 전송 속도가 10Gbps인 초고속 USB이기도 합니다.
  • 최대 케이블 길이는 1미터입니다.
  • 또한 USB 3 USB-A, USB 3 USB-B 및 USB-C와 같은 다양한 커넥터를 지원합니다.
  • 최대 충전 전력은 최대 100w입니다.

 

- USB 3.2 2×2세대

  • USB 3.2 Generation 2×2는 최대 데이터 전송 속도가 20Gbps인 초고속 USB입니다.
  • 최대 케이블 길이는 1미터입니다.
  • USB 커넥터도 지원합니다.
  • 최대 충전 전력은 최대 100w입니다.

 

- Thunderbolt 3 표준

  • 최대 40Gbps의 최대 데이터 전송 속도를 포함하여 Thunderbolt라고도 합니다.
  • 최대 케이블 길이는 액티브 케이블의 경우 2미터, 패시브 케이블의 경우 0.8미터입니다.
  • USB 커넥터를 지원합니다.
  • 최대 충전 전력은 최대 100w입니다.

 

- USB 4 표준

  • 최대 4Gbps의 최대 데이터 전송 속도를 제공하는 Thunderbolt 40라고도 합니다.
  • 최대 케이블 길이는 액티브 케이블의 경우 2m, 패시브 케이블의 경우 0.8m입니다.
  • USB 커넥터를 지원합니다.
  • 최대 충전 전력은 최대 100w입니다.

 

728x90
반응형
그리드형