다음을 통해 공유


디바이스 버스 연결(touchpad-device-bus-connectivity)

참고 항목

이 문서에는 Microsoft에서 더 이상 사용하지 않는 용어인 슬레이브라는 용어에 대한 참조가 포함되어 있습니다. 소프트웨어에서 용어가 제거되면 이 문서에서 해당 용어가 제거됩니다.

이 항목에서는 Windows 정밀 터치패드 디바이스의 버스 연결 방법에 대해 설명합니다.

Windows 정밀 터치패드 디바이스는 Microsoft에 의해 제공된 기본 제공 드라이버를 사용하여 USB를 통한 HID, I²C를 통한 HID 또는 SPI를 통한 HID(Windows 11부터)를 사용하여 Windows 호스트에 연결할 수 있습니다. 그러나 터치패드 디바이스에 필요한 Windows 호환 타사 HID 미니 포트 드라이버를 제공하는 한 원하는 다른 버스를 사용할 수 있습니다.

Diagram showing the driver stack for an integrated windows precision touchpad device, in windows 11 and later operating systems.

I²C 디바이스

Windows 정밀 터치패드 모듈은 컨트롤러 IC, 센서 및 관련 메커니즘의 조합으로 정의됩니다.

I²C 버스를 통해 Windows 호스트에 연결된 Windows 정밀 터치패드 모듈은 최소한 다음 5개의 연결 핀을 노출해야 합니다.

  • 데이터 라인(SDA)
  • 시계선(SCL)
  • 인터럽트 라인
  • 전원 공급 장치 라인
  • 접지 연결(GND)

다음 다이어그램은 Windows 정밀 터치패드와 Windows 호스트 간의 신호 라인을 연결하는 I²C를 보여 줍니다.

diagram showing the i2c connecting signal lines between a windows precision touchpad and its windows host.

I²C 컨트롤러에 연결할 때 해당 컨트롤러를 공유하는 모든 구성 요소의 대역폭 요구 사항을 이해하는 것이 중요합니다. Windows 정밀 터치패드 모듈에는 최소 400KHz의 I²C 클록 속도가 권장됩니다. 터치 스크린 컨트롤러와 Windows 정밀 터치패드 컨트롤러는 동일한 I²C 컨트롤러를 공유하지 않는 것이 좋습니다. 버스 용량을 초과하는 대역폭 요구가 발생할 수 있기 때문입니다.

인터럽트 라인(ATTN 라인이라고도 함)은 On-SoC GPIO 컨트롤러 또는 IOAPIC에 연결하는 것이 좋습니다. 깨우기 기능이 필요한 경우 인터럽트 라인이 연결된 GPIO 또는 IOAPIC 리소스는 Windows 정밀 터치패드가 다양한 시나리오에서 시스템을 깨울 수 있도록 SoC를 깨울 수 있어야 합니다.

깨우기 기능을 사용하기로 결정한 경우 Windows 정밀 터치패드 모듈에 연결된 전원선을 깨우기 기능이 없는 다른 디바이스와 공유해서는 안 됩니다. 절전 모드 해제 시나리오가 성공적으로 작동하려면 연결된 대기 상태 또는 S3 상태에서 사용되는 전원 라인에 전원을 공급해야 합니다.

ACPI 테이블 항목

I²C 버스를 통해 Windows 호스트에 연결된 Windows 정밀 터치패드 디바이스는 디바이스가 인식되도록 ACPI 테이블에 항목을 정의해야 합니다. 항목은 다음 정보를 지정해야 합니다.

