Embedded controller
An embedded controller is a computer microcontroller that handles system tasks. It is typically used on mobile computer platforms.
Tasks
An embedded controller can have the following tasks:- Processing signals from the keyboard and the touchpad
- Other buttons and switches
- Controlling access to the A20 line
- Thermal measurement and response including fan control, CPU and GPU throttling, and emergency shutdown in response
- Power management, including voltage regulator module
- Indicator LEDs
- Managing the battery charger and the battery
- Allowing remote diagnostics and remediation over the network
- Performing software-requested CPU reset
- Controlling the watchdog timer
- System Management Interrupt
- Bluetooth toggle
- Controlling display brightness
- USB OC
- Controlling RGB lighting
- Wake-on-LAN
- Debug Card Interface
- SCI from the embedded controller to inform the ACPI driver of an ACPI Event
Operation
As a core system component, the embedded controller is always on when power is supplied to the mainboard. To communicate with the main operating system, several forms of communication can be used, including ACPI, SMBus, or OEM-offered power management drivers.The embedded controller has its own RAM, independent of that used by the main computer system, and often its own flash ROM on which the controller's software is stored. Many BIOS updates also include upgrades for the embedded controller firmware.
An embedded controller is sometimes known as a "Keyboard Controller BIOS", which comes from the fact that the embedded controller evolved from the keyboard controller and often continues as a keyboard controller. An ACPI embedded controller communicates with the CPU via the same I/O ports that keyboard controllers used in the past.
Ergonomics
Although the embedded controller is "deep" in the system, it performs important functions for users such as fan control and thermal management. Laptops often produce large amounts of heat that must be discarded. This is typically done by activating a fan to blow air over the hot components; the fan is driven at variable speed by the EC. Such control schemes can be uncomfortable from an ergonomic point of view, as the change in fan speed is noticeable to the user.Some embedded controllers are designed to run the fans at a relativey constant speed over a wider temperature range and increases fan speed only when the system is overheating. This allows the fan to operate more quietly.
Common Brands
- Nuvoton
- ITE tech. Inc.
- Microchip Technology