반응형

원문

10.4  Host Controller Driver
The Host Controller Driver (HCD) is an abstraction of Host Controller hardware and the Host Controller’s view of data transmission over the USB.  The HCDI meets the following requirements:
•     Provides an abstraction of the Host Controller hardware.
•     Provides an abstraction for data transfers by the Host Controller across the USB interconnect.
•     Provides an abstraction for the allocation (and de-allocation) of Host Controller resources to support guaranteed service to USB devices.
•     Presents the root hub and its behavior according to the hub class definition.  This includes supporting the root hub such that the hub driver interacts with the root hub exactly as it would for any hub.  In particular, even though a root hub can be implemented in a combination of hardware and software, the root hub responds initially to the default device address (from a client perspective), returns descriptor information, supports having its device address set, and supports the other hub class requests. However, bus transactions may or may not need to be generated to accomplish this behavior given the close integration possible between the Host Controller and the root hub.

 

The HCD provides a software interface (HCDI) that implements the required abstractions.  The function of the HCD is to provide an abstraction, which hides the details of the Host Controller hardware.  Below the Host Controller hardware is the physical USB and all the attached USB devices.
The HCD is the lowest tier in the USB software stack.  The HCD has only one client:  the Universal Serial Bus Driver (USBD).  The USBD maps requests from many clients to the appropriate HCD.  A given HCD may manage many Host Controllers.
The HCDI is not directly accessible from a client.  Therefore, the specific interface requirements for the HCDI are not discussed here.

 

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.

 

해석

Host Controller Driver (HCD)는 Host Controller 하드웨어의 추상화한 것을 말합니다. 그리고 USB에서, 데이터 전송의 Host controller의 뷰(큰그림) 입니다. HCDI는 다음 요구사항을 만족합니다.

- Host Controller 하드웨어의 추상화를 제공한다.

- "데이터 전송"를 위한 추상화를 제공한다.

- USB 디바이스에 대한, 서비스를 제공하기 위해, Host Controller resurce에 대한 할당 (해제) 추상화를 제공합니다.

- 허브 클래스 정의에 따라, 루트 허브 그리고 그것의 행동을 나타냅니다.

hub 드라이버는 root hub와 상호작용합니다. 이것은 루트허브를 지원하는 걸 포함합니다.

 

 HCD는 필요한 추상화를 구현한, 소프트웨어 인터페이스 (HCDI)를 제공합니다. HCD의 기능은 추상화를 제공하는 것 입니다. 그것은 Host controller 하드웨어의 디테일한 사항들을 감춥니다.

 아래의 Host Controller 하드웨어는 물리적인 USB 이고, 그리고 USB 디바이스에 연결된 모든 것들입니다.

 

 HCD는 USB 소프트웨어 스택에서, 가장 낮은 티어에 위치해있습니다. HCD는 오직 하나의 클라이언트를 가집니다. 그건 USBD (Universal Serial Bus Driver) 입니다. 이 USBD는 많은 클라이언트로 부터의 요청들을 정확한 HCD로 매핑을 합니다. 주어진 HCD는 많은 Host Controller들을 관리할 수 도 있습니다.

 HCDI는 클라이언트로부터 직접적으로 엑세스하지 않습니다. 그럴므로, 구체적인 HCDI를 위한, 인터페이스 요구사항은  여기에 논하지 않습니다.

 

10.5 Universal Serial Bus Driver

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

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

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

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

 

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

 

 

10.5.1 USBD Overview

 

 

 

10.5.5 Passing USB Preboot Control to the Operating System

A single software driver owns the Host Controller.  If the host system implements USB services before the operating system loads, the Host Controller must provide a mechanism that disables access by the preboot software and allows the operating system to gain control.

 

하나의 소프트웨 드라이버는 Host Controller를 소유합니다. 만약, OS가 로드되기 전에, Host system이 USB 서비스를 구현한다면, Host Controller는 매카니즘을 제공해야합니다. 그 메카니즘은 바로, preboot 소프트웨어에 의해 엑세스를 못하게 하고, OS가 제어 권한을 얻을 수 있는 메카니즘을 말합니다.

 

반응형

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

[USB 2.0 스펙] Transfer Management  (0) 2022.02.15
[USB 2.0 스펙] 9 USB Device Framework  (0) 2022.02.15
[USB 2.0 스펙] USBDI, HCDI  (0) 2022.02.15
USB 스펙 용어정리  (0) 2022.02.15
USB 20 스펙  (0) 2022.02.15