Embedded controller: Difference between revisions

Content deleted Content added
m categorization/tagging using AWB
m TYPO (laptop should be plural)
 
(78 intermediate revisions by 36 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 '''Embedded Controller''' ('''EC''') is a special [[microcontroller]] in [[notebookcomputer]]s referredthat to thehandles various controlsystem tasks. independentlyNow ofit theis usually merged with [[operatingSuper systemI/O]], especially on mobile platforms (such takesas overlaptops).
 
== Tasks ==
 
An embedded controller typicallycan 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 notebook 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>
*On and off of the actual computer system
*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>
*[[Charge control]] of the [[batteries]]
*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
*Measuring the temperature
*Power management, including control [[voltage regulator module]]
*Control of the [[fan]] and other cooling
*Controlling indicator [[Light-emitting diode|LED]]s (e.g. caps lock, scroll lock, num lock, battery, ac, power, wireless LAN, sleep)
*Placing the actual computer system into a "sleep" mode ([[standby]]) and the reawakening of it (Resume)
*Managing the [[Battery (electricity)|battery]] charger and the battery<ref name="amikey"/>
*Control any [[LED]]s on the system
*Allowing remote diagnostics and remediation over the 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, several forms of communication can be used, including [[Advanced Configuration and Power Interface|ACPI]], [[SMBus]], or external[[Shared adaptermemory (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:
*[[ACPI Embedded Controller]]
*[[SMBus]]
*[[Shared Memory]]
 
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.
== Software ==
 
== Ergonomics ==
The Embedded Controller has its own [[RAM]] and almost always [[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 contain, in addition to updating the actual BIOS software also updates the embedded controller firmware.
 
To change the fan control policy, updates to the embedded controller's firmware are usually necessary.
In cases where there is no separate each firmware for BIOS and Embedded Controller, Embedded Controller has the likely together with the actual [[CPU]] shared access to the single [[flash memory]] of the system. This common access often means the form of communication [[shared memory]].
 
== Name ==
 
The name "Keyboard Controller BIOS" comes from the fact that the embedded controller is almost always the task of the keyboard controller takes over the notebook keyboard. Also seen historically that has evolved to the Embedded Controller, which only the earlier keyboard controller was. Even today, when a ACPI embedded controller is communicating the same way ([[port]] 0x62 and 0x66 port) is used, as it was customary for communications with the keyboard controller.
 
== System architectures ==
 
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 ==
 
== Common Brands ==
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.
* [[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 ==
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.
* [[Super I/O]]
* [[Low Pin Count]] (LPC)
* [[Serial Peripheral Interface]] (SPI)
 
== References ==
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).
{{reflist}}
 
== External links ==
Line 69 ⟶ 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]]