반응형

 

 

 

 

 

 

10.1.1 Overview

The USB System has three basic components:
•     Host Controller Driver
•     USB Driver
•     Host Software
The Host Controller Driver (HCD) exists to more easily map the various Host Controller implementations into the USB System, such that a client can interact with its device without knowing to which Host Controller the device is connected.  The USB Driver (USBD) provides the basic host interface (USBDI) for clients to USB devices.  The interface between the HCD and the USBD is known as the Host Controller Driver Interface (HCDI).  This interface is never available directly to clients and thus is not defined by the USB Specification.  A particular HCDI is, however, defined by each operating system that supports various Host Controller implementations.

 

The USBD provides data transfer mechanisms in the form of I/O Request Packets (IRPs), which consist of a request to transport data across a specific pipe.  In addition to providing data transfer mechanisms, the USBD is responsible for presenting to its clients an abstraction of a USB device that can be manipulated for configuration and state management.  As part of this abstraction, the USBD owns the default pipe (see Chapter 5 and Chapter 9) through which all USB devices are accessed for the purposes of standard USB
control.  This default pipe represents a logical communication between the USBD and the abstraction of a USB device as shown in Figure 10-2.

 

 

해석

USB 시스템은 3개의 기본적인 컴포넌트로 이루어져있습니다.

- Host Controller Driver

- USB Driver

- Host Software

Host Controller Driver (HCD)는 USB 시스템 내에서, 더 쉽게 다양한 Host Controller 구현을 맵핑하기 위해 존재합니다, 그래서 클라이언트는 디바이스가 어느 Host Controller에 연결되었는 지를 알 지 않아도, 그것의 디바이스와 상호작용을 할 수 있습니다. 

 USB 드라이버 (USBD)는 클라이언트들을 위해서, USB 디바이스들에게, Basic Host Interface (USBDI)를 제공합니다. 그 인터페이스는 HCD와 USBD사이에 있는데, 이건 Host Controller Driver Interface (HCDI)로 알려져 있습니다.

 

 이 인터페이스는, 클라이언트에게로, 직접적으로 이용할 수 없습니다. 그리고 따라서, 그건 USB 명세에 의해 정의되지 않습니다. 특정한 HCDI는 그러나, 각각의 OS에 의해, 정의됩니다. 그 OS는 다양한 Host Controller implementations을 지원하는 OS를 말합니다.

 

 USBD는 입출력 요청 패킷 (I/O Request Packets (IRPs)) 형태로, "데이터 전송" 메커니즘을 제공합니다.

 그것은, 구체적인 파이프를 가로지르면서, 데이터를 전송하는 요청으로 이루어져 있습니다.

 "데이터 전송" 메커니즘을 제공하는 것 이외에, USBD는 그것의 클라이언트에게, configuration 그리고 상태 관리를 위해 조작이 될 수 있는 USB를 추상화하는 걸 제공하는 역할을 합니다.

 이것의 추상화 부분으로써, USBD는 디폴트 파이프(default pipe)를 가지고 있습니다.

 그것(디폴트 파이프)을 통해, 모든 USB 디바이스들은 표준 USB 제어(standard USB control)를 목적을 위해, 접근하게 됩니다. 이 디폴트 파이프는 USBD와 USB 디바이스의 추상화 사이에, 논리적인 통신을 대신합니다.

 

 

 

 요약

- HCD는 다양한 Host Controller 구현을 맵핑하기 위해 존재.

- HCDI는 클라이언트가 직접적으로 이용 못함.

 

 

 

 

5.11.1.3  Host Controller Driver
The Host Controller Driver (HCD) is responsible for tracking the IRPs in progress and ensuring that USB bandwidth and (micro)frame time maximums are never exceeded.  When IRPs are made for a pipe, the HCD adds them to the transaction list.  When an IRP is complete, the HCD notifies the requesting software client of the completion status for the IRP.  If the IRP involved data transfer from the function to the software client, the data was placed in the client-indicated data buffer.
IRPs are defined in an operating system-dependent manner.

 

 

 

10.5  Universal Serial Bus Driver
The USBD provides a collection of mechanisms that operating system components, typically device drivers, use to access USB devices.  The only access to a USB  device is that provided by the USBD.  The USBD implementations are operating system-specific.  The mechanisms provided by the USBD are implemented, using as appropriate and augmenting as necessary, the mechanisms provided by the operating system environment in which the USB runs.  The following discussion centers on the basic capabilities required for all USBD implementations.

 For specifics of the USBD operation within a specific environment, see the relevant operating system environment guide for the USBD.  A single instance of the USBD directs accesses to one or more HCDs that in turn connect to one or more Host Controllers.  If allowed, how USBD instancing is managed is dependent upon the operating system environment. However, from the client’s point of view, the USBD with which the client communicates manages all of the attached USB devices.

 

10.5 Universal Serial Bus Driver

 USBD는 OS 컴포넌트가 (전형적인 디바이스 드라이버), USB 디바이스를 엑세스하기 위해 사용하는 매카니즘의 모음을 제공합니다.

 오직 USB 디바이스로, 이 엑세스는 USBD에 의해 제공됩니다.

 이 USBD 구현들은, OS에 대해서, 구체적인 것들입니다.

 USBD에 의해 제공된 이 매커니즘은 구현되었습니다. 그것은 필요에 의해 정확하고, 증대함으로써, OS 환경에 의해 제공되는 메커니즘들을 사용함으로써 말이죠, 그리고 그 안에서 USB는 동작합니다.

 

 구체적인 환경 안에서, USBD 작동의 구체적인 것들은, USBD를 위해 관련된 OS 환경 가이드를 보시는게 좋습니다. USBD의 하나의 인스턴스는 해당 차례에 하나 혹은 여러개의 Host Controller에 연결한, 하나 혹은 더 많은 HCD들에 대한 엑세스를 지도합니다.

 

 

 

 

HCI (Host Controller Interface)

USB Porotocol의 인터페이스, 즉 상위 프로토콜하위 하드웨어를 엑세스하기 위한, 절차나 방법들의 규격을 정의한 것입니다.

[ 상위 프로토콜 ] -- (HCI) --> [ 하위 하드웨어 ]

 

반응형

'영어 > 기술문서로 영어 공부하기' 카테고리의 다른 글

[USB 2.0 스펙] 9 USB Device Framework  (0) 2022.02.15
[USB 2.0 스펙] 10.4 Host Controller Driver  (0) 2022.02.15
USB 스펙 용어정리  (0) 2022.02.15
USB 20 스펙  (0) 2022.02.15
TinyUSB 문서  (0) 2022.02.14