입력 설명
ACPI 디바이스 항목 이름 디바이스를 참조하기 위해 이 ACPI 테이블에 고유한 4자리의 ID. 예: "TPAD".
ACPI 하드웨어 ID 디바이스를 참조하기 위한 4자리 + 4자리 ACPI 하드웨어 ID. ACPI 하드웨어 ID는 디바이스 관리자에 표시됩니다. 예: "MSFT0001".
호환 가능한 ID 디바이스가 HID I²C와 호환됨을 나타내려면 항상 "PNP0C50"이어야 합니다.
I²C 컨트롤러 디바이스와 통신하려면 디바이스와 연결되어 있는 I²C 컨트롤러가 지정되어 있어야 합니다. 예를 들어 "I2C3"은 컨트롤러 #3을 나타냅니다.
I²C 슬레이브 주소 호스트가 주소를 지정할 수 있도록 디바이스의 I²C 슬레이브 주소를 지정해야 합니다. 예: "0x6F".
I²C 속도 우수한 통신 성능을 보장하려면 디바이스와 I²C 컨트롤러 모두에서 지원하는 최대 속도를 여기에서 지정해야 합니다. 이는 400KHz(또는 16진수로 0x61A80)보다 낮아서는 안 됩니다.
GPIO 컨트롤러 디바이스의 인터럽트 라인이 연결된 GPIO 컨트롤러는 호스트가 액세스할 수 있도록 지정해야 합니다. 예를 들어 컨트롤러 0의 경우 "GPIO0"입니다.
GPIO 리소스 또는 핀 디바이스의 인터럽트 라인이 연결된 GPIO 컨트롤러의 실제 핀은 호스트가 핀을 디바이스와 연결할 수 있도록 지정해야 합니다. 예를 들어 핀 35를 나타내는 "{35}"입니다.
GPIO 리소스 종류 이는 GPIO 리소스에 대한 제약 조건을 정의합니다. SoC 깨우기가 필요한 경우라면 "Exclusive", 아니라면 "ExclusiveAndWake"여야 합니다.
GPIO 인터럽트 어설션 유형 이는 디바이스가 에지 트리거 또는 수준 트리거 인터럽트를 제공할지 여부를 정의합니다. HID I²C 호환 디바이스는 "수준"에 따라 트리거되는 인터럽트를 제공하고 표시해야 합니다.
GPIO 인터럽트 어설션 수준 이는 디바이스에 의해 인터럽트가 발생할 때 라인 수준을 정의합니다. "ActiveLow" 또는 "ActiveHigh"로 지정할 수 있습니다.

USB 디바이스

고속/최대 속도 USB 2.0을 통해 Windows 호스트에 연결된 Windows 정밀 터치패드 모듈은 호스트 연결에 필요한 핀을 노출해야 합니다.

호스트에 대한 연결은 다양한 형태를 취할 수 있으며 통합자의 재량에 따릅니다.

USB 허브에 연결할 때 해당 허브를 공유하는 모든 구성 요소의 대역폭 요구 사항을 이해하는 것이 중요합니다. 고대역폭 디바이스와 Windows 정밀 터치패드 컨트롤러는 동일한 USB 허브를 공유하지 않는 것이 좋습니다. 이렇게 하면 버스 용량을 초과하는 대역폭 요구가 발생할 수 있습니다.

USB 브리지 디바이스(I²C -> USB)

I²C Windows 정밀 터치패드를 Windows 호스트에 연결하기 위해 USB 브리지를 사용하기로 결정한 경우 브리지는 디바이스 고유 특성(wVendorID, wProductID, wVersionID)을 사용하여 터치패드를 별개의 디바이스 노드로 노출해야 합니다.

HID SPI 디바이스

Windows 정밀 터치패드 모듈은 컨트롤러 IC와 센서의 조합으로 정의됩니다.

SPI 버스를 통해 Windows 호스트에 연결하는 Windows 터치패드 모듈은 최소한 다음 5개의 연결 핀을 노출해야 합니다.

  • 데이터 라인(SDA)
  • 시계선(SCL)
  • 칩 선택 라인(SS)
  • 인터럽트 라인
  • 전원 공급 장치 라인
  • 접지 연결(GND)

다음은 Windows 터치패드 디바이스와 해당 Windows 호스트 간의 연결선 다이어그램입니다.

diagram showing the driver stack for an integrated windows precision touchpad device, for windows 11 and later operating systems.

ACPI 테이블 항목

SPI를 통해 연결된 Windows 정밀 터치패드 디바이스는 호스트에서 디바이스를 인식할 수 있도록 호스트의 ACPI(고급 구성 및 전원 인터페이스) 테이블에 항목을 정의해야 합니다. ACPI에 대한 자세한 내용은 ACPI(고급 구성 및 전원 인터페이스) 사양을 참조하세요.

ACPI 테이블 항목은 SPI를 통한 HID에 대한 플러그 앤 플레이 지원 문서에 설명된 대로 정보를 지정해야 합니다.