Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

Embedded controller

An embedded controller (EC) is a microcontroller in computers that handles various


system tasks.

Tasks
An embedded controller can have the following tasks:

 Receiving and processing signals from the keyboard [1] and the touchpad (including
touchpad disable)
 other buttons and switches (e.g., power button, laptop lid switch (received from hall
sensor))[2]
 Controlling access to the A20 line[3]
 Thermal measurement (CPU, GPU, Motherboard) and response including fan control, CPU
and GPU throttling, and emergency shutdown in response to rising temperatures
 Controlling indicator LEDs (e.g. caps lock, scroll lock, num lock, battery, ac, power, wireless
LAN, sleep)
 Managing the battery charger and the battery[2]
 Allowing remote diagnostics and remediation over the network
 Performing software-requested CPU reset [1]
 Controlling the watchdog timer[2]
 System Management Interrupt (entry to System Management Mode)
 Bluetooth toggle
 Display backlight toggle
 Can act as a bridge between BIOS chip and chipset
 USB OC (overcurrent) (USB disable)
 whether AC is present
 Display power toggle
 Controls RGB lighting
 eSATA toggle
 Wake-on-LAN
 Debug Card Interface (Enables repair centers to monitor the boot process with a special
device in an attempt to fix problems (only few several hundred codes))
 SCI from the Embedded Controller to inform the ACPI driver (in the OS) of an ACPI Event

As a core system component, the embedded controller is always on when power is supplied
to the mainboard. To communicate with the main computer system, several forms of
communication can be used, including ACPI, SMBus, or shared memory.

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 still is used as a keyboard controller. Even today, an ACPI embedded controller
communicates with the CPU by using the same I/O ports that keyboard controllers used in
the past.

Ergonomics
Although the embedded controller is very "deep" in the system, it is important to the user
because it performs functions such as fan control and thermal management. Computer
systems such as laptops often produce large amounts of heat which must be dissipated. This
is typically done by activating a fan to blow air over the components that are producing
heat; the fan is not simply turned on or off, but is driven at high speed by the embedded
controller for a short time and then left running at low speed until the temperature has
decreased sufficiently. Such a control scheme can be uncomfortable from an ergonomic
point of view, as the change in fan speed is noticeable to the user, especially if this occurs
regularly and if the fan is clearly audible.

To prevent this, some embedded controllers are designed to run the fans at a constant speed
over a larger range of temperatures and will only increase fan speed when the system is
close to overheating. In this case, the ergonomics of the system are improved because the
fan is quieter, as it is controlled to rotate at a lower speed and does not change speed as
often. However, when the temperature does cross the controller's threshold, it will take
much longer to reduce the temperature to safe levels.

To change the fan control policy, updates to the embedded controller's firmware are usually
necessary.

You might also like