다음을 통해 공유


ACPI 펌웨어 구현 요구 사항

이 문서의 검사 목록에는 전원 및 배터리 하위 시스템을 제대로 지원하기 위해 ACPI 플랫폼 펌웨어가 충족해야 하는 요구 사항이 포함되어 있습니다. 검사 목록의 각 요구 사항에 대해 "S3/S4에 적용"으로 표시된 열은 요구 사항이 기존 ACPI S3 및 S4 전원 상태를 구현하는 PC에 적용되는지 여부를 나타냅니다. "CS에 적용"이라고 표시된 열은 요구 사항이 Windows 8부터 지원되는 최신 대기 전원 모델을 구현하는 PC에 적용되는지 여부를 나타냅니다.

전원 공급 장치 검사 목록

요구 사항 S3/S4에 적용 CS에 적용

전원 장치 개체는 ACPI 네임스페이스에 있습니다.

  • AC 어댑터/전원에 대한 Device() 개체는 ACPI 네임스페이스에 있습니다.

전원 장치는 다음과 같은 제어 메서드 및 개체를 제공합니다.

  • 값이 "ACPI0003"인 하드웨어 ID(_HID)입니다.

  • 전원이 현재 온라인 상태(AC 전원)인지 또는 오프라인(배터리 전원)인지 보고하는 전원(_PSR) 제어 방법입니다. 시스템의 모든 입력 전원은 이 _PSR 메서드를 통해 멀티플렉싱되어야 합니다. 예를 들어 _PSR은 시스템이 DC 배럴 커넥터 또는 별도의 도크 커넥터를 통해 구동되는 경우 전원이 온라인 상태임을 나타내야 합니다. 여러 ACPI 전원 디바이스를 사용하지 마세요.

배터리 검사 목록

시스템 디자이너는 시스템에 있는 각 배터리에 대해 다음 표의 항목을 완료했는지 확인해야 합니다. 배터리가 여러 개 있는 시스템의 경우 네임스페이스의 첫 번째 배터리는 디버깅을 위해 시스템의 기본 배터리여야 합니다.

요구 사항 S3/S4에 적용 CS에 적용

ACPI 네임스페이스의 각 배터리 디바이스에 대한 Device() 개체입니다.

  • 각 배터리에 대한 Device() 개체는 ACPI 네임스페이스에 있습니다.

각 배터리 디바이스는 다음과 같은 제어 메서드 및 개체를 제공합니다.

  • 값이 "PNP0C0A"인 _HID.

  • 배터리를 제거할 수 있는 시스템에 배터리가 있는지 또는 배터리가 휴대용 도크에 있는지 여부를 Windows에 보고하는 일반 상태(_STA)입니다.

  • 배터리 정보 확장(_BIX)은 마지막 완전 충전 용량, 설계 용량 및 주기 수를 포함하는 배터리 정적 정보를 보고합니다.

  • 남은 용량, 소모율 및 충전 상태를 포함한 현재 배터리 상태를 보고하는 배터리 상태(_BST)입니다.

  • 이벤트 기반 배터리 상태 모델을 사용하도록 설정하여 폴링에 대한 정기적인 작업을 줄이기 위한 배터리 트립 포인트(_BTP)입니다. _BTP를 사용하면 Windows에서 플랫폼이 배터리 상태 정보를 업데이트해야 함을 Windows에 알리기 위해 배터리 디바이스에서 Notify(0x80) 명령을 실행해야 하는 남은 충전 용량 임계값을 지정할 수 있습니다.

  • (선택 사항) UI에 배터리가 표시되는 순서를 나타내는 슬롯 단위 번호(_SUN)입니다.

_BIX 메서드는 배터리 정적 정보 섹션에 설명된 대로 다음 필드와 제약 조건을 지원해야 합니다.

  • 개정 필드는 0x0으로 설정해야 합니다.

  • 전원 장치 필드는 0x0으로 설정해야 합니다.

  • 디자인 용량 및 마지막 완전 충전 용량 값은 배터리 및 충전 하위 시스템의 정확한 값으로 설정해야 하며 0xFFFFFFFF 또는 0x00000000으로 설정하면 안 됩니다.

  • 배터리 기술 필드는 0x1로 설정해야 합니다.

  • 디자인 전압 필드는 정확하게 설정해야 하며 0x00000000 또는 0xFFFFFFFF와 동일하게 설정해서는 안 됩니다.

  • 낮은 용량 디자인은 시스템이 완전히 켜진 상태에서 최대 절전 모드로 전환하거나 종료하는 데 필요한 최솟값으로 설정해야 합니다.

  • 배터리 용량 세분성 1 및 배터리 용량 세분성 2 필드는 배터리 설계 용량의 1%를 초과하지 않는 값으로 설정해야 합니다.

  • 배터리 하위 시스템에서 주기 수 필드를 정확하게 채워야 합니다.

  • 측정 정확도 필드는 80,000 이상으로 설정해야 합니다.

  • 모델 번호 및 일련 번호 필드는 NULL로 설정하면 안 됩니다.

  • 마지막 완전 충전 용량, 디자인 용량 및 주기 수를 포함한 _BIX 정보가 변경되면 플랫폼은 배터리 디바이스에 ACPI 알림(0x81) 명령을 실행합니다.

_BST 메서드는 실시간 배터리 상태를 보고해야 합니다.

  • _BST 메서드에서 반환된 모든 정보는 기본 전원 및 배터리 충전 하위 시스템에서 동적으로 가져와야 합니다.

  • 데이터 정확도는 _BIX 개체에 보고된 측정 정확도 값 내에 있어야 합니다.

ACPI 배터리 트립 포인트 지원

  • 플랫폼에서 배터리 디바이스에 ACPI Notify(0x80) 명령을 실행할 남은 충전 용량 임계값을 Windows에 지정할 수 있는 _BTP 메서드가 제공됩니다.

  • 배터리 충전이 위험 수준에 도달하면 배터리 디바이스에서 ACPI 알림 명령을 실행합니다.

  • 배터리 충전 수준이 _BIX.DesignCapacityofLow에 지정된 값에 도달하면 플랫폼은 Control Method Battery 디바이스에서 Notify(0x80) 명령을 생성해야 합니다.

디바이스별 메서드를 적절하게 구현

  • 각 배터리 디바이스 아래에 디바이스별 메서드(_DSM)를 구현하여 배터리를 사용자가 수리할 수 있는지 여부를 나타냅니다.

  • 충전 중에 주기적 감시 재설정이 필요하고 Windows가 각 기간 동안 폴링 창 내에서 _BST 메서드의 실행을 보장하는 경우 _DSM을 구현합니다.

  • 플랫폼의 열 모델에 배터리 충전 속도 제어가 필요한 경우 _DSM 메서드를 구현합니다.