新式待命平台的音訊子系統電源管理
每個 Windows 電腦都有一個音訊子系統,可讓用戶即時聆聽和錄製高品質的音效。 支援連線待命電源模型的硬體平臺通常會以晶元 (SoC) 積體電路上的系統為基礎來建置,其功能是內建、低功率音頻處理單元。
音訊處理單位會從 SoC 上的主要處理器(或處理器)卸除音訊處理。 由於這些單元可以在不使用主要處理器的情況下處理音訊數據,因此即使主處理器進入低功率狀態以節省電池電力,使用者仍可繼續接聽音訊。
這段影片示範如何使用 Windows 效能分析器 (WPA) 來確認電腦在螢幕關閉音訊播放期間進入低功率狀態(也稱為低功率音訊或 LPA)。
下列文章討論連線待命平臺的音訊子系統電源管理。 在下列討論中,SoC 元件一詞描述整合至SoC晶片的元件。 Off-SoC 元件位於SoC晶片外部。
音訊子系統概觀
除了執行卸除音訊處理的SoC函式區塊之外,每個連接的待命平臺還包含稱為 編解碼器的 Off-SoC 元件,其會執行下列動作:
- 將譯碼的數位串流轉譯成類比音效。
- 驅動內建喇叭。
- 驅動外部連接的模擬耳機。
與相機子系統一 樣,音訊子系統同時具有 On-SoC 和 off-SoC 元件。 不過,Windows 預期單一音訊驅動程式可以同時管理 On-SoC 音訊處理引擎和 off-SoC 編解碼器。 這個單一音訊驅動程式負責管理整合至SoC的元件,以及系統整合器可以選取的Off-SoC元件。 因此,系統整合器應該與 SoC 晶片廠商密切合作,進行音訊子系統整合和電源管理。
音訊硬體廠商必須將音訊驅動程式實作為 埠類別 (Portcls) 迷你埠驅動程式。 音訊驅動程式可與 Portcls 系統驅動程式搭配運作,Portcls.sys,這是 Windows 的收件匣元件。
與其他裝置類別相比,音訊子系統在平臺處於連線待命電源狀態時執行電源管理的方式是唯一的(也就是螢幕關閉時)。 當平台連線待命時,系統可以產生音訊音效,以即時通知使用者事件(例如,新電子郵件的抵達)。 此外,使用者可以關閉系統顯示器,然後繼續接聽應用程式正在播放的音訊。 這些功能無法透過簡單的電源管理策略來達成,當系統處於連線待命狀態時,音訊子系統必須關閉。 相反地,音訊子系統的電源管理必須以運行時間閑置為基礎執行(因此只有在需要時才會開啟),但系統處於 ACPI 關機 (S5) 狀態時除外。
音訊驅動程式會與 Windows 音訊基礎結構和 PortCls 系統驅動程式密切合作,執行運行時間閑置電源管理。 PortCls 會監視音訊裝置的任何存取權(例如 I/O 和屬性存取),並重設每個存取上的閒置定時器。 如果閑置定時器過期,PortCls 會轉換音訊裝置(透過音訊驅動程序的協助)到低功率睡眠(D3)狀態。 PortCls 會在新的存取活動時,將音訊裝置傳回使用中 (D0) 狀態。
PortCls 也會向 Windows 電源架構 (PoFx) 註冊,以便系統電源引擎外掛程式 (PEP) 可以收到音訊裝置電源狀態變更的通知。 這些通知可讓 PEP 知道何時可以安全地關閉音訊處理單元與其他 SoC 函式區塊之間可能共用的時鐘和電源軌。
我們建議在不使用音訊子系統時,應該處於睡眠狀態,其中音頻子系統耗用的總小於一千米瓦特。 此總計包括音訊處理單元、Off-SoC 編解碼器和任何其他音訊電路(例如喇叭和耳機的擴音器) 耗用的電力。
音訊子系統硬體拓撲
音訊子系統是由多個 On-SoC 和 off-SoC 元件所組成,但會以 ACPI 命名空間中的單一裝置形式呈現給 Windows。
音訊處理單位位於SoC上。 來自不同廠商的SoC有音訊處理單元,其功能、耗電量和效能各有不同。 音訊處理單元會執行音訊卸除—它們會處理音訊串流(例如,混合和套用音訊效果),而不使用主要處理器。 對於不延遲敏感的音訊播放,最好從主要處理器卸除音訊,因為音訊處理單位使用比主要處理器更少的電源。
如需卸除音訊的詳細資訊,請參閱 硬體卸除的音訊處理。
系統也包含 off-SoC 音訊編解碼器,可將數位音訊串流轉換成模擬輸出,以驅動內建喇叭或外部耳機。 編解碼器可能包含喇叭和耳機的集成模擬轉換器。 或者,可以改用離散轉換器。 一般編解碼器與 SoC 音訊處理單元有下列連線:
- 數位音訊介面(I2S 或類似的序列總線)。
- 控件介面(通常是 I2C 或類似的序列總線)。
- 一或多個 GPIO 針腳可控制電源管理線路,並在編解碼器狀態變更時中斷 SoC。
下列區塊圖顯示這些連線。
從 Windows 的觀點來看,音訊處理單元和音訊編解碼器會組成音訊裝置。 音訊裝置必須在ACPI命名空間中列舉為單一裝置物件。
雖然音訊子系統應該透過單一音訊驅動程式向 Windows 公開,但 SoC 廠商可以選擇採用驅動程式擴充模型,其中音訊驅動程式會分解成兩個以上的個別驅動程式。 例如,直接管理音訊編解碼器的控制軟體可能會放在與主要音訊驅動程式分開的編解碼器驅動程式中。 然後,主要音訊驅動程式會透過與編解碼器驅動程式通訊,間接管理編解碼器。 此驅動程式延伸模組模型的詳細數據超出本檔範圍,且專屬於SoC廠商的音訊驅動程式。 系統整合者應該直接與 SoC 晶片廠商合作,在音訊子系統中實作這類專屬功能。
電源管理模式
音訊子系統必須支援下列兩種電源管理模式:
- 作用中模式,讓用戶主動進行音訊串流處理。
- 低功率睡眠模式,其中音訊處理單元已關閉,關閉 SoC 編解碼器會置於低功率模式中,而合併的音訊子系統元件耗用不到一毫秒。
下表描述這兩種電源模式。
模式 | 描述 | 裝置電源狀態 (Dx) | 平均耗電量 | 結束作用中延遲 | 轉換機制 |
---|---|---|---|---|---|
作用中 (串流) | 音訊處理單元會主動串流音訊,編解碼器會將類比或數位音訊 提供給音訊端點 ,例如耳機、內建喇叭或遠端 HDMI 輸出裝置。 | D0 | <= 100 milliwatts (音訊處理 + 編解碼器) |
N/A |
轉換至 Portcls 起始的 D0。 發生於應用程式或系統服務起始音訊串流時。 |
Sleep | 音訊處理單位不會串流音訊,而且編解碼器無法運作,但待命電源足以偵測插孔插入或移除。 | D3 | <= 1 milliwatt (建議。) |
<= 35 毫秒或 <= 300 毫秒,視系統案例而定。 (必要項。) |
轉換至 Portcls 起始的 D3。 當所有應用程式完成音訊串流,以及驅動程式提供的或系統提供的閑置逾時到期時,就會發生。 |
在某些 SoC 設計中,音訊處理單元是多功能區塊,與視訊譯碼和圖形處理共用。 使用這些設計時,在某些情況下,音訊處理單位會在音訊未主動串流時開啟電源。
軟體電源管理機制
音訊子系統的主要軟體電源管理機制是內建於 PortCls 中的運行時間閒置偵測。 運行時間閑置偵測可讓 PortCls 觀察應用程式音訊串流活動,以判斷何時在作用中和睡眠電源模式之間切換音訊裝置。 PortCls 也可啟用音訊驅動程式與 SoC 廠商提供的電源引擎外掛程式 (PEP) 之間的專屬擴充機制,以管理音訊處理器的效能狀態。
運行時間閑置偵測
音訊子系統中的元件會在音訊子系統閑置一些指定的超時時間間隔之後,進入低功率睡眠模式。
SoC 廠商提供的音訊驅動程式必須註冊下列兩個預設閒置逾時設定:
- PerformanceIdleTime – 當硬體平臺插入 AC 電源時,請使用這個超時時間間隔。
- ConservationIdleTime – 當平台在電池電力上執行時,請使用這個超時間隔。
閑置逾時設定會儲存在音訊驅動程式 PowerSettings 登錄機碼下的登錄專案中。 如需詳細資訊,請參閱 音訊裝置類別無活動定時器實作。
下列 .inf 指示詞必須用來設定 PerformanceIdleTime 逾時一秒,以及一秒的 ConservationIdleTime 逾時:
[MyAudioDevice.AddReg]
HKR,PowerSettings,ConservationIdleTime,1,01,00,00,00
HKR,PowerSettings,PerformanceIdleTime,1,01,00,00,00
HKR,PowerSettings,IdlePowerState,1,03,00,00,00
PortCls 會與 Windows 核心電源管理員 共同作業,以在 PerformanceIdleTime 和 ConservationIdleTime 逾時值之間自動切換,因為平臺會在 AC 電源與電池電源之間轉換。
當系統處於連線待命狀態(也就是螢幕關閉)且音訊播放未起始時,PortCls 一律會使用一秒的閑置逾時,不論適配卡驅動程式在其 .inf 檔案中指定的逾時設定為何。
SoC 廠商提供的音訊驅動程式也必須註冊 IdlePowerState 設定,以指定要在閒置逾時到期時轉換為的電源狀態。 在所有連線的待命平臺上,音訊驅動程式都必須將 D3 註冊為電源狀態,才能在閑置逾時發生時輸入。 若要指定 D3 狀態, 上述範例中的 AddReg 指示詞會將 IdlePowerState 值設定為 03。
閑置逾時到期時,PortCls 會呼叫音訊驅動程式的 IAdapterPowerManagement3::P owerChangeState3 方法,告知驅動程序準備音訊裝置進入低功率睡眠模式(NewPowerState = PowerDeviceD3)。 音訊驅動程式必須儲存音訊處理單元的內容,並將編解碼器放入低功率睡眠模式,平均耗用不到一千米瓦特。 在低功率睡眠模式中,編解碼器必須繼續有足夠的電源來偵測音訊插孔插入/移除,併產生SoC上主要處理器的層級觸發中斷。
由於連線待命期間需要音訊播放,因為應用程式串流、系統音效產生或聽覺通知,PortCls 會呼叫音訊驅動程式的PowerChangeState3方法,告知驅動程式將音訊裝置設定為在作用中 (D0) 電源狀態運作 (NewPowerState = PowerDeviceD0)。 音訊驅動程式必須還原音訊處理單位的內容,並重新啟用編解碼器。
PortCls 會呼叫音訊驅動程式的 IAdapterPowerManagement3::D 3ExitLatencyChanged 方法,以通知驅動程式可容許從睡眠 (D3) 狀態轉換為作用中 (D0) 狀態的延遲上限變更。 PortCls 會呼叫音訊驅動程式的 D3ExitLatencyChanged 方法,將延遲上限設定為 35 毫秒或 300 毫秒。 音訊驅動程式必須遵守最大延遲容錯,且不進入需要繼續延遲大於 D3ExitLatencyChanged 方法中 PortCls 所指定值的低功率狀態。
編解碼器電源管理
SoC 廠商所提供的音訊驅動程式也負責設定及電源管理 off-SoC 音訊編解碼器。 驅動程式通常會透過I或其他 簡單的周邊總線 (SPB) 連線,從 SoC 控制音訊編解碼器。 驅動程式也必須處理編解碼器裝置的中斷。
當音訊子系統進入 D3(睡眠)狀態時,音訊驅動程式必須將編解碼器轉換為低功率睡眠模式。
當音訊子系統進入 D0 (使用中) 狀態時,音訊驅動程式必須將編解碼器轉換為使用中的電源模式。
Windows 電源架構 (PoFx) 和電源引擎外掛程式 (PEP)
PortCls 會向 Windows電源管理架構 註冊,讓 SoC 廠商提供的 PEP 收到使用中 (D0) 與睡眠 (D3) 電源模式之間音訊裝置轉換的通知。 在許多 SoC 設計中,音訊處理單元的時鐘和電源軌會與其他 SoC 功能區塊共用。 SoC 廠商提供的 PEP 會留意 SoC 特定的時鐘和電源拓撲,並採取適當的動作來停止時鐘,或在處於睡眠模式時關閉與音訊處理單元相關聯的電源軌。
此外,PortCls 支援稱為 內容共用 的私人機制,可讓音訊驅動程式直接與 PEP 通訊,以執行精細的電源管理。 例如,音訊驅動程式可以使用內容共用來通知 PEP 目前的音訊串流內容類型和比特率。 PEP 會使用這項資訊,將音訊處理單位的時鐘頻率縮減為處理目前音訊數據流所需的最小頻率,而不會發生問題。
內容共用介面定義為具有 GUID 識別碼的簡單輸入/輸出緩衝區,而且類似於其他可延伸的 Windows 電源管理介面。 如需迷你埠驅動程式與 PEP 之間內容共用的詳細資訊,請參閱 PortCls 私人 PEP 內容共用。
支援的硬體電源設定
在連線待命平臺中,Windows 支援音訊子系統的單一硬體電源管理組態。
在預期的組態中,音訊處理單元位於SoC上,而外部音訊編解碼器會透過SoC相容的數位音訊介面、一個簡單的 周邊總線 (SPB),例如IGpC和一或多個 GPIO 針腳連接到 SoC。 建議您在睡眠電源模式中,音訊編解碼器和外部邏輯耗用不超過一千米瓦特。
下圖顯示預期的硬體組態、 音訊設備驅動器堆疊,以及使用者模式元件。
音訊子系統可以有元件位於操作系統及其驅動程式看不到的編解碼器後方。 例如,這些元件可能包含喇叭和耳機的電流器。 這類元件是平台專屬的,而且可由系統整合者在 Windows 認證計劃中所述的需求內選取。
系統整合者必須列舉 APCI 命名空間階層根目錄中的 SoC 音訊裝置。 音訊處理單元和外部編解碼器所需的所有記憶體、I/O、GPIO 和 I£C(或其他 SPB)資源,都必須列在命名空間中裝置底下的 _CRS 物件中。 系統整合者和ACPI韌體開發人員必須與音訊驅動程序開發人員通訊,以瞭解訂購 硬體資源的慣例,例如 GPIO 針腳。 例如,接收兩個 GPIO 資源的驅動程式會根據其出現在資源清單中的順序來區別它們。 如需詳細資訊,請參閱 GPIO 型硬體資源。
雖然 ACPI 驅動程式 (Acpi.sys) 可以觀察主動式 (D0) 和睡眠 (D3) 轉換,因為裝置電源 IRP 會流經音頻堆疊,但系統整合者不得將音訊編解碼器描述為電源資源的一部分,或使用 _PS0 和 _PS3 ACPI 控制方法來變更編解碼器電源狀態。 在睡眠模式中,編解碼器應該以足夠低的功率運作,隨時可以保持開啟,以偵測插孔插入和移除。
音訊編解碼器和任何外部轉換器都必須放在電源軌上,除非系統處於ACPI關機 (S5) 狀態,否則一律開啟電源軌。 GPIO 針腳可用來視需要啟用或停用電流器。 您可以從編解碼器或 SoC 使用 GPIO 針腳來控制轉換器。
關鍵需求是編解碼器本身隨時保持電源,即使處於低功率睡眠模式,也能偵測到插孔插入和移除。 編解碼器必須產生中斷,以從最深的閑置狀態喚醒SoC,以處理耳機插孔插入和移除。
喚醒考慮(耳機和麥克風插孔偵測)
音訊子系統必須處理隨時可能發生之音訊輸出裝置狀態的變更。 最常見的音訊裝置狀態變更是將輸出裝置插入內建耳機插孔,並從插孔中移除此裝置。 此外,還必須偵測到任何其他連結音訊埠的插孔插入和移除,包括麥克風和數位訊號埠。
音訊堆疊必須能夠偵測插孔插入和移除。 音訊編解碼器的插斷線必須連接到一律為電源的 GPIO 針腳,且一律能夠從最深的閑置狀態喚醒 SoC。 Jack 偵測可讓 Windows 實時維護音訊輸入和輸出裝置的最新資訊,包括系統處於連線待命狀態的所有時間。 例如,當使用者插入耳機插孔時,會立即通知 Windows。 為了回應此通知,任何未來的連線待命通知警示音效會路由傳送至耳機,而不是路由傳送至平臺的內建喇叭。
如先前所述,系統韌體會將一組硬體資源指派給音訊裝置。 這些資源會在 ACPI _CRS 物件中描述,而操作系統會將這些資源的清單傳遞給音訊驅動程式。 此資源清單包含用來偵測音訊輸出裝置中狀態變更的所有 GPIO 中斷(例如耳機插入)。 這些中斷必須在系統 ACPI 韌體中標示為 喚醒來源。 音訊驅動程式應該為每個喚醒中斷新增插斷處理程式。 插斷處理程式必須視需要更新音訊裝置、音訊編解碼器和音訊驅動程式的狀態,根據插斷發出訊號。
_CRS 物件中的資源順序是以音訊驅動程式開發人員所定義的裝置特定慣例為基礎。 例如,如果驅動程式收到兩個中斷資源,驅動程式會根據資源清單中發生的順序來區分它們。 ACPI 韌體開發人員必須使用相同的順序,在ACPI韌體中描述這些資源。
多個硬體、韌體和軟體子系統必須共同作業,才能讓音訊插孔插入和移除偵測正常運作。 系統整合者和音訊驅動程式開發人員必須遵循下列實作指導方針:
硬體和 SoC
- 音訊編解碼器硬體必須偵測耳機、麥克風和其他插孔插入和移除事件,系統隨時開啟電源,包括當系統處於連線待命狀態時。
- 音訊編解碼器硬體必須能夠偵測插孔插入和移除,同時消耗很少的電力(低於一毫米平均)。
- 音訊編解碼器插斷必須連接到SoC上的 GPIO 針腳,才能從最深的電源狀態喚醒SoC。
ACPI 韌體
- 音訊裝置必須在 ACPI 命名空間中描述。
- 用來偵測插孔插入的 GPIO 行必須由 ACPI 韌體描述為獨佔和喚醒中斷。 使用 GpioInt 描述元巨集,並將 Shared 自變數設定為 ExclusiveAndWake。
- 音訊裝置的硬體資源必須依音訊驅動程式預期的順序列出。
音訊驅動程序軟體
- 音訊驅動程式必須將插斷處理程式連接到 GPIO 喚醒中斷。
- 當音訊驅動程式處理中斷時,它會評估音訊輸入/輸出裝置的狀態,並執行適當的動作。
測試和驗證
系統整合者可以使用 Windows 效能分析器 (WPA) 來驗證音訊裝置是否正確地執行運行時間閑置電源管理,並在作用中 (D0) 和睡眠 (D3) 狀態之間如預期般轉換。 WPA 可在 Microsoft Connect 網站上取得。 請連絡您的Microsoft代表,以取得 WPA 和 WPA 電源管理擴充功能方面的協助。 系統整合者也應該取得 WPA 電源管理工具套件。 此套件包含 WPA 的延伸模組,可啟用系統電源管理分析。
WPA 依賴 Windows 事件追蹤 (ETW) 檢測,該檢測內建於 Windows 核心和其他 Windows 元件,包括 PortCls。 若要使用 ETW 追蹤,會啟用一組追蹤提供者,並在測試案例執行時將其事件記錄到記錄檔中。 當案例完成時,追蹤提供者會停止。 WPA 可讓您對受測案例所產生的記錄檔進行後續處理和可視化分析。
在已安裝 WPA 的系統上,可以使用一組命令來收集電源管理檢測,以驗證音訊裝置的電源管理。 Xperf.exe工具會安裝在 \%Program Files%\Windows Kits\8.0\Windows 效能分析器 資料夾中。
若要啟動電源管理 ETW 追蹤,請以系統管理員身分開啟命令提示字元視窗,變更為包含 WPA 的目錄,然後執行下列命令:
>xperf -start powertracesession -on Microsoft-Windows-Kernel-Power
>xperf -capturestate powertracesession Microsoft-Windows-Kernel-Power
這些命令會指示 Windows 啟用 Microsoft-Windows-Kernel-Power ETW 事件提供者,並從 Microsoft-Windows-Kernel-Power 提供者擷取事件的初始狀態。
ETW 追蹤啟動之後,開發人員應該練習系統案例,以確認音訊裝置在作用中 (D0) 和睡眠 (D3) 電源模式之間正確轉換。 開發人員應該在下列案例中驗證音訊裝置:
- 啟動將音訊裝置從 D3 狀態轉換為 D0 狀態的應用程式。
- 關閉所有音訊應用程式之後,音訊裝置會從 D0 狀態轉換為 D3。
- 當系統處於連線待命狀態時,音訊裝置會維持在 D3 狀態。
- 當連線待命期間產生聽覺通知時,音訊裝置會從 D3 轉換為 D0、播放音訊,然後在一秒後返回 D3。
在這些測試案例完成之後,請使用下列命令停止 ETW 追蹤集合:
>xperf -stop powertracesession -d trace.etl
使用 WPA 開啟產生的 Trace.etl 檔案。 若要從命令列啟動 WPA,請輸入 命令 Wpa.exe
。
在 WPA 工具中,從 [圖形總管] 清單中選取 [裝置 Dstate] 圖形,且應該會出現下列檢視。
在此檢視中,裝置會透過其 ACPI 名稱來識別裝置(例如 \_SB。奧迪) 或裝置實例路徑 (例如 ACPI\MSFT0731\4%ffff367&2)。 ACPI 名稱和裝置實例路徑都會列在裝置 Dstate 圖表的摘要表中。
若要檢視音訊裝置所做的 D 狀態轉換,請在摘要表中尋找裝置名稱,以滑鼠右鍵按兩下名稱,然後選擇 [ 篩選至選取專案]。 產生的圖表只會顯示音訊裝置的 D 狀態轉換,如下列螢幕快照所示。
此範例追蹤顯示音訊裝置處於 D3 狀態(以垂直軸上的座標 3 表示),但追蹤開頭大約 290 秒的 5 秒期間除外。
電源管理檢查清單
系統整合者和 SoC 廠商應該使用下列檢查清單,以確保其音訊子系統電源管理設計與 Windows 8.1 相容。
系統整合者應與 SoC 廠商密切合作,整合音訊子系統裝置。
SoC 廠商開發的音訊驅動程式必須執行下列動作:
設定系統在 AC 電源和電池電源上執行時的運行時間閒置逾時。 音訊驅動程序必須將 PerformanceIdleTime 值和 ConservationIdleTime 值設定為一秒。
將IdlePowerState值設定為 D3。
在音訊驅動程式的 .inf 檔案中,將 IdlePowerState、PerformanceIdleTime 和 ConservationIdleTime 設定為下列值:
[MyAudioDevice.AddReg] HKR,PowerSettings,ConservationIdleTime,1,01,00,00,00 HKR,PowerSettings,PerformanceIdleTime,1,01,00,00,00 HKR,PowerSettings,IdlePowerState,1,03,00,00,00
當 PortCls 以裝置電源狀態 D3 呼叫驅動程式的 IAdapterPowerManagement3::P owerChangeState3 方法時,音訊驅動程式必須儲存所有音訊處理單元內容,並將編解碼器放入低功率睡眠模式。
當 PortCls 使用裝置電源狀態 D0 呼叫驅動程式的 PowerChangeState3 方法時,音訊驅動程式必須還原所有音訊處理單元內容,並重新啟用編解碼器。
音訊驅動程式不得使用違反 IAdapterPowerManagement3:D3ExitLatencyChanged 方法中 PortCls 所提供之 D3 結束延遲需求的電源狀態。
音訊驅動程式必須處理外部編解碼器的組態和電源管理。
當編解碼器偵測到插孔插入或移除時,音訊驅動程式必須處理來自外部編解碼器的層級觸發中斷。
SoC 廠商必須提供執行下列動作的電源引擎外掛程式 (PEP):
- 當音訊驅動程式轉換為睡眠 (D3) 模式時,音訊處理單元會處於低功率狀態。
- 當音訊驅動程式轉換為使用中 (D0) 電源模式時,開啟音訊處理單位所需的任何時鐘和電源軌。
- 根據所需的處理活動層級,正確調整提供給音訊處理單位的時鐘和電壓,這取決於音訊格式、內容類型和比特率。
若要開發音訊子系統的硬體和韌體平臺,系統整合者必須執行下列動作:
- 使用處於睡眠模式的編解碼器會耗用不到一毫秒,但仍可以偵測插孔插入和移除事件。
- 將編解碼器放在隨時開啟的系統電源軌上,除非系統處於 ACPI 關機 (S5) 狀態。
- 設計 ACPI 韌體,將音訊子系統列舉為 ACPI 命名空間階層根目錄中的單一裝置。
- 判斷音訊驅動程式預期的記憶體、中斷、I/O、GPIO 和 IーC 資源排序慣例,並確定資源會以 ACPI _CRS 物件中的相同順序序列出。
若要測試及驗證音訊子系統的電源管理,系統整合器必須執行下列動作:
- 當沒有任何應用程式使用音訊子系統或為用戶產生音訊時,確認音訊驅動程式會轉換成 D3 電源狀態。
- 當處於待命狀態時,請確認當應用程式或系統正在產生音訊時,音訊驅動程式會保持作用中的 D0 電源狀態,包括在螢幕關閉時的音訊播放期間。
- 當處於待命狀態從 explcit 專案 (電源按鈕按下時,請確認所有音訊串流都已從 OS 關閉,而當應用程式或系統正在產生音訊時,音訊驅動程式會轉換成 D3 電源狀態(OS 24H2 中的新功能)。
- 使用 Windows 硬體實驗室套件 (HLK) 所提供的測試,確認音訊播放是以無故障且無錯誤的方式執行。
- 確定當系統處於連線待命狀態時,插孔偵測可正常運作,且當使用者在耳機插孔中插入外掛程式或從插孔移除外掛程式時,音訊會正確地路由傳送至耳機或喇叭。
- 測量音訊處理單元、外部編解碼器和任何其他類比放大電路所使用的電源。 確定當整個音訊子系統處於睡眠狀態(D3)電源狀態時,會耗用不到一毫秒。