참고
이 문서에는 Microsoft에서 더 이상 사용하지 않는 용어인 슬레이브라는 용어에 대한 참조가 포함되어 있습니다. 소프트웨어에서 용어가 제거되면 이 문서에서 해당 용어가 제거됩니다.
이 항목에서는 Windows 펜 디바이스의 버스 연결 방법에 대해 설명합니다.
통합 Windows 펜 디바이스는 Microsoft에서 제공하는 기본 제공 드라이버를 사용하여 USB를 통한 HID, I²C를 통한 HID 또는 SPI를 통한 HID(Windows 11부터)를 사용하여 Windows 호스트에 연결할 수 있습니다. 그러나 펜 디바이스에 필요한 Windows 호환 타사 HID 미니 포트 드라이버를 제공하는 한 원하는 다른 버스를 사용할 수 있습니다. 다음 다이어그램에서는 Windows 펜 디바이스에 대한 Windows 11 드라이버 스택을 보여 줍니다.
데스크톱 버전(Home, Pro, Enterprise 및 Education)용 Windows 11과의 완전한 호환성을 위해 Microsoft에서 제공하는 기본 제공 드라이버를 사용하는 것이 좋습니다. 타사 미니 포트 드라이버를 사용하기로 결정한 경우 이 타사 드라이버를 적절한 OEM 및 시스템 복원 이미지에 추가한 다음, 이러한 이미지를 Windows 업데이트에서 다운로드할 수 있도록 해야 합니다.
다음 섹션에서는 디바이스 구성의 몇 가지 예를 제공합니다.
I²C 디바이스
통합 Windows 펜 모듈은 컨트롤러 IC와 센서의 조합으로 정의됩니다.
I²C 버스를 통해 Windows 호스트에 연결하는 Windows 펜 모듈은 최소한 다음 5개의 연결 핀을 노출해야 합니다.
- 데이터 라인(SDA)
- 시계선(SCL)
- 인터럽트 라인
- 전원 공급 장치 라인
- 접지 연결(GND)
다음은 Windows 펜 디바이스와 해당 Windows 호스트 간의 연결선 다이어그램입니다.
I²C 컨트롤러에 연결할 때 해당 컨트롤러를 공유하는 모든 구성 요소의 대역폭 요구 사항을 이해하는 것이 중요합니다. 통합 Windows 펜에는 최소 400KHz의 I²C 클럭 속도가 권장됩니다. 통합 Windows 펜 컨트롤러는 대역폭 사용량이 높은 구성 요소와 동일한 I²C 컨트롤러를 공유하지 않는 것이 좋습니다.
인터럽트 라인(ATTN 라인이라고도 함)은 On-SoC GPIO 컨트롤러 또는 IOAPIC에 연결하는 것이 좋습니다. 인터럽트 라인이 연결된 GPIO 또는 IOAPIC 리소스는 SoC의 절전 모드를 해제할 수 있어야 하며 이를 위해 구성되어야 합니다. 절전 모드 해제 기능을 사용하면 통합 Windows 펜이 다양한 시나리오에서 시스템의 절전 모드를 해제할 수 있습니다.
절전 모드 해제 기능을 사용하기로 결정한 경우 통합 Windows 펜 디바이스에 연결된 전원 라인을 절전 모드 해제 기능이 없는 다른 디바이스와 공유해서는 안 됩니다. 절전 모드 해제 시나리오가 제대로 작동하려면 연결된 대기 상태/S3 상태에서 사용되는 전원 라인에 전원을 공급해야 합니다.
ACPI 테이블 항목
I²C를 통해 연결된 Windows 펜 디바이스는 호스트에서 디바이스를 인식할 수 있도록 호스트의 ACPI(고급 구성 및 전원 인터페이스) 테이블에 항목을 정의해야 합니다. ACPI에 대한 자세한 내용은 고급 구성 및 전원 인터페이스 사양을 참조하세요.
ACPI 테이블 항목은 다음 정보를 지정해야 합니다.
| 입력 | 설명 |
|---|---|
| ACPI 디바이스 항목 이름 | 디바이스를 참조하기 위한 ACPI 테이블에 고유한 4자리의 ID입니다. 예: "WPEN". |
| ACPI 하드웨어 ID | 디바이스를 참조하기 위한 4자리 + 4자리 ACPI 하드웨어 ID입니다. 디바이스 관리자에 표시됩니다. 예: “MSFT0001”. |
| 호환 가능한 ID | 디바이스가 HID I²C와 호환됨을 나타내려면 항상 “PNP0C50”이어야 합니다. |
| I²C 컨트롤러 | Windows 호스트에서 I²C 컨트롤러를 지정합니다. 이 컨트롤러는 펜을 Windows 호스트에 연결하는 데 사용되며 펜과 호스트가 통신할 수 있도록 합니다. 예를 들어, "I2C3"은 I²C 컨트롤러 #3을 나타냅니다. |
| I²C 슬레이브 주소 | 디바이스의 I²C 슬레이브 주소를 지정합니다. 호스트는 이 주소를 사용하여 통신을 위해 I²C 버스에서 펜 디바이스를 선택합니다. 예: "0x6F". |
| I²C 속도 | 디바이스와 I²C 컨트롤러 모두에서 지원하는 최대 속도를 지정합니다. ACPI 테이블에서 속도를 지정하면 안정적인 통신이 보장됩니다. 이 속도는 400KHz(0x61A80)보다 낮아서는 안 됩니다. |
| GPIO 컨트롤러 | 펜의 인터럽트 라인이 연결된 GPIO 컨트롤러입니다. 이는 호스트에게 인터럽트 신호를 "수신 대기"할 위치를 알려줍니다. 예를 들어, "GPIO0"은 GPIO 컨트롤러 #0을 나타냅니다. |
| GPIO 리소스/핀 | 펜의 인터럽트 라인이 연결된 GPIO 컨트롤러 핀입니다. 호스트는 이 특정 GPIO 핀을 펜의 인터럽트 신호와 연결합니다. 예를 들어 “{35}”는 핀 35를 나타냅니다. |
| GPIO 리소스 종류 | GPIO 리소스에 대한 제약 조건을 정의합니다. ACPI 테이블에 대한 이 항목은 SoC 절전 모드 해제를 선택하지 않으려면 "Exclusive"로 설정해야 합니다. SoC 절전 모드 해제를 선택하기로 결정한 경우 이 항목을 "ExclusiveAndWake"로 설정합니다. |
| GPIO 인터럽트 어설션 유형 | 펜이 인터럽트에 제공할 트리거 유형을 정의합니다. 이는 "에지 트리거" 또는 "수준 트리거"일 수 있습니다. HID I²C 규격 디바이스는 "수준 트리거" 인터럽트를 사용해야 합니다. |
| GPIO 인터럽트 어설션 수준 | 인터럽트가 디바이스에 의해 어설션될 때 인터럽트 라인의 전압 수준을 정의합니다. “ActiveLow” 또는 “ActiveHigh”로 지정할 수 있습니다. |
USB 디바이스
USB 2.0을 통해 연결된 고속/전속 통합 Windows 펜 모듈은 호스트 연결에 필요한 핀을 노출해야 합니다.
호스트에 대한 연결은 다양한 형태를 취할 수 있으며 통합자의 재량에 따릅니다.
USB 허브에 연결할 때 해당 허브를 공유하는 모든 구성 요소의 대역폭 요구 사항을 이해하는 것이 중요합니다. 고대역폭 디바이스와 통합 Windows 펜 컨트롤러는 동일한 USB 허브를 공유하지 않는 것이 좋습니다. 이렇게 하면 버스 용량을 초과하는 대역폭 요구가 발생할 수 있습니다.
USB 브리지 디바이스(I²C -> USB)
USB 브리지를 사용하여 통합 I²C Windows 펜을 호스트에 연결하는 경우 브리지는 통합 Windows 펜을 디바이스의 고유한 특성(wVendorID, wProductID, wVersionID)과 함께 별개의 디바이스 노드로 노출해야 합니다.
HID SPI 디바이스
Windows 펜 모듈은 컨트롤러 IC와 센서의 조합으로 정의됩니다.
SPI 버스를 통해 Windows 호스트에 연결하는 Windows 펜 모듈은 최소한 다음 5개의 연결 핀을 노출해야 합니다.
- 데이터 라인(SDA)
- 시계선(SCL)
- 칩 선택 라인(SS)
- 인터럽트 라인
- 전원 공급 장치 라인
- 접지 연결(GND)
다음은 Windows 펜 디바이스와 해당 Windows 호스트 간의 연결선 다이어그램입니다.
ACPI 테이블 항목
SPI를 통해 연결된 Windows 펜 디바이스는 호스트에서 디바이스를 인식할 수 있도록 호스트의 ACPI(고급 구성 및 전원 인터페이스) 테이블에 항목을 정의해야 합니다. ACPI에 대한 자세한 내용은 고급 구성 및 전원 인터페이스 사양을 참조하세요.
ACPI 테이블 항목은 SPI를 통한 HID에 대한 플러그 앤 플레이 지원 문서에 설명된 대로 정보를 지정해야 합니다.