구리의 창고

USB 구조 본문

Window Driver

USB 구조

구리z 2010. 2. 18. 09:52
Endpoint

디바이스는 endpoint를 한 개 이상을 가진다.

각각은 control, interrupt, bulk, isochronous 타입을 가진다.

Control : 상대적으로 작은 크기의 데이터
Interrupt : 일정 주기마다 이벤트를 체크하는 방식
Bulk : 큰 크기의 데이터
Isochronous : 동시성 같이 시간이 중요한 경우 (음성채팅)


그리고 모든 디바이스는 Endpoint 0 을 가지며, 이 것은 디바이스는 컨트롤 하거나 설정하는데 쓰인다.

호스트와 디바이스 Endpoint를 연결하는데는 파이프를 사용한다.

그리고 Endpoint 0는 Default Pipe라고한다.


Interface

Endpoint 의 한 세트를 인터페이스라고 한다.

디바이스 한 개는 여러개의 인터페이스를 가질 수 있으며, 여러개를 가질 경우 Composite Device라고 한다.

                                               USB View로 본 화면


이러한 Descriptor들은 처음에 디바이스를 꼽을 때, Default Pipe를 통해 읽어온다.


Communication

통신은 호스트와 디바이스 사이에만 이루어진다.

디바이스끼리는 절대로 이루어지지 않는다.


Device > Configuration > Interface > Endpoint

Device는 여러개의 Configuration을 가진다.
Configuration은 여러개의 Interface를 가진다.
Interface는 여러개의 Endpoint를 가진다.


'Window Driver' 카테고리의 다른 글

URB  (0) 2010.02.18
USB 관련 헤더파일  (0) 2010.02.18
IoCreateDevice()  (0) 2010.02.17
USB 디바이스 설정  (0) 2010.02.17
Windbg 와 WMWare 환경설정하기  (0) 2010.02.17
Comments