An Embedded Controller (EC) is a
microcontroller
A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programmabl ...
in
computer
A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations ( computation) automatically. Modern digital electronic computers can perform generic sets of operations known as programs. These prog ...
s that handles various system tasks. Now it is usually merged with Super I/O, especially on mobile platforms (such as laptop).
Tasks
An embedded controller can have the following tasks:
*Receiving and processing signals from the keyboard
[http://www.computer-engineering.org/ps2keyboard/] and the touchpad (including touchpad disable)
*Other buttons and switches (e.g., power button, laptop lid switch (received from hall sensor))
*Controlling access to the
A20 line
*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
Battery most often refers to:
* Electric battery, a device that provides electrical power
* Battery (crime), a crime involving unlawful physical contact
Battery may also refer to:
Energy source
*Automotive battery, a device to provide power t ...
charger and the battery
*Allowing remote diagnostics and remediation over the network
*Performing software-requested CPU reset
*Controlling the
watchdog timer
A watchdog timer (sometimes called a ''computer operating properly'' or ''COP'' timer, or simply a ''watchdog'') is an electronic or software timer that is used to detect and recover from computer malfunctions. Watchdog timers are widely used in ...
*System Management Interrupt (entry to
System Management Mode
System Management Mode (SMM, sometimes called ring −2 in reference to protection rings) is an operating mode of x86 central processor units (CPUs) in which all normal execution, including the operating system, is suspended. An alterna ...
)
*
Bluetooth
Bluetooth is a short-range wireless technology standard that is used for exchanging data between fixed and mobile devices over short distances and building personal area networks (PANs). In the most widely used mode, transmission power is limi ...
toggle
*Display backlight toggle
*
USB OC (overcurrent) (USB disable)
*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)
*SCI from the Embedded Controller to inform the ACPI driver (in the ) 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
Advanced Configuration and Power Interface (ACPI) is an open standard that operating systems can use to discover and configure computer hardware components, to perform power management (e.g. putting unused hardware components to sleep), auto con ...
,
SMBus, or
shared memory
In computer science, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Shared memory is an efficient means of passing data between progr ...
.
The embedded controller has its own
RAM
Ram, ram, or RAM may refer to:
Animals
* A male sheep
* Ram cichlid, a freshwater tropical fish
People
* Ram (given name)
* Ram (surname)
* Ram (director) (Ramsubramaniam), an Indian Tamil film director
* RAM (musician) (born 1974), Dutch
* ...
, independent of that used by the main computer system, and often its own
flash ROM on which the controller's
software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consist ...
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.
Common Brands
* Nuvoton Technology
* Winbond Electronics (Now merged into Nuvoton)
* ITE tech. Inc.
See also
*
Super I/O
Super I/O is a class of I/O controller integrated circuits that began to be used on personal computer motherboards in the late 1980s, originally as add-in cards, later embedded on the motherboards. A super I/O chip combines interfaces for a vari ...
*
Low Pin Count (LPC)
*
Serial Peripheral Interface
The Serial Peripheral Interface (SPI) is a synchronous serial communication interface specification used for short-distance communication, primarily in embedded systems. The interface was developed by Motorola in the mid-1980s and has become a ...
(SPI)
References
{{reflist
External links
Matthew Garrett: The ACPI Embedded Controllercoreboot: List of embedded controllers as they are used in laptops
Microcontrollers
Motherboard