新式待命平台的藍牙電源管理
藍牙無線電裝置可在電腦與輸入裝置、音訊裝置或其他藍牙連接的使用者周邊之間進行短範圍的 RF 通訊。 在新式待命電腦中,藍牙無線電的驅動程式應該根據本文所提供的指導方針來管理此裝置的電源狀態。
藍牙無線電
在 Windows 系統中,藍牙無線電裝置的電源狀態管理方式取決於無線電連接的匯流排。 在支援新式待命電源模型的硬體平臺上,Windows 支援連線到 UART 或連線到通用序列匯流排 (USB) 的藍牙無線電。 (理論上,Windows 8中引進的藍牙傳輸匯流排驅動程式模型應該支援任何基礎通訊匯流排。 目前,Microsoft 只會針對連線到 UART 或 USB 的藍牙無線電驗證新式待命相容性,或已整合到 Chip (SoC) ) 上的系統。
就像一般 Windows 驅動程式堆疊一樣,藍牙無線電電源原則是由單一電源原則擁有者管理, (PPO) -特別是 BthPort (bthport.sys) 。 BthPort 可與對應的傳輸特定驅動程式搭配運作, (UART 或 USB) ,以適當地將無線電驅動到所需的電源狀態。 如果是 USB,這是透過 USB 選擇性暫停透過 USB 主機控制器來完成。 在 UART 的情況下,其他廠商提供的傳輸匯流排驅動程式會透過系統特定的匯流排連線,協調從 BthPort 到藍牙無線電裝置的要求。 為了控制硬體,驅動程式會使用頻內匯流排通訊的組合、與 power-engine 外掛程式 (PEP) ,以及/或透過 GPIO 針腳的頻外訊號協調。
藍牙無線電裝置通常支援多個低電源模式,其中有些可能是裝置本身專屬的。 Windows 藍牙驅動程式堆疊需要藍牙無線電支援下列三種裝置電源狀態:
- Active (D0)
- 睡眠 (D2)
- 關閉 (D3)
藍牙無線電的裝置電源管理預期會在所有系統電源狀態之間以一致的方式運作。 當系統進入新式待命時,藍牙無線電不會進入特殊的電源管理模式。 相反地,藍牙無線電會根據 BthPort 所管理的閒置逾時,轉換進入和移出睡眠 (D2) 狀態。 為了在藍牙連結的 HID 輸入裝置上支援從新式待命喚醒,無線電會保持在睡眠 (D2) 狀態,並處於喚醒狀態。 只有在新式待命期間,才允許配對的藍牙 HID 裝置喚醒系統。 如果沒有裝置透過 RF 連結連線,藍牙無線電預期在 Sleep (D2) 狀態中耗電量非常低,小於一個 milliwatt。 耗電量可能會根據相關聯的裝置數目、這些裝置的類型及其活動模式而有所不同。
藍牙無線電也必須支援透過無線電管理使用者介面關閉無線電的功能。 這個使用者介面控制項內建于 Windows 中。 透過這個使用者介面關閉藍牙無線電之後,無線電會轉換為關閉 (D3) 電源狀態,預期會耗用幾乎零瓦。
舊版 Windows,包括 Windows 8 和 Windows 8 RT,需要藍牙裝置廠商提供無線電控制 DLL。 不過,從 Windows 8.1 和 Windows RT 8.1 開始,新式待命平臺中的所有藍牙無線電都應該支援藍牙核心規格 4.0 版。 因此,廠商不再需要提供軟體 DLL 來實作無線電開啟/關閉控制功能。 Windows 現在會處理此函式,即使存在,也會忽略任何這類 DLL。
電源管理模式
從軟體的觀點來看,藍牙無線電支援三種電源管理模式,不論無線電連接的匯流排為何。 Windows 藍牙驅動程式擁有三種模式的定義,並管理轉換進入和移出這些模式。 下表描述三種藍牙無線電電源模式。
[模式] | 描述 | 裝置電源狀態 (Dx) | 平均功率耗用量 | 結束作用中的延遲 | 轉換機制 |
---|---|---|---|---|---|
使用中 |
藍牙無線電會代表作業系統上的應用程式主動與相關聯的裝置通訊。 |
D0 |
因案例和相關聯的裝置而異。 |
N/A |
N/A |
睡眠 (大部分是低速率工作週期閒置) |
藍牙無線電處於低電源狀態。 系統已與遠端藍牙裝置配對,但兩者之間沒有連線。 也就是說,裝置已中斷連線。 藍牙控制器必須能夠在新資料從配對裝置送達時,產生 (到 SoC 的喚醒訊號) 。 或者,藍牙無線電沒有關聯。 或者,藍牙無線電具有閒置 (沒有傳送/接收資料) 且連結處於探查模式的作用中連線。 |
D2 |
< 4 milliwatts |
< 100 毫秒 |
Windows 藍牙驅動程式會使用 D2 電源 IRP 起始 D2 轉換。 Windows 藍牙驅動程式會在基礎傳輸匯流排驅動程式中起始擱置的等候喚醒 IRP。 如果藍牙裝置是透過 USB 連結,則此狀態相當於選擇性暫停。 (藍牙選擇性暫停要求裝置在 USB 裝置描述元中標示為遠端喚醒功能且自我啟動。) |
關閉 |
藍牙無線電完全關閉 (零瓦) 或處於低電源狀態,不會保留任何無線電狀態。 藍牙無線電無法為此狀態的 SoC 產生喚醒訊號。 藍牙無線電也無法發出或接收任何無線電訊號—所有 RF 元件都會關閉電源。 |
D3 |
0 瓦特 |
< 2 秒 |
Windows 藍牙驅動程式會使用 D3 電源 IRP 起始 D3 轉換。 傳輸匯流排驅動程式或系統 ACPI 韌體可能會移除電源或切換 GPIO 線路,以將藍牙無線電硬體轉換為關閉 (D3) 狀態。 |
藍牙無線電也支援相關聯的模式,讓無線電傳輸器可以透過軟體關閉電源,以回應使用者的要求。 當藍牙裝置啟用無線電時,此裝置會處於 Active (D0) 或 Sleep (D2) 狀態。 當使用者停用藍牙裝置的無線電時,Windows 會意外移除通訊協定驅動程式及其子系,然後將無線電裝置堆疊轉換為 Off (D3) 狀態,以停止藍牙活動。
軟體電源管理機制
藍牙無線電裝置的電源管理是由 BthPort 起始為電源原則擁有者的裝置 Dx 狀態轉換所驅動, (PPO) 。 PPO 會決定裝置在 Active (D0) 、Sleep (D2) 和 Off (D3) 狀態之間轉換。
當無線電沒有任何相關聯的裝置時,Windows 會將裝置轉換為 D2 並將它保存在該狀態,直到使用者開始配對程式為止。 當無線電與一或多個裝置相關聯時,Windows 藍牙驅動程式會使用閒置逾時來決定何時將藍牙無線電從 D0 轉換為 D2。 此演算法會使用作業系統和應用程式的藍牙使用模式,以判斷何時將無線電轉換為 D2 狀態。 例如,如果藍牙無線電上沒有其他活動,則無線電會在藍牙鍵盤上按下最後一個按鍵數秒之後轉換成 D2。
Windows 藍牙驅動程式會將裝置轉換為 D0,以回應下列任何一項:
- 使用者開始配對程式。
- 應用程式會要求使用藍牙功能。
- 藍牙無線電已根據相關聯裝置的輸入產生喚醒要求。
不同于其他裝置,藍牙無線電在現代化待命 (系統在正常運作且顯示器開啟時,會關閉) 執行相同的電源管理模式。 這是因為藍牙無線電預期可在新式待命期間隨時從相關聯的裝置接收輸入時喚醒 SoC。 例如,如果使用者已將藍牙鍵盤與 Windows 電腦建立關聯,按下鍵盤上的任何按鍵應該會從新式待命喚醒電腦,然後開啟顯示器。
如果沒有裝置與無線電相關聯,則當無線電處於睡眠 (D2) 狀態時,該無線電應該設定為耗用少於一個 milliwatt。
當藍牙無線電處於關閉 (D3) 狀態時,預期會耗用幾乎零瓦。
驅動程式實作注意事項
如果藍牙無線電是透過 UART 連線或整合到 SoC 本身,則需要藍牙裝置廠商才能實作並提供傳輸匯流排驅動程式。 傳輸匯流排驅動程式負責下列事項:
- 將藍牙 HCI 封包要求從 Windows 藍牙驅動程式 (Bthmini.sys) 轉譯為透過傳輸匯流排傳送至藍牙無線電的命令。
- 將藍牙無線電裝置轉換成對應至 Active (D0) 、Sleep (D2) 和 Off (D3) 裝置電源狀態的各種電源管理模式。 驅動程式也會實作處理電源管理事件的常式。
- 將藍牙無線電設定為在裝置產生輸入時喚醒 SoC,並將任何選擇性 GPIO 線路的狀態從 SoC 變更為用於電源管理的藍牙無線電。
- 列舉和電源管理其他裝置, (例如 FM 傳輸器或 GPS 裝置,) 共用與藍牙無線電相同的匯流排。 如果其他裝置實際連線到共用匯流排,但不會向作業系統公開,則傳輸匯流排驅動程式必須完全關閉這些裝置。
如需實作傳輸匯流排驅動程式的詳細資訊,請參閱傳輸匯流排驅動程式的藍牙電源控制處理指導方針。 傳輸匯流排驅動程式必須使用 Windows Driver Framework (WDF) 來撰寫。 範例驅動程式位於 藍牙序列 HCI 匯流排驅動程式。
若要啟用藍牙無線電電源管理,傳輸匯流排驅動程式必須執行下列動作:
- 啟用執行時間閒置電源管理的支援,並公開 Active (D0) 、睡眠 (D2) 和關閉 (D3) 裝置電源狀態的支援。
- 向 Windows 藍牙驅動程式指出藍牙無線電裝置能夠從 D2 狀態發出喚醒事件的訊號。
- 支援讓藍牙無線電裝置喚醒 SoC,並將藍牙裝置的喚醒訊號解除至 SoC。 此支援可能需要處理一或多個 GPIO 中斷,並在 WDF 內執行喚醒方法。
- 當裝置在 Active (D0) 、睡眠 (D2) 之間轉換,以及關閉 (D) 3 狀態時,將任何選擇性 GPIO 線路的狀態變更為藍牙無線電裝置。
如果藍牙無線電已整合到 SoC 本身,傳輸匯流排驅動程式就可以向 Windows 電源管理架構註冊,以將藍牙無線電電源狀態與 SoC 特定的電源引擎外掛程式通訊 (PEP) 。 這可藉由將 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS 結構的 IdleTimeoutType 成員設定為 SystemManagedIdleTimeout 值來完成。
如果藍牙無線電是透過 USB 連線,則必須使用內建的 Windows USB 藍牙驅動程式堆疊。 堆疊會處理所有電源管理作業。
無線電管理
藍牙無線電傳輸器的狀態會直接系結至裝置電源狀態。 當無線電處於作用中 (D0) 或睡眠 (D2) 電源狀態時,無線電傳輸器應該會開啟。 當無線電轉換成關閉 (D3) 狀態時,必須關閉無線電傳輸器。
當使用者關閉藍牙無線電時,Windows 會解除擱置的 I/O 作業並卸載通訊協定驅動程式及其子系,以終止藍牙活動。 Windows 藍牙驅動程式堆疊接著會將HCI_Reset命令發出給控制器,以將無線電重設為其預設狀態。 在預設狀態中,控制器不能傳輸或接收任何無線電訊號。 最後,控制器會轉換成 Off (D3) 狀態。
為了回應轉換至 Off (D3) ,傳輸匯流排驅動程式必須使用裝置特定方法,將藍牙裝置電源關閉到最低電源狀態。 典型的實作是將 GPIO 線路的狀態從 SoC 變更為藍牙無線電,以停用藍牙模組的電源。 替代實作是要求 ACPI 韌體使用_PS0和_PS3控制方法,從藍牙模組中移除電源。
當使用者開啟藍牙無線電時,Windows 會將無線電轉換成 Active (D0) 狀態、重新初始化無線電,然後重新列舉子通訊協定驅動程式。 當無線電轉換成 Active (D0) 時,任何必要的 GPIO 線路都必須切換為藍牙無線電的一般 D0 序列的一部分。 如果使用 ACPI 韌體來關閉無線電電源,則必須使用_PS0控制方法來還原電源。
在此一般序列中,傳輸匯流排驅動程式必須將裝置標示為內部連線的裝置,方法是將藍牙無線電的 ContainerId 設定為特定的 GUID 值 {00000000-0000-0000-ffff}。 這可讓 Windows 無線電使用者介面元素偵測到傳輸匯流排驅動程式所公開的藍牙無線電是電腦內部,而不是不適合無線電控制的外部連結無線電。
支援的硬體電源設定
藍牙無線電的電源管理硬體設定取決於通訊匯流排。 一般而言,所有藍牙無線電預期都有下列常見的硬體電源管理功能:
- 支援關閉 (D3) 狀態,作為關閉無線電以回應使用者要求的方式。 關閉無線電可讓藍牙無線電處於幾乎零瓦的低電量狀態。
- 進入低電源睡眠 (D2) 狀態的機制,其中連線會保存到相關聯的裝置,但沒有作用中的傳輸。
- 當相關聯的裝置有 SoC 的資料,且 SoC 處於低電源狀態時,產生喚醒中斷的機制,其中藍牙無線電裝置目前沒有作用中。
每個支援的匯流排都會 (USB、UART,並整合至藍牙無線電裝置的 SoC) ,都支援上述清單中所有三個基本硬體電源管理功能。 此外,每個藍牙無線電都可以有廠商特定的或裝置特定的電源管理功能,但這些功能不在本主題的範圍內。
鼓勵藍牙無線電廠商以自發于硬體的方式實作加值電源管理功能,而且不需要 Windows 系統上額外的廠商提供的驅動程式軟體。 也鼓勵藍牙無線電廠商實作其驅動程式 () 及其電源管理軟體,以將平臺特定差異抽象化為系統 ACPI 韌體,而不是將裝置驅動程式程式碼或驅動程式 .inf 檔案。 此方法可讓藍牙裝置在其他平臺上重複使用一個驅動程式套件,而不需要更新驅動程式來源、二進位或已簽署的安裝套件。
透過 SoC 外部 UART 連線的藍牙無線電
如果藍牙無線電是透過 UART 連線,而且實際位於 SoC 外部,藍牙無線電廠商必須提供傳輸匯流排驅動程式,以公開藍牙無線電和其他任何裝置功能 (,例如,透過 UART 共用相同通訊路徑的 FM 無線電) 。 匯流排驅動程式也負責管理控制藍牙無線電耗電量和喚醒功能的任何 GPIO 資源。
不同于其他裝置類別,控制藍牙電源和喚醒的 GPIO 線路是由傳輸匯流排驅動程式直接管理,而不是由 ACPI 控制方法抽象化。 此控制配置是多重功能匯流排驅動程式設計的結果,可列舉藍牙無線電和其他共用相同 UART 埠的函式。 在此設計中,Windows ACPI 驅動程式Acpi.sys不會載入藍牙和 FM 無線電的驅動程式堆疊中,因此無法使用 ACPI 控制方法執行來回應裝置 Dx 狀態轉換。
當藍牙無線電連線到 SoC 上的 UART 埠時,系統整合器必須使用 SoC 上 GPIO 控制器上的針腳來控制對無線電的電源。 在 ACPI 韌體中,此針腳必須指派為 GPIO I/O 資源給代表傳輸匯流排驅動程式根裝置的裝置物件。 如果無線電支援關閉具有內部電源管制的裝置,GPIO 針腳可以直接連線到藍牙無線電。
如果藍牙無線電支援電源控制,藍牙無線電的電源來源可以連線到任何系統電源軌。
如果無線電不支援由 GPIO 針腳控制的內部電源控制,系統整合器必須將藍牙無線電放在可切換的電源軌上。 然後,SoC 的 GPIO 針腳會連線到電源切換硬體。 在此設計中,ACPI 控制項方法無法用來追蹤參考計數,或匯總共用相同電源軌的多個裝置的電源狀態,因此藍牙無線電必須在自己的可切換電源軌上隔離。
系統整合器必須在 SoC 上的 GPIO 控制器上使用額外的針腳,以接收藍牙無線電的喚醒中斷。 此針腳上的中斷必須能夠從其最低電源狀態喚醒 SoC。 在某些 SoC 設計中,這類針腳稱為 Always-On GPIO 針腳,因為 GPIO 控制器可以隨時偵測此針腳上的中斷,而不論 SoC 的電源狀態為何。 Always-on 功能可能會受限於硬體,限制為 SoC 上的一組特定 GPIO 針腳,或可在韌體中設定。 系統整合者必須與 SoC 廠商檢閱此設計,以確保藍牙無線電的喚醒中斷會導致 SoC 結束其最深的閒置電源狀態。 (在新式待命期間,系統隨時都在 S0 中。新式待命系統不支援 S3.)
當傳輸匯流排驅動程式列舉的所有函式都已關閉電源,且 ACPI 列舉的傳輸匯流排裝置進入 D3 時,永遠開啟 GPIO 針腳可以關閉電源。 當使用者已關閉傳輸匯流排驅動程式所列舉之所有裝置功能的無線電時,就會發生這種情況。
USB 上的藍牙無線電
如果藍牙無線電透過 USB 匯流排連接到 SoC 或核心晶片,則必須從 USB 匯流排以外的來源提供無線電電源。 在 USB 規格中,這類無線電會描述為自我電源,而且此功能必須在藍牙裝置的 USB 描述元中報告。
同樣地,USB 裝置硬體必須公告遠端喚醒的支援,這是藍牙無線電產生頻內 USB 繼續訊號以喚醒 USB 主機控制器的功能。 遠端喚醒功能也必須在藍牙無線電的 USB 描述元中公告。
藍牙無線電必須同時支援自我電源和遠端喚醒功能,才能進入睡眠 (D2) 狀態,並啟用選擇性暫停。
如果藍牙無線電處於睡眠 (D2) 狀態,且來自相關聯裝置的資料可供主機使用,藍牙無線電必須產生遠端喚醒繼續訊號以喚醒主機。 不支援使用 GPIO 線到核心晶片的頻外繼續訊號。 藍牙無線電,包括其 USB 連線線路,預期在睡眠 (D2) 狀態中耗用不到一毫秒的電源。
喚醒考慮
藍牙無線電預期能夠在睡眠 (D2) 狀態時產生喚醒中斷。 喚醒中斷必須讓 SoC 開啟電源,即使 SoC 處於最低電源狀態也一樣。 下表摘要說明兩種藍牙喚醒訊號機制。
連線匯流排 | 硬體訊號路徑 | 批註和附注 |
---|---|---|
UART (與廠商提供的傳輸匯流排驅動程式) |
從藍牙無線電到 SoC 的 GPIO。 |
無線電必須連線到 GPIO 針腳,才能從其最低電源狀態喚醒 SoC。 |
USB |
頻內 USB 繼續從選擇性暫停發出訊號。 |
不支援頻外 GPIO 喚醒。 |
測試和驗證
建議藍牙裝置廠商測試及驗證藍牙無線電裝置的電源管理作業。
Active (D0) 、Sleep (D2) 和 Off (D3) 狀態之間的轉換,可以輕鬆地使用 Xperf 工具來觀察,如其他章節所述。
您可以使用 Windows 內建的 ETW 檢測來監視藍牙驅動程式活動。 建議驅動程式開發人員使用 Windows 事件追蹤 (ETW) 檢測來公開驅動程式的重大電源管理狀態變更,並使用Xperf 工具或內建 Windows 事件檢視器來觀察這些變更。
如果藍牙無線電是透過 USB 連結,內建Powercfg.exe公用程式可以與 /energy 命令列選項一起使用,以驗證無線電進入睡眠 (D2) 狀態並暫停。 若要使用 Powercfg.exe 公用程式:
- 以系統管理員身分開啟命令提示字元視窗。
- 變更為磁片磁碟機的根目錄, (cd \) 。
- 輸入命令 powercfg.exe /energy。
- 等候預設的 60 秒。
- Powercfg.exe公用程式將會輸出系統上的錯誤和警告條件數目,如下列螢幕擷取畫面所示。
- 工具將摘要資訊寫入命令提示字元視窗之後,會產生名為 Energy-report.html 的 HTML 檔案。 開啟檔案,然後從 USB 藍牙裝置尋找錯誤或警告條件。 下列範例摘要會報告 USB 藍牙裝置在閒置時未進入睡眠 (D2) 狀態。
提供其他協力廠商藍牙設定檔驅動程式和應用程式的藍牙裝置廠商必須確認其軟體支援意外移除,並允許無線電管理基礎結構及時關閉藍牙無線電。 當設定檔或應用程式正在使用時,應該驗證這些案例。 例如,對於音訊驅動程式,當無線電關閉時,應該有藍牙音訊串流。 然後,應該重新開啟無線電,並重新啟動音訊串流,以確認它仍可運作。
藍牙電源管理檢查清單
系統整合者、藍牙無線電廠商和 SoC 廠商應該使用下列檢查清單,以確保其系統電源管理設計與Windows 8和Windows 8.1相容:
決定系統設計中藍牙無線電的通訊匯流排。 藍牙無線電會透過 UART 連線,或透過 USB 連接。
確定藍牙無線電支援低電量睡眠模式,當沒有任何裝置相關聯時,耗用不到一個 milliwatt。
睡眠模式中藍牙無線電的耗電量可能會根據目前存在的相關聯裝置數目而有所不同,但通常不應隨時超過五個 milliwatt。
確定藍牙無線電支援下列基本必要電源管理功能:
- 支援關閉 (D3) 狀態,讓使用者關閉無線電。
- 進入低電源睡眠 (D2) 狀態的機制,其中連線會保存到相關聯的裝置,但沒有作用中的傳輸。
- 當相關聯的裝置產生資料且 SoC 處於低電源狀態時,喚醒 SoC 的機制。
如果藍牙無線電是透過非 USB 匯流排連線, (UART 或整合到 SoC) ,藍牙無線電廠商必須開發傳輸匯流排驅動程式。 傳輸匯流排驅動程式必須執行下列動作:
- 支援傳輸匯流排驅動程式 for Bluetooth 電源控制處理指導方針中詳述的功能和需求。
- 將藍牙要求從 Windows 藍牙驅動程式 (Bthmini.sys) 轉譯為透過 UART 匯流排或專屬的內部 SoC 匯流排的藍牙無線電。
- 將藍牙無線電裝置轉換成對應至 Active (D0) 、Sleep (D2) 和 Off (D3) 狀態的各種電源管理模式。 驅動程式也必須實作常式來處理裝置電源管理 (Dx) IRP。
- 將藍牙無線電設定為在裝置產生輸入時喚醒 SoC,並變更任何選擇性 GPIO 線路的狀態,以將 SoC 連接到藍牙無線電以進行電源管理。
- 例如,列舉其他裝置 (,可能是在藍牙無線電上共用的 FM 傳輸器) 。
- 使用 Windows Driver Framework (WDF) 進行驅動程式開發。
- 根據藍牙序列 HCI 匯流排驅動程式實作。
如果藍牙無線電是透過 USB 連線,藍牙無線電廠商必須:
- 在無線電中啟用選擇性暫停的支援。
- 確定無線電在 USB 裝置描述項中設定了遠端喚醒和自我電源功能。
- 確定無線電 (包括 USB 元件,) 耗用少於一個 milliwatt。
不論連線匯流排為何,藍牙無線電都必須針對內部連線的無線電執行下列動作:
- 請確定所有 RF 元件都已關閉,以回應傳送至無線電HCI_Reset命令,以準備關閉無線電電源。 無線電不應該能夠傳輸或接收任何無線電訊號。
- 當設定為 Off (D3) 狀態時,請輸入其最低電源模式。
如果藍牙無線電透過 UART 連線,系統整合器必須將喚醒訊號從藍牙無線電連接到 SoC 上的 GPIO 針腳,以從最低電源狀態喚醒 SoC。
- SoC 可能需要將喚醒訊號路由傳送至一組預先設定為永遠開啟的有限 GPIO 針腳。
- 或者,SoC 可以支援在開機期間,將 GPIO 針腳設定到系統韌體中的 Always-On 針腳。
當沒有相關聯的裝置時,系統整合者必須測試並確認藍牙無線電進入睡眠 (D2) 狀態。
當所有相關聯的裝置沒有作用中的傳輸時,系統整合者必須測試並確認藍牙無線電進入 Sleep (D2) 狀態。
當無線電處於睡眠 (D2) 狀態時,系統整合器必須測試並確認藍牙無線電可以從其最低電源狀態喚醒 SoC。
系統整合者必須在睡眠 (D2) 狀態時,測試並確認藍牙無線電不會產生假性喚醒訊號。
系統整合者必須測試並確認附加元件協力廠商軟體,例如設定檔驅動程式和應用程式,可與藍牙無線電管理正常運作。 當協力廠商軟體主動使用 (例如播放音訊或傳輸檔案) 時,應該關閉和開啟無線電。