Notebook Embedded Controller Introduction
This is an introduction to EC (Embedded Controller) and KBC (Keyboard Controller), primarily intended for recent graduates entering the workforce or R&D personnel just starting out in the EC/KBC field. The aim is to provide readers with a basic understanding of the work involved in EC/KBC and to help them determine if this field is a good fit for their career.
The content will begin with basic electronics knowledge, gradually guiding readers to understand the professional skills and programming abilities required for EC/KBC development, and ultimately helping readers establish the foundation and direction to become an EC/KBC development engineer.
What is an EC (Embedded Controller)? This name first appeared in ACPI (Advanced Configuration and Power Interface Specification). The main function of an EC is to collect system information and transmit the data to the operating system through I/O ports 62H/66H.
ACPI was jointly developed by the major companies in the notebook computer industry at the time—Intel, Microsoft, Phoenix, and Toshiba—with the aim of effectively managing the power consumption of notebook computers and their peripherals.
For the complete ACPI documentation, please refer to the official ACPI Specification. This introduction focuses only on the ACPI specifications related to EC and serves as an introductory reference.
In the ACPI specification, the EC (Embedded Controller) is defined as the manager of the System Management Bus (SMBus) in a PC system, responsible for collecting status data from various devices on the SMBus. This data is transmitted via I/O ports 62H/66H to the interface provided by Microsoft.ACPI-Compliant Embedded Controller DriverIt communicates and ultimately passes the information to the operating system (OS).
After receiving this information from the EC, the operating system will perform optimized power management based on the system settings and requirements to improve system performance and reduce energy consumption.
In Windows 10, the EC Driver (Embedded Controller Driver) is located under the "System Devices" category in Device Manager.
What is KBC?
A Keyboard Controller (KBC) is a controller used to manage the keyboard and mouse. It is responsible for processing input signals from the keyboard and mouse and transmitting relevant information to the operating system.
In early PC AT/XT systems, the KBC used the Intel 8042 controller chip, which transmitted data to the operating system through I/O ports 60H/64H.
In notebook computer systems, due to space constraints, it is not possible to use a large standard keyboard, and some key positions need to be implemented through compound keys. Therefore, the fixed-function Intel 8042 chip is no longer used. Instead, a single chip with modifiable firmware (such as an MCU) is adopted to flexibly simulate and expand the functions of the original 8042.
Therefore, the Keyboard Controller (KBC) and Embedded Controller (EC) functions in a notebook system can be implemented separately using two processor chips, such as the RENESAS H8 series; or they can be integrated using a single processor chip, such as the nuvoton WPC8769L, ITE 8512, and ENE 3920. Since most mainstream notebook designs currently use a single-chip solution to integrate KBC and EC functions, this article will focus on the "One Processor Chip Solution."
Reference article:
good
回覆刪除好文!感謝!!
回覆刪除謝謝您的分享.
回覆刪除請問目前NB 在裝置管理員內的鍵盤 顯示為 HID Keyboard Device, 沒有出現 60 / 64 的資源訊息.
是OK的嗎?
是 OK . 現今有些 NB 使用了非 intel / AMD 的晶片組,沒有 LPC/eSPI 介面,或者是鍵盤有分離/組合的需求時, 所以改採用 USB 介面, 就會顯示 HID keyboard Device.
刪除