Embedded controller

Circuit handling system tasks in computers

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)

This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (June 2014) (Learn how and when to remove this message)

|

Some of this article's listed sources may not be reliable. Please help improve this article by looking for better, more reliable sources. Unreliable citations may be challenged and removed. (June 2014) (Learn how and when to remove this message)

|

(Learn how and when to remove this message)

An Embedded Controller (EC) is a microcontroller in computers that handles various system tasks. Now it is usually merged with Super I/O, especially on mobile platforms (such as laptops).

## Tasks

[edit]

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
* Power management, including control voltage regulator module
* 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
* Controlling display brightness (built-in LCD or OLED)
* USB OC (overcurrent) (USB disable)
* Controlling RGB lighting
* Wake-on-LAN
* Debug Card Interface (Enables repair centers to monitor the boot process with a special device in an attempt to fix problems)
* 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

[edit]

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.

## Common Brands

[edit]

* Nuvoton[4]
* ITE tech. Inc.
* Microchip Technology[5]

## See also

[edit]

* Super I/O
* Low Pin Count (LPC)
* Serial Peripheral Interface (SPI)

## References

[edit]

1. ^ a b "The PS/2 Keyboard Interface". Archived from the original on 2016-03-04.
2. ^ a b c "AMI Embedded Controller (EC) Firmware Solution" (PDF). Archived from the original (PDF) on 2016-03-04. Retrieved 2014-12-28.
3. ^ "A20 - a pain from the past".
4. ^ "EC (Embedded Controller)". Nuvoton. Retrieved 19 October 2023.
5. ^ "Embedded Controllers and Keyboar Controllers". Microchip Technology. Retrieved 19 October 2023.

## External links

[edit]

* Matthew Garrett: The ACPI Embedded Controller
* coreboot: List of embedded controllers as they are used in laptops

*[OS]: Operating system