Embedded controller: Difference between revisions

Content deleted Content added
m Remove invisible unicode control characters + other fixes using AWB (10269)
m TYPO (laptop should be plural)
 
(71 intermediate revisions by 35 users not shown)
Line 1:
{{Short description|Circuit handling system tasks in computers}}
{{multiple issues|
{{Copymore editfootnotes needed|date=June 2014}}
{{no footnotes|date=June 2014}}
{{Rough translation|German|Deutsch}}
{{unreliable sources|date=June 2014}}
 
}}
 
An '''embeddedEmbedded controllerController''' ('''EC''') is a [[microcontroller]] in [[computer]]s that handlehandles various system tasks. independentlyNow ofit theis usually merged with [[operatingSuper systemI/O]], especially on mobile platforms (such as laptops).
 
== Tasks ==
 
An embedded controller oftencan hashave 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)
*Receiving keystroke signals from both the keyboard and other buttons and switches (e.g., power-on button, lid switch)
*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>
*Turning the computer on and off
*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>
*Controlling the charging of the computer's [[battery]] or batteries
*Thermal measurement (CPU, GPU, Motherboard) and managementresponse including controlling[[fan thecontrol]], fans[[Dynamic frequency scaling|CPU and respondingGPU throttling]], and emergency shutdown in response to thermalrising emergenciestemperatures
*Power management, including control [[voltage regulator module]]
*Placing the actual computer system into a "sleep" mode ([[standby]]) and the reawakening of it (Resume)
*Controlling indicator [[Light-emitting diode|LED]]s (e.g. caps lock, scroll lock, num lock, battery, ac, power, wireless LAN, sleep)
*Control any [[LED]]s on the system
*Managing the [[Battery (electricity)|battery]] charger and the battery<ref name="amikey"/>
*Perform [[Cryptography|cryptographic]] functions as a [[Trusted Platform Module]]'s embedded controller and not the traditional embedded controller.
*Optionally,Allowing remote diagnostics and remediation ofover athe computer.network
*Performing software-requested CPU reset<ref name="ps2kbc"/>
*Controlling the [[watchdog timer]]<ref name="amikey"/>
*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 {{abbr|OS|Operating system}}) of an ACPI Event
 
TheAs a core system component, the embedded controller is always on when power is supplied to the mainboard. (fromTo communicate with the batterymain computer system, externalseveral forms of communication can be adapterused, orincluding +5VSB[[Advanced fromConfiguration aand powerPower supplyInterface|ACPI]], unit[[SMBus]], or [[Shared memory (interprocess communication)|shared memory]].
 
The embedded controller has its own [[Random-access memory|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.
The actual computer system can communicate with the embedded controller. For one of the following forms of communication is often used:
*[[Advanced Configuration and Power Interface]]
*[[SMBus]]
*[[Shared memory]]
 
TheAn nameembedded 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: I/O [[port]]s 0x62 and 0x66.
== Software ==
 
== Ergonomics ==
The Embedded Controller has its own [[RAM]] and almost always its own [[flash ROM]] on which the executable [[software]] is stored. This software is depending on the [[manufacturer]] and often named differently:
 
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.
*"[[firmware]]", "EC Firmware" or "Embedded Controller Firmware"
*"EC [[BIOS]]" or "Embedded Controller BIOS"
*"Micro software"
*"Keyboard BIOS", "Keyboard Controller BIOS" or "KBC BIOS"
 
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.
Many BIOS updates also package updates to the embedded controller firmware.
 
InTo caseschange wherethe therefan iscontrol nopolicy, separateupdates firmware for BIOS and the embedded controller,to the embedded controller's firmware would be inside theare BIOSusually ROMnecessary.
 
== NameCommon 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>
* 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>
 
== SoftwareSee also ==
The name "Keyboard Controller BIOS" 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: I/O [[port]]s 0x62 and 0x66.
* [[Super I/O]]
* [[Low Pin Count]] (LPC)
* [[Serial Peripheral Interface]] (SPI)
 
== System architecturesReferences ==
{{reflist}}
 
Common microcontroller architectures for embedded controllers are:
*[[Hitachi H8]]
*[[National Semiconductor]] CompactRisc16A ("CR16A") (eg, the National Semiconductor PC87570 Embedded Controller)
*[[MCS-51]] microcontroller
 
== Known embedded controller models ==
 
*[[National Semiconductor]] PC87570
**shared access of host (real CPU) and controller on common [[flash memory]]
*SMSC LPC47N253
**used [[MCS-51]] architecture
*EnE KB3886
*EnE KB3910 "EnE 910"
 
== Ergonomics ==
 
Although the Embedded Controller is very "deep" in the system, because of the control of the [[cooling]], it is for the user, important nonetheless. Often produce notebooks (even with power saving technology) as much waste heat that the controller based on the temperature decides to turn on the fan. The fan is not simply connected, but for a short time "turned up" and then at a lower speed left until a desired temperature was reached. This can for ergonomic work be very uncomfortable, especially if this occurs regularly and the fan - particularly in quiet rooms - is clearly audible.
 
If so, a change of control: The fan will no longer be "turned up" and the speed remains - at moderate temperatures - very low. In this case, it is likely that the resulting flow of air no longer turbulent but laminar and the fan therefore is hardly audible. Is often the cooling performance of such a modified system almost as good as that of the original system. But is it not, take a ventilation process until the target temperature was reached, longer.
 
To implement such a modification, a change in the embedded controller firmware is usually necessary. Sometimes a change in the ranges ACPI DSDT from (namely, when the fan control not by the embedded controller, but by the ACPI interpreter is carried out of the system).
 
== See also ==
* [[Baseboard management controller]] - a version of the embedded controller designed for servers
 
== External links ==
Line 75 ⟶ 61:
*[http://www.coreboot.org/Embedded_controller coreboot: List of embedded controllers as they are used in laptops]
 
[[Category:Microcontrollers]]
{{Uncategorized|date=June 2014}}
[[Category:Motherboard]]
 
[[de:Embedded Controller]]