Embedded controller: Difference between revisions

Content deleted Content added
Tocretpa (talk | contribs)
Mention ACPI SCI
m TYPO (laptop should be plural)
 
(41 intermediate revisions by 23 users not shown)
Line 1:
{{Short description|Circuit handling system tasks in computers}}
{{multiple issues|
{{nomore footnotes needed|date=June 2014}}
{{unreliable sources|date=June 2014}}
 
}}
 
An '''embeddedEmbedded controllerController''' ('''EC''') is a [[microcontroller]] in [[computer]]s that handles various system tasks. thatNow theit is usually merged with [[operatingSuper systemI/O]], doesespecially noton handlemobile platforms (such as laptops).
 
== Tasks ==
 
An embedded controller can have the following tasks:
*Receiving and processing signals from the keyboard<ref name="ps2kbc">{{Cite web | url=http://www.computer-engineering.org/ps2keyboard/ | title=The PS/2 Keyboard Interface |archive-url=https://web.archive.org/web/20160304080022/http://www.computer-engineering.org/ps2keyboard/ | archive-date=2016-03-04}}</ref> and the touchpad (including touchpad disable)
*Other buttons and switches (e.g., power button, laptop lid switch (received from hall sensor))<ref name="amikey">{{Cite web |url=http://www.ami.com/ami_downloads/Embedded_Controller_Data_Sheet.pdf |title=AMI Embedded Controller (EC) Firmware Solution |access-date=2014-12-28 |archive-date=2016-03-04 |archive-url=https://web.archive.org/web/20160304032338/http://www.ami.com/ami_downloads/Embedded_Controller_Data_Sheet.pdf |url-status=dead }}</ref>
*Receiving and processing signals from the touchpad (including touchpad disable)
*Controlling access to the [[A20 line]]<ref>{{Cite web|url=http://www.win.tue.nl/~aeb/linux/kbd/A20.html|title=A20 - a pain from the past}}</ref>
*other buttons and switches (e.g., power button, laptop lid switch (recieved from hall sensor))<ref name="amikey">http://www.ami.com/ami_downloads/Embedded_Controller_Data_Sheet.pdf</ref>
*Thermal measurement (CPU, GPU, Motherboard) and response including [[fan control]], [[Dynamic frequency scaling|CPU and GPU throttling]], and emergency shutdown in response to rising temperatures
*Turning the computer on and off
*Power management, including control [[voltage regulator module]]
*Controlling access to the [[A20 line]]<ref>http://www.win.tue.nl/~aeb/linux/kbd/A20.html</ref>
*Controlling indicator [[Light-emitting diode|LED]]s (e.g. caps lock, scroll lock, num lock, battery, ac, power, wireless LAN, sleep)
*Thermal measurement (CPU, GPU, Motherboard) and response including fan control, [[Dynamic frequency scaling|CPU throttling]], and emergency shutdown in response to rising temperatures
*Controlling indicator [[LED]]s (e.g. caps lock, scroll lock, num lock, battery, ac, power, wireless LAN, sleep)
*Managing the [[Battery (electricity)|battery]] charger and the battery<ref name="amikey"/>
*Allowing remote diagnostics and remediation over the network
Line 22 ⟶ 23:
*System Management Interrupt (entry to [[System Management Mode]])
*[[Bluetooth]] toggle
*Controlling display brightness (built-in LCD or OLED)
*Display backlight toggle
*[[USB]] OC (overcurrent) (usbUSB disable)
*LAN reset
*Controlling RGB lighting
*GPU reset
*[[Wake -on -LAN]]
*Can act as a bridge between BIOS chip and platform hub
*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))
*Mute audio
*SCI from the Embedded Controller to inform the ACPI Driverdriver (in the {{abbr|OS|Operating Kernelsystem}}) of aan ACPI Event
*USB OC (overcurrent) (usb disable)
*whether AC is present
*Display power toggle
*Suspend Management (for sleep mode)
*eSATA USB toggle
*eSATA toggle
*Reset all PCI express devices
*Wake on LAN
*Charger enabled
*3G or 4G Toggle
*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 Kernel) of a 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 [[Advanced Configuration and Power Interface|ACPI]], [[SMBus]], or [[Shared memory (interprocess communication)|shared memory]].
Line 45 ⟶ 35:
 
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.
 
A [[Trusted Platform Module]] contains an embedded controller that performs [[Cryptography|cryptographic]] functions and nothing else.
 
== Ergonomics ==
Line 54 ⟶ 42:
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. In some systems, fan control is not provided by the embedded controller, but is instead done by a higher-level component such as an ACPI controller. In this case, changing the behaviour of the fan system can be done by the system administrator through ACPI configuration without changing any firmware.
 
== ReferencesCommon Brands ==
* [[Nuvoton]]<ref>{{cite web |title=EC (Embedded Controller) |url=https://www.nuvoton.com/products/cloud-computing/ec/ |website=Nuvoton |access-date=19 October 2023}}</ref>
<references/>
* ITE tech. Inc.
* [[Microchip Technology]]<ref>{{cite web |title=Embedded Controllers and Keyboar Controllers |url=https://www.microchip.com/en-us/products/embedded-controllers-and-super-io/embedded-and-keyboard-controllers |website=Microchip Technology |access-date=19 October 2023}}</ref>
 
== See also ==
* [[Super I/O]]
* [[Baseboard management controller]] (BMC) - a version of the embedded controller designed for servers
* [[Low Pin Count]] (LPC)
* [[SystemSerial ManagementPeripheral BusInterface]] (SMBusSPI)
 
== References ==
{{reflist}}
 
== External links ==
Line 69 ⟶ 62:
 
[[Category:Microcontrollers]]
[[Category:Motherboard]]