Notebook Embedded Controller 簡介
這是一份介紹 EC(Embedded Controller,嵌入式控制器)及 KBC(Keyboard Controller,鍵盤控制器)的簡介,主要對象為即將踏入社會大學的新鮮人,或是剛進入 EC/KBC 領域的研發人員。希望透過本簡介,讓讀者對 EC/KBC 的工作內容有初步的認識,並了解這個領域是否適合自己發展。
內容將從基礎的電子知識開始,逐步帶領讀者認識 EC/KBC 研發所需具備的專業技能與程式撰寫能力,最終協助讀者建立成為一位 EC/KBC 研發工程師的基礎與方向。
什麼是 EC(Embedded Controller,嵌入式控制器)?這個名稱最早出現在 ACPI(Advanced Configuration and Power Interface Specification,高級設定與電源介面規範)中。EC 的主要功能是蒐集系統資訊,並透過 I/O 埠 62H/66H 將資料傳送給作業系統。
ACPI 是由當時筆記型電腦領域的主要企業──Intel、Microsoft、Phoenix 與 Toshiba 共同制定,目的在於有效管理筆記型電腦本身及其週邊裝置的電源消耗。
至於 ACPI 的完整內容,請參考官方發佈的《ACPI Specification》。本簡介僅聚焦於與 EC 有關的 ACPI 規範,作為入門參考。
在 ACPI 的規範中,EC(Embedded Controller)被定義為 PC 系統中的「系統管理匯流排(System Management Bus, SMBus)」的管理者,負責蒐集 SMBus 上各個裝置的狀態資料。這些資料會透過 I/O 埠 62H/66H,與 Microsoft 提供的 ACPI-Compliant Embedded Controller Driver 進行溝通,並最終傳遞給作業系統(Operating System, O.S.)。
作業系統接收到這些來自 EC 的資訊後,會根據系統的設定與需求,進行最佳化的電源管理,以提升系統效能並降低能源消耗。
在 Windows 10 系統中,EC Driver(嵌入式控制器驅動程式)位於「裝置管理員」中的「系統裝置」分類下。
什麼是 KBC?
KBC(Keyboard Controller,鍵盤控制器)是用來管理鍵盤與滑鼠裝置的控制器,負責處理來自鍵盤與滑鼠的輸入訊號,並將相關資訊傳送給作業系統。
在早期的 PC AT/XT 系統中,KBC 採用的是 Intel 8042 控制晶片,透過 I/O 埠 60H/64H 與作業系統進行資料傳輸。
而在筆記型電腦(Notebook)系統中,由於空間受限,無法使用體積較大的標準鍵盤,且部分鍵位需透過複合鍵來實現,因此不再使用固定功能的 Intel 8042 晶片,而是改採可修改韌體的單晶片(如 MCU),以彈性模擬並擴充原 8042 的功能。
good
回覆刪除好文!感謝!!
回覆刪除謝謝您的分享.
回覆刪除請問目前NB 在裝置管理員內的鍵盤 顯示為 HID Keyboard Device, 沒有出現 60 / 64 的資源訊息.
是OK的嗎?
是 OK . 現今有些 NB 使用了非 intel / AMD 的晶片組,沒有 LPC/eSPI 介面,或者是鍵盤有分離/組合的需求時, 所以改採用 USB 介面, 就會顯示 HID keyboard Device.
刪除