ChromeOS 的嵌入式控制器
讓我們來看看 Chromebook 的簡化框圖,其中突出顯示了所有 Chromebook 上的主要處理單元。
應用處理器(AP)是 Chromebook 中的主力,使用 Intel、AMD、MediaTek 或 Qualcomm 的晶片組。該處理器透過開源 coreboot 韌體啟動,並運行基於 Linux 的 ChromeOS 作業系統。 Chromebook 還包含 Titan C 晶片,該晶片是 Chromebook 基於硬體的信任根的基礎。 最後是嵌入式控制器(EC)。EC 是一款始終開啟的超低功耗微控制器。當應用程式處理器關閉或睡眠時,EC 會處理您希望 Chromebook 執行的所有操作。這使得 EC 對於 Chromebook 的全天電池壽命至關重要。 嵌入式控制器的作用
下面的框圖提供了對 EC 的更深入的了解。
EC 的作用包括:
AP power
—— EC 管理應用處理器的供電,這涉及多個電源軌的正確排序和定時以及監控來自應用處理器的電源狀態訊號。
Keyboard
—— EC 掃描鍵盤,透過專用通訊通道將按鍵資訊傳送至作業系統。
Thermal management
—— EC 持續監控應用處理器、RAM 和充電電路的溫度,自動打開風扇以提供主動冷卻。在極端溫度下,EC 可以節流或完全關閉應用處理器的電源以保護系統。
Sensors
—— 對於可轉換 Chromebook,EC 使用兩個加速度計測量蓋子角度。這用作系統在筆記型電腦和平板電腦模式之間切換的輸入。
Power management
—— EC 監控電池和充電。如果系統上有 USB-A 端口,EC 會控制何時為這些端口供電以及每個端口上通告的電流量。EC 還管理 USB-C 連接的各個方面,包括協商充電器的電源以及啟用 DisplayPort 和 USB4 模式。
支持健康的生態系統
最初的 ChromeOS EC 程式碼於 2012 年左右創建,並且一直是開源的。此代碼支援 200 多種 Chromebook 變體。ChromeOS EC 程式碼提供了功能豐富的即時作業系統(RTOS),具有執行緒、調度、信號量、互斥體和中斷。 在此之前,筆記型電腦和桌上型電腦中使用的 EC 通常是製造商提供的閉源解決方案。利用原始 ChromeOS EC 程式碼,晶片供應商專門為 Chromebook 編寫了驅動程式。如果供應商想要支援 Chromebook 以外的市場,這通常意味著供應商需要重複工作。 Google 最近決定將 EC應用程式轉移到Zephyr 專案提供的新 RTOS 上。Zephyr 專案是 Linux 基金會託管的項目,擁有 1200 多名社群貢獻者,使其成為最大的開源 RTOS 社群。 透過改用 Zephyr,供應商只需編寫一次驅動程序,即可在 Chromebook 以外的產品領域獲得設計勝利。 Zephyr 專案也為 ChromeOS EC 應用程式提供了一些直接的技術優勢。Zephyr 的設備模型是基於devicetree 和Kconfig 的業界標準。這些技術簡化了每個 Chromebook 型號所需的客製化步驟,減少了 Chromebook 製造商的工程工作量。 確保成功過渡
Chromebook 上使用的 EC 應用程式功能豐富,Google 在過渡到 Zephyr 期間不能遺失功能或引入錯誤。 Google 透過重複使用大部分 EC 應用程式功能程式碼、建立填充層以將現有 API 對應到 Zephyr API 來解決此問題。
切換到基於 Zephyr 的 EC 後,EC 的公共介面保持不變。因此,無論 Chromebook 使用原始 EC 代碼還是基於新 Zephyr 的 EC 代碼,您都可以放心,Chromebook 已通過所有相同嚴格的資格測試。 Google 為 Zephyr 專案帶來了什麼
Google 全力支持 Zephyr 項目,並已加入為白金會員。 明年,Google 計劃將 ChromeOS EC 應用程式的所有功能直接添加到Zephyr 專案主樹中,將這些功能引入所有 Zephyr 應用程式。 Google 已經向 Zephyr 貢獻了一個狀態機框架庫,並對測試API 進行了現代化改造,簡化了測試和測試套件的創建。增加全功能 USB-C 供電實施的工作也在進行中。