USB Type-C 커넥터용 Windows 드라이버 개발 개요
USB Type-C 시스템이 PD 상태 컴퓨터를 구현하지 않거나 상태 컴퓨터를 구현하지만 비 ACPI 전송을 통해 UCSI를 지원하지 않는 경우 커넥터용 드라이버를 작성해야 합니다. 이 경우 Microsoft에서 제공하는 UCSI 드라이버를 로드할 수 있습니다.
제안된 솔루션
다음 표에서는 하드웨어 또는 펌웨어 기능을 기반으로 하는 솔루션을 권장합니다.
하드웨어/펌웨어 기능 | 분리할 수 없음 | 추가 기능 카드 |
---|---|---|
USB Type-C 커넥터에는 PD 상태 컴퓨터가 없습니다. | UcmTcpciCx에 클라이언트 드라이버를 씁니다. UcmTcpciCx 포트 컨트롤러 클라이언트 드라이버 시작 |
UcmCx에 클라이언트 드라이버를 씁니다. UcmCx 샘플로 시작합니다. |
커넥터는 ACPI와 UCSI 규격입니다. | 기본 제공 드라이버, UcmUcsiCx.sys 및 UcmUcsiAcpiClient를 로드합니다. USB TYPE-C 커넥터 UCSI(시스템 소프트웨어 인터페이스) 드라이버를 참조하세요. | 해당 없음 |
커넥터는 ACPI 없이 UCSI 규격입니다. | UcmUcsiCx에 클라이언트 드라이버를 씁니다. 자세한 내용은 UCSI 클라이언트 드라이버 작성을 참조하세요. UcmCx 샘플로 시작하고 ACPI 부분을 필요한 버스에 대한 구현으로 바꿉니다. |
UcmCx에 클라이언트 드라이버를 씁니다. |
PD 상태 컴퓨터가 있지만 UCSI 규격이 아닙니다. | UcmCx에 클라이언트 드라이버를 씁니다. UcmCx 샘플로 시작합니다. |
UcmCx에 클라이언트 드라이버 쓰기 UcmCx 샘플로 시작합니다. |
섹션 내용
앞의 표에 제안된 솔루션을 구현하려면 다음 topics 읽어보세요.
항목 | Description |
---|---|
아키텍처: Windows 시스템을 위한 USB Type-C 디자인 | USB Type-C 시스템의 일반적인 하드웨어 디자인과 하드웨어 구성 요소를 지원하는 Microsoft 제공 드라이버에 대해 설명합니다. |
USB Type-C Windows 시스템에서 함수 컨트롤러 가져오기 | 함수 컨트롤러용 드라이버는 USB Type-C 커넥터가 지원하는 충전 수준에 대해 운영 체제에 알리고 충전을 시작할 수 있을 때 배터리 하위 시스템에 알리고 디바이스가 그릴 수 있는 최대 전류 양을 알립니다. |
USB Type-C Windows 시스템에 대한 이중 역할 컨트롤러 가져오기 | USB URS(역할 스위치 드라이버)는 이중 역할 컨트롤러의 역할 전환 기능을 처리하는 WDF 클래스 확장 및 해당 클라이언트 드라이버 집합입니다. 시스템에 이중 역할 컨트롤러가 있는 경우 시스템의 USB Type-C 커넥터의 파트너 포트에 연결된 디바이스에 따라 시스템의 역할을 전환할 수 있습니다. 이렇게 하면 유선 도킹과 같은 흥미로운 시나리오가 가능합니다. |
USB Type-C 커넥터 드라이버 작성 | USB Type-C 커넥터를 관리하는 UCM(USB 커넥터 관리자)과 커넥터 드라이버의 예상 동작에 대해 설명합니다. |
USB Type-C 포트 컨트롤러 드라이버 작성 | PD 상태 컴퓨터 없이 USB Type-C 커넥터와 통신하는 USB Type-C 포트 컨트롤러 드라이버를 작성하는 방법을 설명합니다. |
UCSI 클라이언트 드라이버 작성 | 비 ACPI 전송을 사용하는 UCSI 규격 컨트롤러용 드라이버를 작성하는 방법을 설명합니다. |
USB Type-C Policy Manager 클라이언트 드라이버 작성 | Microsoft에서 제공하는 USB Type-C 정책 관리자는 USB Type-C 커넥터의 활동을 모니터링합니다. Windows 버전 1809에는 정책 관리자에 클라이언트 드라이버를 작성하는 데 사용할 수 있는 프로그래밍 인터페이스 집합이 도입되었습니다. 클라이언트 드라이버는 USB Type-C 커넥터에 대한 정책 결정에 참여할 수 있습니다. 이 집합을 사용하면 커널 모드 내보내기 드라이버 또는 사용자 모드 드라이버를 작성하도록 선택할 수 있습니다. |
관련 단원
- USB URS(역할 스위치) 클라이언트 드라이버 작성
- USB 이중 역할 컨트롤러 드라이버 프로그래밍 참조
- USB 함수 클라이언트 드라이버 작성
- USB 함수 컨트롤러 프로그래밍 참조