USB(범용 직렬 버스)
USB(유니버설 직렬 버스)는 주변 장치에 대한 표준 저비용 연결을 보장하는 확장 가능한 플러그 앤 플레이 직렬 인터페이스를 제공합니다. USB 장치에는 키보드, 마우스, 조이스틱, 프린터, 스캐너, 저장 장치, 모뎀, 화상 회의 카메라 등이 포함됩니다.
USB-IF는 공식 USB 사양, 테스트 사양 및 도구를 유지하는 SIG(특수 관심 그룹)입니다.
Windows 운영 체제에는 공식 USB 사양을 준수하는 USB 호스트 컨트롤러, 허브 및 디바이스 및 시스템에 대한 기본 지원이 포함됩니다. Windows는 USB 디바이스와 통신하는 디바이스 드라이버 및 애플리케이션을 개발하는 데 사용할 수 있는 프로그래밍 인터페이스도 제공합니다.
Windows의 USB
USB Type-C 커넥터에 대한 Windows 지원: USB Type-C 커넥터를 사용하여 Windows 시스템을 빌드하려는 OEM의 경우.
USB4(유니버설 직렬 버스 4): USB4™ 연결 관리자에 대한 정보와 함께 USB4를 지원하는 Windows 시스템을 도입하는 OEM, IHV 및 실리콘 공급업체를 제공하여 디버깅 및 가져오기 절차를 용이하게 합니다.
USB FAQ: USB 스택 및 USB에서 지원되는 기능에 대한 드라이버 개발자의 질문과 대답입니다.
USB 디바이스용 Microsoft OS 설명자: Windows는 Windows 운영 체제를 실행하는 시스템에 연결할 때 더 나은 열거를 허용하는 MS OS 설명자를 정의합니다.
개발 도구
USB 샘플
Windows용 USB 드라이버 또는 앱 만들기
USB 드라이버 개발을 소개합니다. 디바이스에 USB 드라이버를 제공하는 데 가장 적합한 모델을 선택하는 방법에 대한 정보를 제공합니다.
USB 클라이언트 드라이버 작성(KMDF, UMDF)
이 섹션에는 Microsoft Visual Studio에 포함된 USB 템플릿을 사용하여 첫 번째 사용자 모드 및 커널 모드 USB 드라이버를 작성하는 방법에 대한 자습서가 포함되어 있습니다.
USB 호스트 컨트롤러 드라이버 작성
사양을 준수하지 않는 xHCI 호스트 컨트롤러를 개발하거나 사용자 지정 비 xHCI 하드웨어(예: 가상 호스트 컨트롤러)를 개발하는 경우 UCX와 통신하는 호스트 컨트롤러 드라이버를 작성할 수 있습니다. 예를 들어 USB 디바이스를 지원하는 무선 도크를 고려해 보세요. PC는 전송으로 TCP를 통해 USB를 사용하여 무선 도크를 통해 USB 장치와 통신합니다.
UCX(USB 호스트 컨트롤러) 참조
USB 디바이스에 대한 함수 컨트롤러 드라이버 작성
호스트가 디바이스로 보낸 모든 USB 데이터 전송 및 명령을 처리하는 컨트롤러 드라이버를 개발할 수 있습니다. 이 드라이버는 Microsoft에서 제공하는 UFX(USB 함수 컨트롤러 확장)와 통신합니다.
UFX(USB 함수 클래스 확장) 참조
USB Type-C 커넥터 드라이버 작성
Windows 10에는 새로운 USB 커넥터인 USB Type-C에 대한 지원이 도입되었습니다. Microsoft에서 제공하는 클래스 확장 모듈과 통신하는 커넥터용 드라이버를 작성할 수 있습니다. UcmCx는 Power Delivery를 지원하는 포트인 Type-C를 지원하는 포트와 같은 Type-C 커넥터와 관련된 시나리오를 처리합니다.
USB Type-C 커넥터용 Windows 드라이버 개발
USB 커넥터 관리자 클래스 확장(UcmCx) 참조
USB 이중 역할 컨트롤러 드라이버 작성
USB 이중 역할 컨트롤러는 이제 Windows 10에서 지원됩니다. Windows에는 ChipIdea 및 Synopsis 컨트롤러용 기본 제공 클라이언트 드라이버가 포함되어 있습니다. 다른 컨트롤러의 경우 Microsoft는 이중 역할 클래스 확장(UrsCx)과 해당 클라이언트 드라이버가 서로 통신하여 이중 역할 컨트롤러의 역할 전환 기능을 처리할 수 있도록 하는 프로그래밍 인터페이스 집합을 제공합니다.
이 기능에 대한 자세한 내용은 다음을 참조하십시오.
USB 이중 역할 컨트롤러 드라이버 프로그래밍 참조
에뮬레이트된 디바이스용 USB 드라이버 작성
에뮬레이트된 USB(유니버설 직렬 버스) 호스트 컨트롤러 드라이버와 연결된 가상 USB 디바이스를 개발할 수 있습니다. 두 구성 요소는 Microsoft에서 제공하는 USB 디바이스 에뮬레이션 클래스 확장(UdeCx)과 통신하는 단일 KMDF 드라이버로 결합됩니다.
에뮬레이트된 USB 디바이스용 Windows 드라이버 개발(UDE)
에뮬레이트된 USB 호스트 컨트롤러 드라이버 프로그래밍 참조
USB 드라이버 개발을 위한 WDF 확장
- USB 커넥터 관리자 클래스 확장(UcmCx) 참조
- UCX(USB 호스트 컨트롤러) 참조
- UFX(USB 함수 클래스 확장) 참조
UWP 앱 작성
USB 디바이스에 문의하고 완료하기 시작: UWP 앱에서 USB 기능을 구현하는 방법에 대한 단계별 지침을 제공합니다. USB 디바이스에 이러한 앱을 작성하려면 Visual Studio 및 Microsoft Windows SDK(소프트웨어 개발 키트)가 필요합니다.
Windows.Devices.Usb: UWP 네임스페이스 프로그래밍 참조입니다.
Windows 데스크톱 앱 작성
WinUSB 애플리케이션 작성: 애플리케이션이 WinUSB Functions를 호출하여 USB 디바이스와 통신하는 방법을 설명합니다.
WinUSB 함수
일반적인 프로그래밍 시나리오: 드라이버 또는 앱이 USB 디바이스와 통신하기 위해 수행하는 일반적인 작업 목록입니다. 각 작업에 필요한 프로그래밍 인터페이스에 대한 빠른 정보를 가져옵니다.
Windows를 사용하여 USB 디바이스 테스트
MUTT(Microsoft USB 테스트 도구) 디바이스 개요
USB 하드웨어 또는 소프트웨어를 테스트하고, 작업 및 기타 시스템 이벤트의 추적을 캡처하고, USB 드라이버 스택이 클라이언트 드라이버 또는 애플리케이션에서 보낸 요청에 응답하는 방법을 관찰하는 데 사용할 수 있는 도구에 대한 정보를 가져옵니다.
하드웨어 공급업체 및 디바이스 제조업체가 Windows 하드웨어 인증 제출을 위해 USB 디바이스 및 호스트 컨트롤러를 준비할 수 있도록 하는 하드웨어 인증 키트의 테스트 개요를 읽어 보세요.
범용 직렬 버스 4(USB4™)
USB4(유니버설 직렬 버스 4): USB4™ 연결 관리자에 대한 정보와 함께 USB4를 지원하는 Windows 시스템을 도입하는 OEM, IHV 및 실리콘 공급업체를 제공하여 디버깅 및 가져오기 절차를 용이하게 합니다.
Windows의 USB4 연결 관리자 소개: USB4 도메인의 연결 관리자는 USB4 도메인의 열거, 구성 및 관리를 담당합니다.
USB4(유니버설 직렬 버스 4™) 디자인 세부 정보 및 일반 요구 사항: 고급 디자인 및 사용자 환경 요구 사항.
USB4(유니버설 직렬 버스 4™) 필수 테스트: HLK 요구 사항은 USB4 기능 집합에 대한 완전한 엔드 투 엔드 기능 테스트 검사를 제공하도록 설계되지 않았습니다. 중요한 사용 시나리오에 대한 철저한 유효성 검사를 수행하는 것이 좋습니다.
USB용 기타 리소스
공식 USB 사양: USB 프로토콜에 대한 전체 기술 세부 정보를 제공합니다.
Microsoft Windows USB Core 팀 블로그: Microsoft USB 팀에서 작성한 게시물을 확인하세요. 이 블로그는 Windows PC에 있는 다양한 USB 호스트 컨트롤러 및 USB 허브에서 작동하는 Windows USB 드라이버 스택에 중점을 둡니다. USB 클라이언트 드라이버 개발자와 USB 하드웨어 디자이너가 드라이버 스택 구현을 이해하고, 일반적인 문제를 해결하고, 추적 및 로그 파일을 수집하기 위해 도구를 사용하는 방법을 설명하는 데 유용한 리소스입니다.
OSR 온라인 목록 - ntdev: 커널 모드 드라이버 개발자를 위해 OSR Online 에서 관리하는 토론 목록입니다.
Windows 하드웨어 개발자 센터: WINDOWS 운영 체제에서 작동하는 USB 디바이스 및 드라이버를 개발하는 데 새로운 개발자의 질문과 대답을 기반으로 하는 기타 리소스입니다.
학습을 위한 USB 하드웨어
MUTT 디바이스: MUTT 및 SuperMUTT 디바이스 및 함께 제공되는 소프트웨어 패키지는 HCK USB 테스트 제품군에 통합됩니다. USB 컨트롤러, 디바이스 및 시스템, 특히 스트레스 테스트의 개발 주기 동안 사용할 수 있는 자동화된 테스트를 제공합니다.
OSR USB FX2 학습 키트: USB 드라이버 개발을 접하는 경우. 이 키트는 이 설명서 집합에 포함된 USB 샘플을 연구하는 데 가장 적합합니다. OSR 온라인 스토어에서 학습 키트를 가져올 수 있습니다.
Microsoft에서 제공하는 USB 드라이버에 대해 알아보기
Windows의 USB 디바이스 쪽 드라이버: USB 함수 스택의 아키텍처를 설명합니다.
Windows의 USB 호스트 쪽 드라이버: USB(유니버설 직렬 버스) 드라이버 스택 아키텍처에 대한 개요를 제공합니다. Microsoft는 EHCI 및 xHCI 컨트롤러에 연결된 디바이스와 상호 운용되는 드라이버의 핵심 스택을 제공합니다.
USB-IF 디바이스 클래스 드라이버: 지원되는 USB 디바이스 클래스에 대한 Microsoft 제공 드라이버를 나열합니다. Windows는 많은 USB-IF 승인 디바이스 클래스, 오디오, 대용량 스토리지 등에 대한 기본 디바이스 클래스 드라이버를 제공합니다.
USB 제네릭 함수 드라이버-WinUSB: WinUSB는 Windows Vista 이후 모든 버전의 Windows에 포함된 USB 디바이스용 일반 드라이버입니다. Windows는 사용자 지정 디바이스의 함수 드라이버 및 복합 디바이스의 함수로 로드할 수 있는 Winusb.sys 제공합니다.
복합 디바이스용 USB 일반 부모 드라이버 –Usbccgp: 여러 기능이 있는 USB 디바이스용 부모 드라이버입니다. Usbccgp는 각 함수에 대한 PDO(물리적 디바이스 개체)를 만듭니다. 이러한 개별 PDO는 Winusb.sys 드라이버 또는 USB 디바이스 클래스 드라이버일 수 있는 해당 USB 함수 드라이버를 관리합니다.