Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Specyfikacja ACPI 6.3 definiuje zestaw obiektów przestrzeni nazw w celu określenia informacji o zasilaniu urządzenia dla urządzenia. Na przykład jeden zestaw obiektów może określać zasoby zasilania wymagane przez urządzenie w każdym obsługiwanym stanie zasilania urządzenia. Inny typ obiektu może opisywać zdolność urządzenia do wznawiania ze stanu niskiego zasilania w odpowiedzi na zdarzenia sprzętowe.
Zarządzanie energią urządzeń w systemie Windows
Gdy system jest uruchomiony (czyli system jest w stanie roboczym zdefiniowanym przez ACPI, S0), poszczególne urządzenia mogą przechodzić między stanami zasilania urządzenia, w zależności od działania, aby zaoszczędzić moc. W tradycyjnych systemach PC stany uśpienia zdefiniowane przez ACPI (od S1 do S4) są również używane do oszczędzania energii, ale te odłączone stany uśpienia o dużym opóźnieniu nie są używane na platformach SoC systemu Windows. W związku z tym żywotność baterii jest bardzo zależna od sposobu, w jaki platformy wdrażają zarządzanie energią urządzeń.
Urządzenia zintegrowane z SoC mogą być zarządzane za pomocą Windows Power Framework (PoFx). Te zintegrowane z frameworkiem urządzenia są zarządzane przez funkcję PoFx za pomocą wtyczki silnika zasilania SoC (mikroPEP), która zna specyfikę sterowania zasilaniem i zegarem SoC. Aby uzyskać więcej informacji na temat narzędzia PoFx, zobacz Omówienie programu Power Management Framework.
W przypadku urządzeń peryferyjnych, które nie są zintegrowane z rozwiązaniem SoC, system Windows korzysta z zarządzania energią urządzeń ACPI. W przypadku tych urządzeń zarządzanych przez ACPI właściciel zasad zasilania w stosie sterowników urządzeń (zazwyczaj sterownik funkcji lub klasy) podejmuje decyzje dotyczące przejścia stanu zasilania urządzenia, a sterownik ACPI systemu Windows, Acpi.sys, wywołuje metody sterowania ASL w celu zastosowania wymaganych kontrolek zasilania specyficznych dla platformy.
Istnieje możliwość, a niektóre stosy urządzeń korzystają tylko z zarządzania energią urządzeń ACPI lub w połączeniu z mikropeP do zarządzania energią urządzenia w systemie SoC.
Zgodnie z opisem w temacie Zarządzanie energią urządzenia w interfejsie ACPI system Windows obsługuje możliwości zarządzania energią D3cold, które są zdefiniowane w specyfikacji ACPI 5.0. Dzięki tej funkcji urządzenia, platformy i sterowniki mogą zdecydować się na całkowite odcięcie zasilania urządzenia w trakcie nieaktywności w czasie działania. Ta funkcja może znacznie poprawić żywotność baterii. Jednak odłączenie zasilania musi być obsługiwane przez wszystkie dotknięte komponenty, aby umożliwić pomyślne przywrócenie D0. Z tego powodu sterowniki (dla szyny i funkcji), a także sama platforma muszą wskazywać, że to obsługują. Aby uzyskać więcej informacji na temat włączenia sterownika D3cold, zobacz w Obsługa D3cold w sterowniku.
Zarządzanie energią urządzeń w programie ACPI
Urządzenia typu namespace obsługują maksymalnie cztery stany zasilania urządzenia, oznaczone jako D0 (pełna funkcjonalność lub "włączone") do D3 (brak funkcjonalności lub "wyłączone"). Każdy stan może mieć różne wymagania dotyczące mocy, a stany o wyższym numerze zużywają mniej energii niż stany o niższym numerze. Ponadto stan D3 (wyłączony) ma dwa podstany: D3hot i D3cold. Podstan D3hot wymaga, aby urządzenie było dostępne w magistrali nadrzędnej, aby mogło odpowiadać na polecenia oprogramowania specyficzne dla magistrali. To wymaganie i moc używana do jej spełnienia są usuwane w D3cold. Na koniec urządzenie może być włączone, aby obudzić się ze stanu niskiego zasilania w wyniku zdarzenia sprzętowego, a w razie potrzeby, aby również wyprowadzić platformę ze stanu bezczynności.
Platforma wskazuje obsługę D3cold, zapewniając kontrolę systemowi operacyjnemu funkcji "_PR3 Support" (bit 2) na żądanie, przy użyciu metody OSPM w całej platformie. Aby uzyskać więcej informacji, zobacz sekcję 6.2.10.2, "Możliwości OSPM dla całej platformy", w specyfikacji ACPI 5.0.
Urządzenia zarządzane energią używają obiektów podrzędnych do opisywania ich możliwości energetycznych w systemie operacyjnym. W poniższych sekcjach opisano te możliwości i obiekty.
Zasoby energetyczne i stany zasilania
Urządzenie deklaruje obsługę stanu zasilania, wyświetlając zestaw zasobów zasilania, których wymaga, aby był w tym stanie. Zasoby zasilania ACPI reprezentują szyny napięcia zasilające urządzenia i sygnały zegara, które je napędzają. Te zasoby są deklarowane w katalogu głównym przestrzeni nazw. Każdy zasób zasilania ma metody _ON i _OFF, za pomocą których jest kontrolowany, oraz metodę _STA do raportowania stanu. Aby uzyskać więcej informacji, zobacz sekcję 7.1 "Deklarowanie obiektu zasobu zasilania" specyfikacji ACPI 5.0.
Sterownik WINDOWS ACPI, Acpi.sys, monitoruje zależności zasilania między urządzeniami, które współużytkują zasoby, a w miarę przechodzenia tych urządzeń między stanami zasilania zapewnia, że tylko zasoby zasilania, które są rzeczywiście potrzebne przez urządzenie, są włączone w dowolnym momencie.
Wymagania dotyczące zasobów zasilania (_PRx)
Istnieje obiekt Wymagania dotyczące zasobów zasilania (_PRx), gdzie x = 0, 1, 2 lub 3 dla każdego obsługiwanego stanu zasilania urządzenia. Gdy sterownik urządzenia zdecyduje się przejść do nowego stanu zasilania, Acpi.sys gwarantuje, że wszystkie zasoby zasilania wymagane do nowego stanu są włączone i że wszystkie zasoby, które nie są już używane, zostaną wyłączone.
| Obsługiwany stan urządzenia | Obiekt wymagań zasobów do wykorzystania | Zasoby do uwzględnienia w obiekcie wymagań |
|---|---|---|
| D0 (wymagane) | _PR0 | Wszystkie zasilanie i zegary wymagane do pełnej funkcji urządzenia. |
| D1 | _PR1 | Wszelkie zasilanie lub sygnały zegarowe wymagane dla ograniczonej funkcjonalności stanu zdefiniowanej przez klasę. |
| D2 | _PR2 | Jakiekolwiek zasilanie lub zegary wymagane dla określonej przez klasę ograniczonej funkcjonalności tego stanu. |
| D3hot (wymagane) | _PR3 | Tylko zasilanie i zegary są wymagane, aby urządzenie mogło pojawić się na magistrali i odpowiedzieć na polecenie specyficzne dla magistrali. |
Jeśli określona platforma obsługuje funkcję D3cold, a sterownik urządzenia zdecyduje się na D3cold, zasoby zasilania _PR3 urządzenia zostaną, jeśli nie są używane przez inne urządzenie, wyłączone w pewnym momencie po przejściu do D3Cold.
Aby uzyskać więcej informacji na temat wymagań dotyczących zasobów zasilania dla urządzenia, które obsługuje D3cold, zobacz Wymagania dotyczące oprogramowania układowego dla D3cold.
Stan zasilania urządzenia (_PSx)
Istnieje metoda Stanu zasilania, _PSx, gdzie x = 0, 1, 2 lub 3 dla każdego obsługiwanego stanu zasilania urządzenia Dx. Ta metoda jest opcjonalna, ale jeśli jest obecna, jest wywoływana przed wyłączeniem zasobów zasilania dla stanu, a po włączeniu zasobów zasilania dla stanu. _PSx ma na celu wykonywanie dowolnych akcji specyficznych dla platformy wymaganych w całym cyklu zasilania. _PSx nie może uzyskiwać dostępu do rejestrów urządzeń przypisanych do sterownika funkcji; uzyskiwać dostępu do standardowych rejestrów magistrali przypisanych do sterownika magistrali; ani przełączać zasobów zasilania, co jest operacją zarezerwowaną dla Acpi.sys.
Możliwości wybudzania
Urządzenia zarządzane energią mogą wykrywać zdarzenia w stanie niskiego poboru energii i sprawić, że platforma zostanie wybudzona w celu ich obsługi. Aby włączyć tę funkcję, system Windows potrzebuje informacji o możliwościach platformy i urządzenia.
Stan budzenia urządzenia Sx (_SxW)
Na danej platformie istnieje określone mapowanie między stanami urządzeń, które obsługują zdolność wznawiania, a stanami systemu, które mogą reagować na zdarzenia wznawiania. ACPI definiuje obiekt _SxW w celu udostępnienia tych informacji systemowi operacyjnemu. Istnieje obiekt SxW dla każdego obsługiwanego stanu zasilania systemu, Sx. Ponieważ platformy SoC są zawsze w S0, jedynym obiektem zainteresowania jest _S0W. Ten obiekt określa zdolność platformy do wybudzania się ze stanu niskiego zużycia energii w odpowiedzi na sygnał wybudzający urządzenia. Obiekt jest używany przez system Windows do określania docelowego stanu D dla urządzenia podczas bezczynności systemu. Aby uzyskać więcej informacji na temat _S0W, zobacz sekcję 7.2.20 "_S0W (S0 Device Wake State)" w specyfikacji ACPI 5.0.
W przypadku większości platform SoC urządzenia są agresywnie zarządzane do stanu D3 podczas bezczynności, a system może się wybudzić z niskomocowej bezczynności, gdy urządzenie znajduje się w tym stanie. W przypadku takiego systemu obiekt _S0W zwraca wartość 3 (lub 4, jeśli obsługuje również D3cold).
_S0W(4) jest wymagane dla D3Cold niezależnie od tego, czy urządzenie obsługuje wybudzanie.
Każdy stan D może być wyznaczony jako stan o najniższej mocy, który umożliwia wybudzenie, a niektóre klasy urządzeń lub magistrale mogą używać różnych wartości. Na przykład urządzenia połączone ze standardem SDIO i USB używają stanu D2 dla tego stanu.
Aby ułatwić migrację sterowników urządzeń z systemu Windows 7 do Windows 8 lub Windows 8.1, od urządzenia może być wymagane, aby także dostarczało _S4W. Obecnie jedyną klasą urządzeń, która ma to wymaganie, jest sieć (Ndis.sys).
Przerywania z obsługą wznawiania (_CRS)
Opis zasobu urządzenia wskazuje, że urządzenie może wykrywać i sygnalizować zdarzenie wznawiania, oznaczając przerwanie jako "zdolne do wznowienia" (ExclusiveAndWake lub SharedAndWake). Sterowniki systemu Windows i urządzeń zapewniają specjalną obsługę takich przerwań, aby upewnić się, że są one włączone, gdy urządzenie przechodzi do stanu niskiego zasilania. Aby uzyskać więcej informacji, zobacz opisy deskryptorów zasobów Interrupt i GpioInt w sekcji 6.4.3.6, "Extended Interrupt Descriptor" (Rozszerzony Deskryptor Przerwania) i sekcja 6.4.3.8.1, "GPIO Connection Descriptors" (Deskryptory połączeń GPIO) specyfikacji ACPI 5.0.
Umożliwienie wybudzania
W zależności od scenariusza użytkownika lub zasad systemowych urządzenia z obsługą wznawiania mogą być bądź też nie być faktycznie przygotowane do wznawiania. W związku z tym przerwania obsługujące wznawianie mogą być włączone lub nie mogą być włączone, gdy urządzenie jest w stanie bezczynności. Oprócz włączania przerwań, system Windows używa następujących mechanizmów w celu włączenia wybudzania urządzenia.
Uśpienie i wzbudzenie urządzenia (_DSW)
ACPI definiuje obiekt _DSW jako sposób, w jaki system operacyjny może poinformować oprogramowanie układowe platformy ACPI o następnym uśpieniu lub okresie bezczynnego zasilania. Ten obiekt jest opcjonalny i jest używany tylko wtedy, gdy platforma musi skonfigurować sprzęt wznawiania specyficzny dla platformy z wyprzedzeniem. Podano docelowy stan D urządzenia i docelowy stan S dla systemu. Kombinacja stanu D i stanu S zawsze będzie zgodna z informacjami dostarczonymi przez obiekty _SxW urządzenia.
Zasoby zasilania dla funkcji Wake (_PRW)
W niektórych przypadkach, aby urządzenie mogło zostać wybudzone, dodatkowe zasoby zasilania muszą być włączone. W takim przypadku urządzenie może udostępnić obiekt _PRW, aby wyświetlić listę dodatkowych zasobów zasilania. Sterownik Windows ACPI, Acpi.sys, będzie zarządzać tymi zasobami zasilania, tak jak zwykle, upewniając się, że są one włączone, gdy są one potrzebne przez urządzenie (czyli urządzenie z włączoną obsługą wznawiania) i są wyłączone w przeciwnym razie.
_PRW służy również do definiowania możliwości wznawiania dla tradycyjnych platform PC (sprzętu w pełni zgodnego z ACPI).