Embedded controller: Difference between revisions

Content deleted Content added
Dthomsen8 (talk | contribs)
m System architectures: clean up, typo(s) fixed: eg, → e.g., using AWB
major copy-editing and rewriting
Line 1:
{{multiple issues|
{{Copy edit|date=June 2014}}
{{no footnotes|date=June 2014}}
{{Rough translation|German|Deutsch}}
{{unreliable sources|date=June 2014}}
}}
 
An '''embedded controller''' ('''EC''') is a [[microcontroller]] in [[computer]]s that handlehandles various tasks independently of the [[operating system]].
 
== Tasks ==
 
An embedded controller often has the following tasks:
*Receiving keystroke signals from both the keyboard and other buttons and switches (e.g., power-on button, laptop lid switch)
*Turning the computer on and off
*Controlling the charging of the computer's [[battery]] or batteries
*Thermal measurement and management, including controllingfan the fans and responding to thermal emergenciescontrol
*Placing the actual computer system into a "sleep" mode ([[standby]]) andor theresuming reawakeningfrom of it (Resume)standby
*ControlControlling anyindicator [[LED]]s on the system
*PerformPerforming [[Cryptography|cryptographic]] functions as a [[Trusted Platform Module]]'s embedded controller and not the traditional embedded controller.
*Optionally,Allowing remote diagnostics and remediation of a computer.debugging
 
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 adapterforms of communication can be used, orincluding +5VSB[[Advanced fromConfiguration aand powerPower Interface|ACPI]], [[SMBus]], or [[Shared supplymemory|shared unit)memory]].
 
The embedded controller has its own [[RAM]], independent of that used by the main computer system, and almost always 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 ==
 
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:
 
*"[[firmware]]", "EC Firmware" or "Embedded Controller Firmware"
*"EC [[BIOS]]" or "Embedded Controller BIOS"
*"Micro software"
*"Keyboard BIOS", "Keyboard Controller BIOS" or "KBC BIOS"
 
Many BIOS updates also package updates to the embedded controller firmware.
 
In cases where there is no separate firmware for BIOS and the embedded controller, the embedded controller's firmware would be inside the BIOS ROM.
 
== Name ==
 
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.
 
== System architectures ==
 
Common microcontroller architectures for embedded controllers are:
*[[Hitachi H8]]
*[[National Semiconductor]] CompactRisc16A ("CR16A") (e.g., 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 Embeddedembedded Controllercontroller is very "deep" in the system, becauseit ofis theimportant control ofto the [[cooling]],user because it isperforms forfunctions thesuch user,as importantfan nonetheless.control Oftenand producethermal notebooksmanagement. (evenComputer withsystems powersuch savingas technology)laptops asoften muchproduce wastelarge amounts of heat thatwhich themust controllerbe baseddissipated. onThis theis temperaturetypically decidesdone by activating a fan to turnblow onair over the fan.components Thethat are producing heat; the fan is not simply connectedturned on or off, but is driven at high speed by the embedded controller for a short time "turned up" and then left running at a lowerlow speed left until a desiredthe temperature washas reacheddecreased sufficiently. ThisSuch a control scheme can forbe uncomfortable from an ergonomic workpoint beof veryview, uncomfortableas the change in fan speed is noticeable to the user, especially if this occurs regularly and if the fan - particularly in quiet rooms - is clearly audible.
 
IfTo soprevent this, asome changeembedded ofcontrollers control:are Thedesigned fanto willrun nothe longerfans beat "turneda up" and theconstant speed remainsover -a atlarger moderaterange of temperatures -and verywill low.only Inincrease thisfan case,speed itwhen the system is likelyclose thatto theoverheating. resultingIn flowthis ofcase, airthe noergonomics longerof turbulentthe butsystem laminarare andimproved because the fan therefore is hardlyquieter, audible.as Isit oftenis thecontrolled coolingto performancerotate of suchat a modifiedlower systemspeed almostand asdoes goodnot change speed as thatoften. ofHowever, when the originaltemperature system.does Butcross isthe itcontroller's notthreshold, it will take amuch ventilationlonger processto untilreduce the target temperature wasto reached,safe longerlevels.
 
To implementchange suchthe afan modificationcontrol policy, aupdates change into the embedded controller's firmware isare usually necessary. SometimesIn asome change in the ranges ACPI DSDT from (namelysystems, when the fan control is not provided by the embedded controller, but is instead done by thea higher-level component such as an ACPI interpretercontroller. isIn carriedthis outcase, changing the behaviour of the fan system) can be done by the system administrator through ACPI configuration without changing any firmware.
 
== See also ==
Line 76 ⟶ 40:
 
{{Uncategorized|date=June 2014}}
 
[[de:Embedded Controller]]